drag-create-api/app/admin/controller/Customer/CustomerMessage.php

108 lines
3.4 KiB
PHP

<?php
namespace app\admin\controller\Customer;
use app\BaseController;
use app\common\model\Customer\CustomerMessage as ModelCustomerMessage;
use app\Request;
use think\Validate;
use think\exception\ValidateException;
use think\facade\Filesystem;
use app\common\arw\adjfut\src\Excel;
use app\common\arw\adjfut\src\UploadFile;
use app\common\exception\Tool;
use think\facade\Db;
use think\facade\Env;
use app\admin\logic\Customer\CustomerMessage as LogicCustomerMessage;
class CustomerMessage extends BaseController
{
/**
* 获取客户消息列表接口
*
* @param Request $request
* @return array
* @date 2023-08-01
* @author xjh
* @since 1.0.0
*/
public function getCustomerMessageList(Request $request, $isExport = false): array
{
$con = Tool::getOptionalQuery(
['customer_message.customer_message_title', 'LIKE'],
['customer_message.customer_message_content', 'LIKE'],
['customer_message.customer_message_postscript', 'LIKE'],
['customer_message.customer_message_reading_status', '='],
['customer.customer_name|customer.customer_email', 'LIKE', 'customer'],
);
$query = ModelCustomerMessage::where($con)
->field([
'customer_message.customer_message_id',
'customer_message.customer_message_guid',
'customer_message.customer_message_title',
'customer_message.customer_message_content',
'customer_message.customer_message_postscript',
'customer_message.customer_message_reading_status',
'customer_message.customer_guid',
'customer_message.customer_message_create_time',
'customer.customer_name',
'customer.customer_email',
])
->leftjoin('customer', 'customer.customer_guid = customer_message.customer_guid ')
->order('customer_message_update_time', 'desc');
return msg("获取客户消息列表成功!", $query);
}
/**
* 添加客户消息接口
*
* @param Request $request
* @return array
* @date 2023-08-01
* @author xjh
* @since 1.0.0
*/
public function addCustomerMessage(Request $request): array
{
Db::startTrans();
try {
$params = $request->param();
$this->validate($params, [
'customer_message_title|标题' => 'require',
'customer_message_content|内容' => 'require',
'customer_all|是否发送全部人' => 'require'
]);
LogicCustomerMessage::create($params);
Db::commit();
return msg('添加成功!');
} catch (\Throwable $th) {
Db::rollback();
throw $th;
}
}
/**
* 删除客户消息接口
*
* @param Request $request
* @return array
* @date 2023-08-01
* @author xjh
* @since 1.0.0
*/
public function deleteCustomerMessage(Request $request): array
{
$params = $request->param();
$this->validate($params, [
'customer_message_guid' => 'require',
]);
$customer_message = ModelCustomerMessage::where([
'customer_message_guid' => explode(',', $params['customer_message_guid'])
])->select();
$customer_message->delete();
return msg('删除成功!');
}
}