<?php
namespace app\store\model\store\shop;
use app\common\model\store\shop\Clerk as ClerkModel;
class Clerk extends ClerkModel
{
const FORM_SCENE_ADD = 'add';
const FORM_SCENE_EDIT = 'edit';
public function getList($status = -1, $shop_id = 0, $search = '')
{
$status > -1 && $this->where('status', '=', (int)$status);
$shop_id > 0 && $this->where('shop_id', '=', (int)$shop_id);
!empty($search) && $this->where('real_name|mobile', 'like', "%{$search}%");
return $this->with(['user', 'shop'])
->where('is_delete', '=', '0')
->order(['create_time' => 'desc'])
->paginate(15, false, [
'query' => \request()->request()
]);
}
public function add($data)
{
if (!$this->validateForm($data, self::FORM_SCENE_ADD)) {
return false;
}
$data['wxapp_id'] = self::$wxapp_id;
return $this->allowField(true)->save($data);
}
public function edit($data)
{
if (!$this->validateForm($data, self::FORM_SCENE_EDIT)) {
return false;
}
return $this->allowField(true)->save($data) !== false;
}
public function setDelete()
{
return $this->save(['is_delete' => 1]);
}
private function validateForm($data, $scene = self::FORM_SCENE_ADD)
{
if ($scene === self::FORM_SCENE_ADD) {
if (!isset($data['user_id']) || empty($data['user_id'])) {
$this->error = '请选择用户';
return false;
}
if (self::detail(['user_id' => $data['user_id'], 'is_delete' => 0])) {
$this->error = '该用户已经是店员,无需重复添加';
return false;
}
}
return true;
}
}