hujiao-gui/app/Http/Controllers/Crm/CustomerFieldController.php

91 lines
2.9 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace App\Http\Controllers\Crm;
use App\Http\Controllers\Controller;
use App\Models\CustomerField;
use App\Models\CustomerFieldValue;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\View;
class CustomerFieldController extends Controller
{
public function index(Request $request)
{
if ($request->ajax()){
$res = CustomerField::query()
->orderBy('sort','asc')
->paginate($request->get('limit', 30));
return $this->success('ok',$res->items(),$res->total());
}
return View::make('crm.customer_field.index');
}
public function create()
{
return View::make('crm.customer_field.create');
}
public function store(Request $request)
{
$data = $request->all(['field_label','field_key','field_type','field_option','field_value','field_tips','sort','visiable']);
//验证field_key是否重复
$has_exist = CustomerField::where('field_key',$data['field_key'])->count();
if ($has_exist){
return $this->error('字段Key'.$data['field_key'].'已存在');
}
try{
CustomerField::create($data);
return $this->success();
}catch (\Exception $exception){
Log::error('添加客户字段异常:'.$exception->getMessage());
return $this->error();
}
}
public function edit($id)
{
$model = CustomerField::findOrFail($id);
return View::make('crm.customer_field.create',compact('model'));
}
public function update(Request $request,$id)
{
$model = CustomerField::findOrFail($id);
$data = $request->all(['field_label','field_key','field_type','field_option','field_value','field_tips','sort','visiable','required']);
//验证field_key是否重复
$has_exist = CustomerField::where('field_key',$data['field_key'])->where('id','!=',$id)->count();
if ($has_exist){
return $this->error('字段Key'.$data['field_key'].'已存在');
}
try{
$model->update($data);
return $this->success();
}catch (\Exception $exception){
Log::error('更新客户字段异常:'.$exception->getMessage());
return $this->error();
}
}
public function destroy(Request $request)
{
$ids = $request->get('ids',[]);
//删除
DB::beginTransaction();
try{
CustomerField::query()->whereIn('id',$ids)->delete();
CustomerFieldValue::query()->whereIn('customer_field_id',$ids)->delete();
DB::commit();
return $this->success();
}catch (\Exception $exception){
DB::rollBack();
Log::error('删除客户字段异常:'.$exception->getMessage());
return $this->error();
}
}
}