251 lines
10 KiB
PHP
251 lines
10 KiB
PHP
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: lock
|
|
* Date: 2020/11/10
|
|
* Time: 6:24 PM
|
|
*/
|
|
|
|
namespace app\index\controller;
|
|
|
|
|
|
use app\index\model\EmailTask;
|
|
use app\index\model\Task;
|
|
use app\index\model\TaskContentRelation;
|
|
|
|
class MessageTask extends Common
|
|
{
|
|
/**
|
|
* lists
|
|
* @return \think\response\Json
|
|
*/
|
|
public function lists()
|
|
{
|
|
if(self::$result[self::$error_code_name] == 0)
|
|
{
|
|
$task_model = new Task();
|
|
$field_arr = array(
|
|
array('field_name' => $task_model::USER_ID,'rule' => 'number'),
|
|
array('field_name' => $task_model::TITLE,'rule' => ''),
|
|
array('field_name' => $task_model::TYPE,'rule' => 'number'),
|
|
array('field_name' => $task_model::STATUS,'rule' => 'number'),
|
|
array('field_name' => 'page','rule' => 'require|number'),
|
|
array('field_name' => 'pageSize','rule' => 'require|number')
|
|
);
|
|
$check_arr = $this->checkHave($field_arr);
|
|
if($check_arr[self::$error_code_name] == 0)
|
|
{
|
|
$where = self::returnWhere($field_arr,$check_arr[self::$data_name]);
|
|
if (array_key_exists($task_model::TITLE,$check_arr[self::$data_name]))
|
|
{
|
|
$where[$task_model::TITLE] = array('like','%'.$check_arr[self::$data_name][$task_model::TITLE].'%');
|
|
}
|
|
unset($where['page']);
|
|
unset($where['pageSize']);
|
|
unset($where[$task_model::TITLE]);
|
|
$lists = $task_model->modelLists($task_model,$check_arr[self::$data_name]['page'],$check_arr[self::$data_name]['pageSize'],$where);
|
|
if (!empty($lists))
|
|
{
|
|
if (array_key_exists($task_model::STATUS,$check_arr[self::$data_name]))
|
|
{
|
|
if ($check_arr[self::$data_name][$task_model::STATUS] == 0)
|
|
{
|
|
$data = array();
|
|
$data[$task_model::STATUS] = 1;
|
|
$task_model->updateByWhere($task_model,$where,$data);
|
|
}
|
|
}
|
|
}
|
|
self::$result['lists'] = $lists;
|
|
}else{
|
|
if($check_arr[self::$error_code_name] == 1)
|
|
{
|
|
self::$result[self::$error_code_name] = 10004;
|
|
self::$result[self::$error_message] = $check_arr[self::$error_message];
|
|
}else{
|
|
self::$result[self::$error_code_name] = 10001;
|
|
}
|
|
}
|
|
}
|
|
return json(self::$result);
|
|
}
|
|
|
|
/**
|
|
* addData
|
|
* @return \think\response\Json
|
|
*/
|
|
public function addData()
|
|
{
|
|
if(self::$result[self::$error_code_name] == 0)
|
|
{
|
|
$task_model = new Task();
|
|
$field_arr = array(
|
|
array('field_name' => $task_model::TITLE,'rule' => ''),
|
|
array('field_name' => $task_model::USER_ID,'rule' => 'require'),
|
|
array('field_name' => $task_model::TYPE,'rule' => 'require'),
|
|
array('field_name' => $task_model::CONTENT,'rule' => 'require'),
|
|
array('field_name' => $task_model::STATUS,'rule' => ''),
|
|
);
|
|
$check_arr = $this->checkHave($field_arr);
|
|
if($check_arr[self::$error_code_name] == 0)
|
|
{
|
|
$add_rs = $task_model->addInsertData($task_model,$check_arr[self::$data_name]);
|
|
if(!$add_rs)
|
|
{
|
|
self::$result[self::$error_code_name] = 10002;
|
|
}else{
|
|
self::$result[self::$insert_id] = $add_rs;
|
|
}
|
|
}else{
|
|
if($check_arr[self::$error_code_name] == 1)
|
|
{
|
|
self::$result[self::$error_code_name] = 10004;
|
|
self::$result[self::$error_message] = $check_arr[self::$error_message];
|
|
}else{
|
|
self::$result[self::$error_code_name] = 10001;
|
|
}
|
|
}
|
|
}
|
|
return json(self::$result);
|
|
}
|
|
|
|
/**
|
|
* @return \think\response\Json
|
|
*/
|
|
public function updateData()
|
|
{
|
|
if(self::$result[self::$error_code_name] == 0)
|
|
{
|
|
$task_model = new Task();
|
|
$field_arr = array(
|
|
array('field_name' => $task_model::AUTO_ID,'rule' => 'require|number'),
|
|
array('field_name' => $task_model::USER_ID,'rule' => ''),
|
|
array('field_name' => $task_model::TITLE,'rule' => ''),
|
|
array('field_name' => $task_model::TYPE,'rule' => ''),
|
|
array('field_name' => $task_model::CONTENT,'rule' => ''),
|
|
array('field_name' => $task_model::STATUS,'rule' => ''),
|
|
);
|
|
$check_arr = $this->checkHave($field_arr);
|
|
if($check_arr[self::$error_code_name] == 0)
|
|
{
|
|
$where = array();
|
|
$where[$task_model::AUTO_ID] = $check_arr[self::$data_name][$task_model::AUTO_ID];
|
|
$info = $task_model->getOneById($task_model,$where);
|
|
$data = $check_arr[self::$data_name];
|
|
unset($data[$task_model::AUTO_ID]);
|
|
$update_rs = $task_model->updateByWhere($task_model,$where,$data);
|
|
if(!$update_rs)
|
|
{
|
|
self::$result[self::$error_code_name] = 10002;
|
|
}else
|
|
{
|
|
if (array_key_exists($task_model::STATUS,$check_arr[self::$data_name]))
|
|
{
|
|
if ($check_arr[self::$data_name][$task_model::STATUS] == 4)
|
|
{
|
|
if (in_array($info[$task_model::TYPE],[6,7]))
|
|
{
|
|
$content_arr = json_decode($info[$task_model::CONTENT],true);
|
|
$task_content_relation_model = new TaskContentRelation();
|
|
$task_content_relation_where = array();
|
|
$task_content_relation_where[$task_content_relation_model::TASK_ID] = $info[$task_model::AUTO_ID];
|
|
$task_content_relation_list = $task_content_relation_model->modelAllLists($task_content_relation_model,$task_content_relation_where);
|
|
$content_id_arr = array();
|
|
if (!empty($task_content_relation_list))
|
|
{
|
|
foreach ($task_content_relation_list as $task_each_v)
|
|
{
|
|
$content_id_arr[] = $task_each_v[$task_content_relation_model::CONTENT_ID];
|
|
}
|
|
$email_task_model = new EmailTask();
|
|
$email_task_data = array();
|
|
$email_task_data[$email_task_model::CONTENT] = json_encode($content_id_arr);
|
|
$email_task_data[$email_task_model::EMAIL] = $content_arr['email'];
|
|
$email_task_model->addMoreData($email_task_model,$email_task_data);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}else{
|
|
if($check_arr[self::$error_code_name] == 1)
|
|
{
|
|
self::$result[self::$error_code_name] = 10004;
|
|
self::$result[self::$error_message] = $check_arr[self::$error_message];
|
|
}else{
|
|
self::$result[self::$error_code_name] = 10001;
|
|
}
|
|
}
|
|
}
|
|
return json(self::$result);
|
|
}
|
|
|
|
/**
|
|
* getOne
|
|
* @return \think\response\Json
|
|
*/
|
|
public function getOne()
|
|
{
|
|
if(self::$result[self::$error_code_name] == 0)
|
|
{
|
|
$task_model = new Task();
|
|
$field_arr = array(
|
|
array('field_name' => $task_model::AUTO_ID,'rule' => 'require|number')
|
|
);
|
|
$check_arr = $this->checkHave($field_arr);
|
|
if($check_arr[self::$error_code_name] == 0)
|
|
{
|
|
$where = array();
|
|
if(array_key_exists(self::$data_name,$check_arr))
|
|
{
|
|
$where = self::returnWhere($field_arr,$check_arr[self::$data_name]);
|
|
}
|
|
$info = $task_model->getOneById($task_model,$where);
|
|
self::$result['info'] = $info;
|
|
}else{
|
|
if($check_arr[self::$error_code_name] == 1)
|
|
{
|
|
self::$result[self::$error_code_name] = 10004;
|
|
self::$result[self::$error_message] = $check_arr[self::$error_message];
|
|
}else{
|
|
self::$result[self::$error_code_name] = 10001;
|
|
}
|
|
}
|
|
}
|
|
return json(self::$result);
|
|
}
|
|
|
|
/**
|
|
* deleteOne
|
|
* @return \think\response\Json
|
|
*/
|
|
public function deleteOne()
|
|
{
|
|
if(self::$result[self::$error_code_name] == 0)
|
|
{
|
|
$task_model = new Task();
|
|
$field_arr = array(
|
|
array('field_name' => $task_model::AUTO_ID,'rule' => 'require')
|
|
);
|
|
$check_arr = $this->checkHave($field_arr);
|
|
if($check_arr[self::$error_code_name] == 0)
|
|
{
|
|
$where = array();
|
|
$where[$task_model::AUTO_ID] = array('IN',explode(',',$check_arr[self::$data_name][$task_model::AUTO_ID]));
|
|
$delete_rs = $task_model->deleteByWhere($task_model,$where);
|
|
if(!$delete_rs){
|
|
self::$result[self::$error_code_name] = 10001;
|
|
}
|
|
}else{
|
|
if($check_arr[self::$error_code_name] == 1)
|
|
{
|
|
self::$result[self::$error_code_name] = 10004;
|
|
self::$result[self::$error_message] = $check_arr[self::$error_message];
|
|
}else{
|
|
self::$result[self::$error_code_name] = 10001;
|
|
}
|
|
}
|
|
}
|
|
return json(self::$result);
|
|
}
|
|
} |