Explorar el Código

wesmiler ECY 画画交易平台

APPLE hace 3 años
padre
commit
73f35e35a5

+ 74 - 0
application/cmgadm/controller/user/User.php

@@ -4,6 +4,7 @@ namespace app\cmgadm\controller\user;
 
 use app\common\controller\Backend;
 use fast\Random;
+use think\Db;
 
 /**
  * 会员管理
@@ -637,10 +638,83 @@ class User extends Backend
      */
     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(empty($params['nickname']))
+            {
+                $this->error("昵称不能为空");
+            }
+
+            if(empty($params['mobile']))
+            {
+                $this->error("手机号不能为空");
+            }else{
+                if(!preg_match('/^1\d{10}$/',$params['mobile']))
+                {
+                    $this->error('手机号格式不正确');
+                }
+                $mobileinfo=db('user')->where('mobile',$params['mobile'])->find();
+                if($mobileinfo && $mobileinfo['id'] != $ids)
+                {
+                    $this->error("此手机号已注册,请更换");
+                }
+            }
+
+            // 有推荐人
+            if($params['referee']){
+                $referee=$this->model->where(['username|mobile'=>$params['referee'],'status'=>1])->find();
+                if($referee)
+                {
+                    $params['refereeid']=$referee['id'];
+                    $params['referee_name']=$referee['username'];
+                    $params['refereeids']=$referee['refereeids'].$referee['id'].',';
+                    $params['tdeep']=$referee['tdeep']+1;
+                }else{
+                    $this->error("推荐人不可用或输入的推荐编号有误");
+                }
+            }
+            Db::startTrans();
+            try{
+                $result = $row->allowField(true)->save($params);
+                if($result === false){
+                    Db::rollback();
+                    $this->error('修改失败');
+                }
+
+                if($params['refereeid']>0)
+                {
+                    if(!$this->model->where('id',$params['refereeid'])->setInc('referee_number',1)){
+                        Db::rollback();
+                        $this->error('修改推荐关系失败');
+                    }
+                    if(!$this->model->where('id',$row['refereeid'])->setDec('referee_number',1)){
+                        Db::rollback();
+                        $this->error('修改推荐关系失败');
+                    }
+                }
+                Db::commit();
+                $this->success("修改成功");
+            } catch (\Exception $e){
+                $this->error($e->getMessage());
+            }
+        }
         $row = $this->model->get($ids);
         if (!$row)
             $this->error(__('No Results were found'));
         $this->view->assign('groupList', build_select('row[group_id]', \app\cmgadm\model\UserGroup::column('id,name'), $row['group_id'], ['class' => 'form-control selectpicker']));
+
+
         return parent::edit($ids);
     }
 	

+ 9 - 1
application/cmgadm/view/user/user/edit.html

@@ -18,7 +18,15 @@
             <input id="c-mobile" data-rule="" class="form-control" name="row[mobile]" type="text" value="{$row.mobile|htmlentities}">
         </div>
     </div>
-
+    <div class="form-group">
+        <label for="c-referee" class="control-label col-xs-12 col-sm-2">{:__('Referee')}:</label>
+        <div class="col-xs-12 col-sm-4">
+            <div class="input-group">
+                <input id="c-referee"  class="form-control" size="50" name="row[referee]" type="text" value="">
+                <span class="input-group-addon c-referee"></span>
+            </div>
+        </div>
+    </div>
     <div class="form-group layer-footer">
         <label class="control-label col-xs-12 col-sm-2"></label>
         <div class="col-xs-12 col-sm-8">