| 
					
				 | 
			
			
				@@ -5,19 +5,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @date 2017/6/9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @version 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let mongoose = require("mongoose"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let MongooseHelper = require("../libraries/database/mongoose_helper"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let userSchema = require("./schema/user"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let Request = require("request"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import userSchema from "./schema/user"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import Request from "request"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import BaseModel from "../../common/base/base_model" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-class UserModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * db句柄 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @var {object} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    db = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class UserModel extends BaseModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 企业所在地区 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -40,50 +32,6 @@ class UserModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     companyScale = ['1-20', '20-50', '50-100', '100+']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * 默认结构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @var {object} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    defaultSchema = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        username: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        email: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mobile: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        real_name: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        company: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        province: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        area: Number, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        company_type: Number, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        company_scale: Number, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        last_login: Number, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        create_time: Number 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * 登录验证结构 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @var {object} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    loginSchema = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        username: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            required: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        email: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            required: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mobile: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            validate: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                validator: function(v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return /^1([34578]\d)\d{8}$/.test(v); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                message: '{VALUE} is not a valid phone number!' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 构造函数 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -91,8 +39,9 @@ class UserModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return {void} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     constructor() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.db = new MongooseHelper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.db.model = userSchema; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let parent = super(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parent.model = userSchema; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parent.init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -178,14 +127,14 @@ class UserModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return {object} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     findDataByName(username) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return this.db.find({username: username}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return this.db.model.find({username: username}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 新增用户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param {object} userData 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @return {Promise} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return {Promise|boolean} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     addUser(userData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let insertData = { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -201,7 +150,7 @@ class UserModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             create_time: new Date().getTime(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             area: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return this.db.create(insertData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return this.db.model.create(insertData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -214,9 +163,9 @@ class UserModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (Object.keys(condition).length <= 0 || Object.keys(updateData).length <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return this.db.update(condition, updateData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return this.db.model.update(condition, updateData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-module.exports = UserModel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default UserModel; 
			 |