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

179 lines
4.9 KiB
PHP

<?php
namespace app\admin\controller\Customer;
use app\BaseController;
use app\common\model\Customer\Customer as ModelCustomer;
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;
class Customer extends BaseController
{
/**
* 获取客户列表接口
*
* @param Request $request
* @return array
* @date 2023-06-27
* @author xjh
* @since 1.0.0
*/
public function getCustomerList(Request $request): array
{
$con = Tool::getOptionalQuery(
['customer_name', 'LIKE'],
['customer_phone', 'LIKE'],
['customer_email', 'LIKE'],
['customer_sex', '='],
['customer_blacklist', '='],
['customer_create_time', 'BETWEEN', 'date_time'],
);
$query = ModelCustomer::where($con)
->field([
'customer_id',
'customer_guid',
'customer_name',
'customer_phone',
'customer_email',
'customer_sex',
'customer_blacklist',
'customer_create_time',
])
->order('customer_update_time', 'desc');
return msg("获取客户列表成功!", $query);
}
/**
* 添加客户接口
*
* @param Request $request
* @return array
* @date 2023-06-27
* @author xjh
* @since 1.0.0
*/
public function addCustomer(Request $request): array
{
$params = $request->param();
$this->validate($params, [
'customer_name|客户昵称' => 'require',
'customer_email|客户邮箱' => 'require|email',
'customer_password|客户密码' => 'require|alphaNum|min:8'
]);
ModelCustomer::create($params, [
'customer_name',
'customer_password',
'customer_phone',
'customer_email',
'customer_sex',
'customer_blacklist',
'customer_guid',
'customer_create_user_guid',
'customer_update_user_guid'
]);
return msg('添加成功!');
}
/**
* 编辑客户接口
*
* @param Request $request
* @return array
* @date 2023-06-27
* @author xjh
* @since 1.0.0
*/
public function editCustomer(Request $request): array
{
$params = $request->param();
$this->validate($params, [
'customer_guid|客户guid' => 'require',
]);
$model = ModelCustomer::where('customer_guid', $params['customer_guid'])->find();
if (!$model)
throwErrorMsg("该客户不存在", 1);
$model->allowField([
'customer_name',
'customer_phone',
'customer_email',
'customer_sex',
'customer_blacklist',
'customer_update_user_guid'
])->save($params);
return msg('编辑成功!');
}
/**
* 删除客户接口
*
* @param Request $request
* @return array
* @date 2023-06-27
* @author xjh
* @since 1.0.0
*/
public function deleteCustomer(Request $request): array
{
$params = $request->param();
$this->validate($params, [
'customer_guid|客户guid' => 'require',
]);
$customer = ModelCustomer::where([
'customer_guid' => explode(',', $params['customer_guid'])
])->select();
$customer->delete();
return msg('删除成功!');
}
/**
* 修改密码接口
*
* @param Request $request
* @return array
* @date 2023-06-27
* @author xjh
* @since 1.0.0
*/
public function editPassword(Request $request): array
{
$params = $request->param();
$this->validate($params, [
'customer_guid|客户guid' => 'require',
'customer_password|客户密码' => 'require|alphaNum|min:8'
]);
$model = ModelCustomer::where('customer_guid', $params['customer_guid'])->find();
if (!$model)
throwErrorMsg("该客户不存在", 1);
$model->allowField(['customer_password'])->save($params);
return msg('编辑成功!');
}
/**
* 获取客户下拉选项数据接口
*
* @param Request $request
* @return array
* @date 2023-06-28
* @author xjh
* @since 1.0.0
*/
public function getCustomerOptionList(Request $request): array
{
$select = ModelCustomer::scope('blacklist')
->field(['customer_guid', 'customer_name', 'customer_email'])
->append(['customer_show_text'])
->order('customer_update_time', 'desc')
->select();
return msg(0, '获取客户下拉选项数据成功!', ['data' => $select]);
}
}