瀏覽代碼

Merge branch 'v2' of https://git.qianqiusoft.com/qianqiusoft/light-apiengine into v2

huangyh 6 年之前
父節點
當前提交
90ee168fda
共有 3 個文件被更改,包括 95 次插入0 次删除
  1. 58 0
      controllers/partial/SystemController.go
  2. 13 0
      light-apiengine.xml
  3. 24 0
      models/ModifyPassword_gen.go

+ 58 - 0
controllers/partial/SystemController.go

@@ -2517,6 +2517,64 @@ func System_FindDataPermissionPage(c *entitys.CtrlContext) {
 
 }
 
+// _ModifyPassword
+// @Title _ModifyPassword
+// @Description 修改密码
+// @Param	body    models.ModifyPassword  true  ""
+// @Success 200 {object} Account
+// @Failure 403 :id is empty
+func System_ModifyPassword(c *entitys.CtrlContext) {
+	var err error
+	var param models.ModifyPassword
+	if err = c.Ctx.BindJSON(&param); err != nil {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+		return
+	}
+	var errmsg string
+	switch {
+	case param.Origin == "":
+		errmsg = "原密码不能为空"
+	case param.New == "":
+		errmsg = "新密码不能为空"
+	case param.Confirm == "":
+		errmsg = "确认密码不能为空"
+	case param.Confirm != param.New:
+		errmsg = "两次密码不一致"
+	}
+	if errmsg != "" {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, errmsg, nil})
+		return
+	}
+	engine := c.PlatformDbEngine
+	var userId = c.Ctx.GetString("user_id")
+	if param.UserId == "" {
+		param.UserId = userId
+	}
+	var user sysmodel.SysUser
+	_, err = engine.ID(param.UserId).Get(&user)
+	if err != nil {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+		return
+	}
+	password := sysutils.HashPassword(param.Origin, "")
+	if !strings.EqualFold(password, user.Password) {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "原密码错误", nil})
+		return
+	}
+	_, err = engine.Table(user).ID(user.Id).
+		Update(map[string]interface{}{
+			"password":         sysutils.HashPassword(param.New, ""),
+			"last_update_by":   userId,
+			"last_update_time": time.Now().UnixNano(),
+		})
+
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "modify successfully", nil})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+	}
+}
+
 func __none_func_system__(params ...interface{}) bool {
 	return true
 }

+ 13 - 0
light-apiengine.xml

@@ -555,6 +555,13 @@
             </api>
             <api name="find_data_permission_page" desc="分页获取数据权限" function="page" table="data_permission" method="get,post" >
             </api>
+            <api name="modify_password"  desc="修改密码" method="post">
+                <param name="body" ref="$modify_password" type="models.ModifyPassword" must="true"/>
+                <return>
+                    <success ref="$sys_return" desc=""/>
+                    <failure ref="$sys_return" desc=""/>
+                </return>
+            </api>
         </controller>
         <controller name="api" desc="api接口">
             <api name="api_doc" method="get" desc="api文档">
@@ -733,6 +740,12 @@
             <prop name="domain_id" caption="域名ID" type="string" />
             <prop name="app_funs" caption="功能" type="string array" />
         </bean>
+        <bean name="modify_password" desc="修改密码">
+            <prop name="user_id" type="string" caption="用户id(默认为当前用户id)"/>
+            <prop name="origin" type="string" caption="原密码"/>
+            <prop name="new" type="string" caption="新密码"/>
+            <prop name="confirm" type="string" caption="确认密码"/>
+        </bean>
     </beans>
     <tables>
         <table name="sys_user" desc="用户表">

+ 24 - 0
models/ModifyPassword_gen.go

@@ -0,0 +1,24 @@
+
+package models
+import (
+//__import_packages__
+)
+
+
+
+type ModifyPassword struct {
+	
+	//用户id(默认为当前用户id)
+	UserId   string `json:"user_id"`
+	//原密码
+	Origin   string `json:"origin"`
+	//新密码
+	New   string `json:"new"`
+	//确认密码
+	Confirm   string `json:"confirm"`
+
+}
+
+func init() {
+    AddTableName("modify_password")
+}