Browse Source

用户信息接口调整

zhangxiaobin 1 year ago
parent
commit
9b4e54ae23

+ 91 - 0
application/admin/controller/CompanyStaff.php

@@ -3,6 +3,11 @@
 namespace app\admin\controller;
 
 use app\common\controller\Backend;
+use fast\Random;
+use think\Exception;
+use think\exception\PDOException;
+use think\exception\ValidateException;
+use think\Validate;
 
 /**
  * 商家员工
@@ -69,4 +74,90 @@ class CompanyStaff extends Backend
         return $this->view->fetch();
     }
 
+    /**
+     * 添加
+     */
+    public function add()
+    {
+        if ($this->request->isPost()) {
+            $params = $this->request->post("row/a");
+            $params = $this->preExcludeFields($params);
+            if (!$params) {
+                $this->error(__('Parameter %s can not be empty', ''));
+            }
+            $result = false;
+            try {
+                //是否采用模型验证
+                if ($this->modelValidate) {
+                    $name = str_replace("\\model\\", "\\validate\\", get_class($this->model));
+                    $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.add' : $name) : $this->modelValidate;
+                    $this->model->validateFailException(true)->validate($validate);
+                }
+                if (isset($params['password'])) {
+                    if (!Validate::is($params['password'], "/^[\S]{6,30}$/")) {
+                        $this->error(__("Please input correct password"));
+                    }
+                    $params['salt'] = Random::alnum();
+                    $params['password'] = md5(md5($params['password']) . $params['salt']);
+                }
+                $result = $this->model->allowField(true)->save($params);
+            } catch (ValidateException|PDOException|Exception $e) {
+                $this->error($e->getMessage());
+            }
+            if ($result == false) {
+               $this->error(__('No rows were inserted'));
+            }
+            $this->success();
+        }
+        return $this->view->fetch();
+    }
+
+    /**
+     * 编辑
+     */
+    public function edit($ids = null)
+    {
+        $row = $this->model->get($ids);
+        if (!$row) {
+            $this->error(__('No Results were found'));
+        }
+        $adminIds = $this->getDataLimitAdminIds();
+        if (is_array($adminIds)) {
+            if (!in_array($row[$this->dataLimitField], $adminIds)) {
+                $this->error(__('You have no permission'));
+            }
+        }
+        if ($this->request->isPost()) {
+            $params = $this->request->post("row/a");
+            if (!$params) {
+                $this->error(__('Parameter %s can not be empty', ''));
+            }
+            $params = $this->preExcludeFields($params);
+            $result = false;
+            try {
+                //是否采用模型验证
+                if ($this->modelValidate) {
+                    $name = str_replace("\\model\\", "\\validate\\", get_class($this->model));
+                    $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.edit' : $name) : $this->modelValidate;
+                    $row->validateFailException(true)->validate($validate);
+                }
+                if (isset($params['password'])) {
+                    if (!Validate::is($params['password'], "/^[\S]{6,30}$/")) {
+                        $this->error(__("Please input correct password"));
+                    }
+                    $params['salt'] = Random::alnum();
+                    $params['password'] = md5(md5($params['password']) . $params['salt']);
+                }
+                $result = $row->allowField(true)->save($params);
+            } catch (ValidateException|PDOException|Exception $e) {
+                $this->error($e->getMessage());
+            }
+            if ($result == false) {
+                $this->error(__('No rows were updated'));
+            }
+            $this->success();
+        }
+        $this->view->assign("row", $row);
+        return $this->view->fetch();
+    }
 }

+ 1 - 1
application/admin/view/company_staff/edit.html

@@ -33,7 +33,7 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Password')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-password" class="form-control" name="row[password]" type="text" value="">
+            <input id="c-password" class="form-control" name="row[password]" type="text" value="" placeholder="不修改密码请留空">
         </div>
     </div>
     <div class="form-group">

+ 2 - 2
application/admin/view/user/user/index.html

@@ -10,8 +10,8 @@
                         <div class="dropdown btn-group {:$auth->check('user/user/multi')?'':'hide'}">
                             <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
                             <ul class="dropdown-menu text-left" role="menu">
-                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
-                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=1"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=0"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
                             </ul>
                         </div>
                     </div>

+ 1 - 0
application/api/controller/User.php

@@ -659,6 +659,7 @@ class User extends Api
             $userCouponsWhere['endtime'] = ['gt', time()];
             $userCouponsNum = Db::name('user_coupons')->where($userCouponsWhere)->sum('remain');
             $userInfo['coupons_num'] = $userCouponsNum;
+            $userInfo['createtime'] = !empty($userInfo['createtime']) ? date('Y-m-d',$userInfo['createtime']) : '';
             $this->success('获取成功',$userInfo);
         } catch (Exception $e) {
             $this->error($e->getMessage());

+ 1 - 1
application/common/library/Auth.php

@@ -26,7 +26,7 @@ class Auth
     //默认配置
     protected $config = [];
     protected $options = [];
-    protected $allowFields = ['id', 'username', 'nickname', 'mobile', 'avatar', 'score','company_id'];
+    protected $allowFields = ['id', 'username', 'nickname', 'mobile', 'avatar', 'score','company_id','birthday','createtime'];
 
     public function __construct($options = [])
     {

+ 1 - 1
public/assets/js/backend/user/user.js

@@ -40,7 +40,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'loginip', title: __('Loginip'), formatter: Table.api.formatter.search},
                         {field: 'jointime', title: __('Jointime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
                         {field: 'joinip', title: __('Joinip'), formatter: Table.api.formatter.search},
-                        {field: 'status', title: __('Status'), formatter: Table.api.formatter.status, searchList: {normal: __('Normal'), hidden: __('Hidden')}},
+                        {field: 'status', title: __('Status'), formatter: Table.api.formatter.status, searchList: {1: __('Normal'), 0: __('Hidden')}},
                         {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
                 ]