| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- <?php
- namespace addons\ReservationService\backend\controllers;
- use addons\ReservationService\common\enums\ReservationServiceEnum;
- use addons\ReservationService\common\models\ReservationServiceUser;
- use addons\ReservationService\common\services\BackendService;
- use addons\ReservationService\common\services\UserService;
- use addons\Store\common\models\Store;
- use common\enums\ApiStatusEnum;
- use common\enums\StatusEnum;
- use common\models\user\User;
- use yii\helpers\Json;
- /**
- * 用户控制器
- *
- * Class UserController
- * @package addons\ReservationService\backend\controllers
- */
- class UserController extends BaseController
- {
- public $enableCsrfValidation = false;
- /**
- * 首页
- *
- * @return string
- */
- public function actionIndex()
- {
- $retuest = \Yii::$app->request;
- if ($retuest->isAjax) {
- if ($retuest->isGet) {
- $params = \Yii::$app->request->get();
- $params['check_status'] = StatusEnum::ENABLED;
- $list = BackendService::getUserList($this->mall_id, $params);
- $list['custom_text'] = BackendService::getCustomText($this->mall_id);
- if ($list == false) {
- return $this->error(BackendService::getStaticError());
- } else {
- $this->success('数据请求成功', $list);
- }
- }
- }
- return $this->render($this->action->id);
- }
- public function actionGetLevels()
- {
- if (\Yii::$app->request->isAjax) {
- if (\Yii::$app->request->isGet) {
- return $this->success('获取成功', BackendService::getLevels($this->mall_id));
- }
- }
- }
- public function actionSearchUser()
- {
- if (\Yii::$app->request->isAjax) {
- $keyword = \Yii::$app->request->get('keyword', '');
- $list['list'] = User::searchUser(['keyword' => $keyword, 'mall_id' => $this->mall_id, 'no_inviter' => 1]);
- return $this->success('操作成功', $list);
- }
- return $this->error();
- }
- public function actionEdit()
- {
- $request = \Yii::$app->request;
- $id = $request->get('id', 0);
- try {
- if ($request->isAjax) {
- // 查看等级详情
- if ($request->isGet) {
- $data = [];
- if (!empty($id)) {
- // 获取等级信息
- $model = ReservationServiceUser::getOne([['id' => $id, 'mall_id' => $this->mall_id]], true, []);
- $data['data'] = $model;
- }
- return $this->success('操作成功', $data);
- } elseif ($request->isPost) {
- $params = \Yii::$app->request->post()['form'];
- $res = \Yii::$app->services->validate->validate($params, [
- [['idcard', 'level', 'user_id','age','gender'], 'required'],
- [['level', 'user_id', 'id', 'mobile'], 'integer'],
- [['idcard_back', 'idcard_front', 'address', 'longitude', 'latitude', 'name'], 'string'],
- [['qualification_certificate','avatar'],'safe']
- ]);
- if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
- $params['mall_id'] = $this->mall_id;
- $params['check_status'] = ReservationServiceEnum::CHECK_ADOPT;
- if(empty($params['qualification_certificate'])){
- $params['qualification_certificate'] = [];
- }
- $params['qualification_certificate'] = json_encode($params['qualification_certificate'], JSON_UNESCAPED_UNICODE);
- $params['check_status'] = 1;
- $res = ReservationServiceUser::setData($params);
- if ($res === false) throw new \Exception(ReservationServiceUser::getStaticCodeError()['error']);
- return $this->success('操作成功');
- }
- }
- } catch (\Exception $e) {
- return $this->error($e->getMessage(), []);
- }
- return $this->render($this->action->id);
- }
- /**
- * 技师详情
- * @return mixed|string|null
- */
- public function actionDetail()
- {
- if (\Yii::$app->request->isAjax && \Yii::$app->request->isGet) {
- $params = \Yii::$app->request->get();
- $res = \Yii::$app->services->validate->validate($params, [
- [['id'], 'required'],
- [['id'], 'integer'],
- ]);
- if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
- try {
- $ret = (new UserService())->detail($this->mall_id, $params['id']);
- if (!empty($ret)) {
- $ret['settle']['store'] = empty($ret['store_id']) ? ['store_name' => '暂未绑定门店'] : Store::findOne(['id' => $ret['store_id']])->toArray();
- $ret['qualification_certificate'] = Json::decode($ret['qualification_certificate']);
- $ret['idcard_images'] = [
- $ret['idcard_front'],
- $ret['idcard_back'],
- ];
- }
- $ret['custom_text'] = BackendService::getCustomText($this->mall_id);
- return is_string($ret) ? $this->error($ret) : $this->success('获取成功', $ret, ApiStatusEnum::CODE_SUCCESS, JSON_BIGINT_AS_STRING);
- } catch (\Exception $e) {
- return $this->error($e->getMessage());
- }
- }
- return $this->render($this->action->id);
- }
- /**
- * 技师数据统计
- * @return mixed|null
- */
- public function actionStatistics()
- {
- $data = \Yii::$app->request->get();
- $rules = [
- [['id'], 'integer'],
- ];
- $res = \Yii::$app->services->validate->validate($data, $rules);
- if (!$res) return $this->error(\Yii::$app->services->validate->getErrorMessage());
- $ret = (new UserService())->statisticsByStaff($this->mall_id, $data['id']);
- return is_string($ret) ? $this->error($ret) : $this->success('获取成功', $ret);
- }
- /**
- * 操作
- * @return mixed|void|null
- */
- public function actionHandle()
- {
- $request = \Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isGet) {
- $params = \Yii::$app->request->get();
- // 检查提交的参数
- $res = \Yii::$app->services->validate->validate($params, [
- [['id'], 'required'],
- [['id', 'status', 'level'], 'integer'],
- ]);
- if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
- $params['mall_id'] = $this->mall_id;
- $res = ReservationServiceUser::setData($params);
- if (!$res) return $this->error('修改失败:msg=' . ReservationServiceUser::getStaticError());
- return $this->success('处理成功');
- }
- }
- }
- }
|