Browse Source

客服全接口

master
wanghongjun 3 years ago
parent
commit
1dd8d6d86f
  1. 95
      app/controller/CustomerService.php
  2. 18
      app/model/CustomerService.php
  3. 35
      app/validate/CustomerService.php
  4. 5
      route/app.php

95
app/controller/CustomerService.php

@ -0,0 +1,95 @@
<?php
declare (strict_types = 1);
namespace app\controller;
use app\BaseController;
use app\Model\CustomerService as CustomerServiceModel;
use app\validate\CustomerService as CustomerServiceValidate;
use think\exception\ValidateException;
use think\facade\Request;
class CustomerService extends BaseController
{
/**
* 显示资源列表
*/
public function list()
{
$request = Request::param();
$limit = $request['limit'] ?? 10;
$where = [];
$CustomerServiceModel = new CustomerServiceModel();
# 查询用户列表
$field = 'id,name,wx_number';
$res = $CustomerServiceModel->field($field)->where($where)->order('id desc')->paginate($limit);
$list = $res->items();
$total = $res->total();
return $this->renderSuccess('数据返回成功', ['list' => $list, 'total' => $total]);
}
/**
* 保存新建的资源
*/
public function save()
{
$param = Request::param();
try {
$id = $param['id'] ?? 0;
if ($id) {
validate(CustomerServiceValidate::class)->scene('edit')->check($param);
$CustomerServiceModel = CustomerServiceModel::find($id);
$CustomerServiceModel->name = $param['name'];
$CustomerServiceModel->wx_number = $param['wx_number'];
$CustomerServiceModel->update_time = date("Y-m-d H:i:s",time());
$CustomerServiceModel->save();
} else {
validate(CustomerServiceValidate::class)->scene('add')->check($param);
$CustomerService = new CustomerServiceModel();
$CustomerService->save([
'name' => $param['name'],
'wx_number' => $param['wx_number'],
'create_time' => date("Y-m-d H:i:s",time())
]);
}
return $this->renderSuccess($id ? '编辑成功' : '添加成功');
} catch (ValidateException $validateException) {
return $this->renderError($validateException->getMessage());
} catch (\Exception $e) {
return $this->renderError('操作失败');
}
}
/**
* 删除指定资源
*/
public function delete()
{
$param = Request::param();
try {
validate(CustomerServiceValidate::class)->scene('del')->check($param);
$result = CustomerServiceModel::destroy($param['id']);
if (!$result) throw new ValidateException('删除失败');
return $this->renderSuccess('已删除');
} catch (ValidateException $validateException) {
return $this->renderError($validateException->getMessage());
} catch (\Exception $e) {
return $this->renderError('操作失败');
}
}
}

18
app/model/CustomerService.php

@ -0,0 +1,18 @@
<?php
declare (strict_types = 1);
namespace app\model;
use think\Model;
use think\model\concern\SoftDelete;
/**
* @mixin \think\Model
*/
class CustomerService extends Model
{
use SoftDelete;
protected $deleteTime = 'delete_time';
}

35
app/validate/CustomerService.php

@ -0,0 +1,35 @@
<?php
declare (strict_types = 1);
namespace app\validate;
use think\Validate;
class CustomerService extends Validate
{
/**
* 定义验证规则
* 格式:'字段名' => ['规则1','规则2'...]
*
* @var array
*/
protected $rule = [
'name|客服名称' => 'require',
'wx_number|微信号码' => 'require|min:6|max:20|alphaDash',
'id|客服id' => 'require|number',
];
/**
* 定义错误信息
* 格式:'字段名.规则名' => '错误信息'
*
* @var array
*/
protected $message = [];
protected $scene = [
'add' => ['name','wx_number'],
'edit' => ['name','wx_number','id'],
'del' => ['id']
];
}

5
route/app.php

@ -87,6 +87,11 @@ Route::group('adminZoneManage',function() {
Route::post('goodsParamDel','adminZoneManage/goodsParamDel')->middleware(CheckAdmin::class)->allowCrossDomain(); Route::post('goodsParamDel','adminZoneManage/goodsParamDel')->middleware(CheckAdmin::class)->allowCrossDomain();
}); });
Route::group('customerService',function() {
Route::post('list','customerService/list')->middleware(CheckAdmin::class)->allowCrossDomain();
Route::post('save','customerService/save')->middleware(CheckAdmin::class)->allowCrossDomain();
Route::post('delete','customerService/delete')->middleware(CheckAdmin::class)->allowCrossDomain();
});
# 支付(待开发) # 支付(待开发)
//Route::group('pay',function (){ //Route::group('pay',function (){
// Route::post('pay','pay/pay'); // Route::post('pay','pay/pay');

Loading…
Cancel
Save