From 64689425ccf235d8f971bba4dffab9f13f89045d Mon Sep 17 00:00:00 2001
From: colly <576734462@qq.com>
Date: Tue, 01 Aug 2017 16:55:12 +0800
Subject: [PATCH] 短信接口调整合并,忘记密码

---
 Yfs/Domain/Data.php            |    2 +
 Yfs/Api/User.php               |   30 ++++++++++++++
 Config/app.php                 |    3 +
 Yfs/Domain/User.php            |   23 +++++++++++
 Library/Alidayu/Config/app.php |    3 +
 Yfs/Api/Send.php               |   55 +++++++++++++++++----------
 6 files changed, 92 insertions(+), 24 deletions(-)

diff --git a/Config/app.php b/Config/app.php
index 8e7cb02..61aa257 100644
--- a/Config/app.php
+++ b/Config/app.php
@@ -31,7 +31,8 @@
 
         //������������
         'templates' => array(
-            'register' => 'SMS_71216225'
+            'register' => 'SMS_71216225',
+            'resetPwd' => 'SMS_71216225'
         ),
         'app_key' => '23531128',
         'secretkey' => 'b079269785183c5a7520da9b8047bb42'
diff --git a/Library/Alidayu/Config/app.php b/Library/Alidayu/Config/app.php
index 02db954..1a858ab 100644
--- a/Library/Alidayu/Config/app.php
+++ b/Library/Alidayu/Config/app.php
@@ -10,7 +10,8 @@
 
 		//������������
 		'templates' => array(
-			'register' => '71245307'
+			'register' => '71245307',
+			'resetPwd' => '71245307'
 		)
 	)
 );
\ No newline at end of file
diff --git a/Yfs/Api/Send.php b/Yfs/Api/Send.php
index 8f0caaf..b60e178 100644
--- a/Yfs/Api/Send.php
+++ b/Yfs/Api/Send.php
@@ -17,51 +17,64 @@
      */
     public function getRules(){
         return array(
-            'register_sms' => array(
+            'sms' => array(
                 'phone' => array(
                     'name' => 'phone',
                     'type' => 'string',
                     'require' => true,
                     'desc' => '���������������'
+                ),
+                'type' => array(
+                    'name' => 'type',
+                    'type' => 'string',
+                    'require' => true,
+                    'desc' => '������������������'
                 )
-            )
+            ),
         );
     }
 
 
     /**
-     * ������������
+     * ������������������
      * @desc ������������������
      * @return bool code ������������0��������������� 1������������
      * @return string msg ������������
      */
-    public function register_sms(){
+    public function sms(){
         $rs = array('code' => 0, 'msg' => '');
         $sms_service = new Domain_SmsCode();
-        $scene = 'register';
-        if($sms_service->check($this->phone, $scene)){
-            $code = Common_Util::random(6, 1);
-            $send_json_data = json_encode(array('mobile_validate' => $code));
-            if($this->alidayu->send($this->phone, $send_json_data, $scene)){
-            	$data = array();
-            	$time = time();
-            	$data['phone'] = $this->phone;
-            	$data['code'] = $code;
-            	$data['create_time'] = date('Y-m-d H:i:s', $time);
-            	$data['expire_time'] = date('Y-m-d H:i:s', $time + 60);
-            	$data['scene'] = $scene;
-            	$data['status'] = 0;
-            	$sms_service->add($data);
-                $rs['msg'] = '������������'; 
+        $promit_scene = array('register', 'resetPwd');
+        if(in_array($this->type, $promit_scene)){
+            $scene = $this->type;
+            if($sms_service->check($this->phone, $scene)){
+                $code = Common_Util::random(6, 1);
+                $send_json_data = json_encode(array('mobile_validate' => $code));
+                if($this->alidayu->send($this->phone, $send_json_data, $scene)){
+                	$data = array();
+                	$time = time();
+                	$data['phone'] = $this->phone;
+                	$data['code'] = $code;
+                	$data['create_time'] = date('Y-m-d H:i:s', $time);
+                	$data['expire_time'] = date('Y-m-d H:i:s', $time + 60);
+                	$data['scene'] = $scene;
+                	$data['status'] = 0;
+                	$sms_service->add($data);
+                    $rs['msg'] = '������������'; 
+                }
+                else{
+                    $rs['code'] = 1;
+                    $rs['msg'] = '������������'; 
+                }
             }
             else{
                 $rs['code'] = 1;
-                $rs['msg'] = '������������'; 
+                $rs['msg'] = '������������������������,������������60���'; 
             }
         }
         else{
             $rs['code'] = 1;
-            $rs['msg'] = '������������������������,������������60���'; 
+            $rs['msg'] = '���������������������'; 
         }
     	
     	return $rs;
diff --git a/Yfs/Api/User.php b/Yfs/Api/User.php
index 1422596..285c600 100644
--- a/Yfs/Api/User.php
+++ b/Yfs/Api/User.php
@@ -19,6 +19,10 @@
             'getUserInfo' => array(
                 'phone' => array('name' => 'phone', 'type' => 'string', 'require' => true, 'desc' => '������������'),
             ),
+            'resetPwd' => array(
+                'phone' => array('name' => 'phone', 'type' => 'string', 'require' => true, 'desc' => '������������'),
+                'password' => array('name' => 'password', 'type' => 'string', 'require' => true, 'desc' => '������'),
+            )
         );
     }
 
@@ -117,7 +121,6 @@
      */
     public function getUserInfo(){
         $rs = array('code' => 0, 'msg' => '', 'info' => array());
-
         $user_service = new Domain_User();
         $user = $user_service->getUserInfoByPhone($this->phone);
 
@@ -134,4 +137,29 @@
         return $rs;
     }
 
+    /**
+     * ������������
+     * @desc ������������
+     * @return bool code ������������0��������������� 1������������
+     * @return string msg ������������
+     */
+    public function resetPwd(){
+        $rs = array('code' => 0, 'msg' => '');
+        $user_service = new Domain_User();
+        $result = $user_service->resetPwd($this->phone, $this->password);
+        if($reslt == 0){
+            $rs['msg'] = '������������������';
+        }
+        elseif($result == 1){
+            $rs['code'] = 1;
+            $rs['msg'] = '���������������������������';
+        }
+        else{
+            $rs['code'] = 1;
+            $rs['msg'] = '������������������';
+        }
+
+        return $rs;
+    }
+
 }
diff --git a/Yfs/Domain/Data.php b/Yfs/Domain/Data.php
index 1a39944..c5851ec 100644
--- a/Yfs/Domain/Data.php
+++ b/Yfs/Domain/Data.php
@@ -32,4 +32,6 @@
 
     }
 
+    
+
 }
diff --git a/Yfs/Domain/User.php b/Yfs/Domain/User.php
index b682d32..00bca82 100644
--- a/Yfs/Domain/User.php
+++ b/Yfs/Domain/User.php
@@ -70,4 +70,27 @@
         }
     }
 
+    /**
+     * ������������
+     * @param  [type] $phone  [description]
+     * @param  [type] $newPwd [description]
+     * @return [type]         [description]
+     */
+    public function resetPwd($phone, $newPwd){
+        $user = $this->getUserInfoByPhone($phone);
+        if($user && $user['is_lock'] == 0){
+            $data['password'] = md5(md5($newPwd).$user['encrypt']);
+            $result = $this->model->update($data, array('_id' => $user['_id']));
+            if($result){
+                return 0;
+            }
+            else{
+                return 2;
+            }
+        }
+        else{
+            return 1;
+        }
+    }
+
 }

--
Gitblit v1.8.0