You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wkcrm/application/work/controller/Taskcomment.php

105 lines
3.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
// +----------------------------------------------------------------------
// | Description: 任务评论及基础
// +----------------------------------------------------------------------
// | Author: yykun
// +----------------------------------------------------------------------
namespace app\work\controller;
use think\Db;
use think\Request;
use think\Hook;
use app\admin\controller\ApiCommon;
class Taskcomment extends ApiCommon
{
/**
* 用于判断权限
* @permission 无限制
* @allow 登录用户可访问
* @other 其他根据系统设置
**/
public function _initialize()
{
$action = [
'permission'=>[''],
'allow'=>['index','save','delete']
];
Hook::listen('check_auth',$action);
$request = Request::instance();
$a = strtolower($request->action());
if (!in_array($a, $action['permission'])) {
parent::_initialize();
}
}
/**
* 添加评论
*
* @return \think\response\Json
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public function save()
{
$param = $this->param;
$userId = $this->userInfo['id'];
if (empty($param['content'])) return resultArray(['error' => '缺少回复内容!']);
if (empty($param['type'])) return resultArray(['error' => '缺少回复类型:任务/日志']);
if (empty($param['type_id'])) return resultArray(['error' => '缺少回复数据ID']);
$commentModel = new \app\admin\model\Comment();
# 评论人ID
$param['user_id'] = $userId;
# 1任务2日志
$param['type'] = !empty($param['type']) && $param['type'] == 2 ? 'oa_log' : 'task';
# 任务或日志的ID取决于$param['type']的值
$param['type_id'] = $param['type_id'];
$flag = $commentModel->createData($param);
if ($flag) {
# 用户信息
$userInfo = Db::name('admin_user')->field(['realname', 'thumb_img'])->where('id', $flag['user_id'])->find();
$flag['userInfo'] = [
'user_id' => $flag['user_id'],
'realname' => $userInfo['realname'],
'thumb_img' => getFullPath($userInfo['thumb_img'])
];
# 时间格式
if (!empty($flag['create_time'])) $flag['create_time'] = date('Y-m-d H:i:s', $flag['create_time']);
return resultArray(['data' => $flag]);
} else {
return resultArray(['error' => $commentModel->getError()]);
}
}
/**
* 删除评论
* @author yykun
* @return
*/
public function delete()
{
$param = $this->param;
$commentModel = new \app\admin\model\Comment();
if (!$param['comment_id']) {
return resultArray(['error'=>'参数错误']);
}
$userInfo = $this->userInfo;
$param['create_user_id'] = $userInfo['id'];
$flag = $commentModel->delDataById($param);
if ( $flag ) {
return resultArray(['data'=>'删除成功']);
} else {
return resultArray(['error'=>$commentModel->getError()]);
}
}
}