Przeglądaj źródła

添加区域管理接口

wuww 6 lat temu
rodzic
commit
4d3e758a4d

+ 101 - 0
controllers/gen/SystemController_gen.go

@@ -45,6 +45,30 @@ func (c *SystemController) FindUserPage(ctx *gin.Context) {
 	partial.System_FindUserPage(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
+// FindAreaPage
+// @Title FindAreaPage
+// @Description 获取区域管理分页数         
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /find_area_page  [get,post]
+func (c *SystemController) FindAreaPage(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_FindAreaPage(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// GetAreaTree
+// @Title GetAreaTree
+// @Description 获取区域管理树         
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /get_area_tree  [get,post]
+func (c *SystemController) GetAreaTree(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_GetAreaTree(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
 // GetOrgTree
 // @Title GetOrgTree
 // @Description 获取组织架构树         
@@ -187,6 +211,83 @@ func (c *SystemController) GetUser(ctx *gin.Context) {
 	partial.System_GetUser(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
+// AddArea
+// @Title AddArea
+// @Description 添加区域         
+// @Param	name    string  false  "区域名称"  
+// @Param	parent    string  false  "父节点"  
+// @Param	inheritance    string  false  "继承关系"  
+// @Param	org_id    string  false  "组织ID"  
+// @Param	temp_id    string  false  "模板ID"  
+// @Param	temp_value    string  false  "模板内容"  
+// @Param	manager    string  false  "负责人"  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /add_area  [post,get,put]
+func (c *SystemController) AddArea(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_AddArea(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// DelArea
+// @Title DelArea
+// @Description 删除区域         
+// @Param	ids    string  false  "区域ID"  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /del_area  [post,get,put]
+func (c *SystemController) DelArea(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_DelArea(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// RecoverArea
+// @Title RecoverArea
+// @Description 恢复区域         
+// @Param	ids    string  false  "区域ID"  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /recover_area  [post,get,put]
+func (c *SystemController) RecoverArea(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_RecoverArea(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// UpdateArea
+// @Title UpdateArea
+// @Description 修改区域         
+// @Param	name    string  false  "区域名称"  
+// @Param	parent    string  false  "父节点"  
+// @Param	inheritance    string  false  "继承关系"  
+// @Param	org_id    string  false  "组织ID"  
+// @Param	temp_id    string  false  "模板ID"  
+// @Param	temp_value    string  false  "模板内容"  
+// @Param	manager    string  false  "负责人"  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /update_area  [post,get,put]
+func (c *SystemController) UpdateArea(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_UpdateArea(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// GetArea
+// @Title GetArea
+// @Description 根据区域ID获取区域信息         
+// @Param	id    string  false  "区域ID"  
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /get_area  [get]
+func (c *SystemController) GetArea(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_GetArea(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
 // AddRole
 // @Title AddRole
 // @Description 添加角色         

+ 236 - 1
controllers/partial/SystemController.go

@@ -9,6 +9,8 @@ import (
 	"html/template"
 	"strconv"
 	"time"
+	"strings"
+	"github.com/pkg/errors"
 )
 
 // _Sidebar
@@ -982,7 +984,6 @@ func System_GetDomain(c *entitys.CtrlContext) {
 // @Failure 403 :id is empty
 func System_AddDomainMenu(c *entitys.CtrlContext) {
 	var paramObj0 struct {
-
 		//域名ID
 		DomainId string `json:"domain_id"`
 		//菜单
@@ -1221,6 +1222,240 @@ func System_AddRoleMenu(c *entitys.CtrlContext) {
 	}
 }
 
+// _FindAreaPage
+// @Title _FindAreaPage
+// @Description 获取区域管理分页数
+// @Success 200 {object} Account
+// @Failure 403 :id is empty
+func System_FindAreaPage(c *entitys.CtrlContext) {
+	page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1"))
+	rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10"))
+
+	var paramMap = make(map[string]interface{})
+	paramMap["page"] = page
+	paramMap["rows"] = rows
+	paramMap["del_flag"] = c.Ctx.Query("del_flag")
+	paramMap["id"] = c.Ctx.Query("id")
+	paramMap["name"] = c.Ctx.Query("name")
+	paramMap["parent"] = c.Ctx.Query("parent")
+	paramMap["inheritance"] = c.Ctx.Query("inheritance")
+	paramMap["temp_id"] = c.Ctx.Query("temp_id")
+	paramMap["manager"] = c.Ctx.Query("manager")
+	paramMap["org_id"] = c.Ctx.Query("org_id")
+	paramMap["org_name"] = c.Ctx.Query("org_name")
+	paramMap["org_inheritance"] = c.Ctx.Query("org_inheritance")
+	paramMap["manager_name"] = c.Ctx.Query("manager_name")
+
+	result, err := sysutils.PageSearch(c.Db, "system", "find_area_page", "sys_user", paramMap)
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+	}
+}
+
+// _AddArea
+// @Title _AddArea
+// @Description 添加区域
+// @Param	name    string  false  "区域名称"
+// @Param	parent    string  false  "父节点"
+// @Param	inheritance    string  false  "继承关系"
+// @Param	org_id    string  false  "组织ID"
+// @Param	temp_id    string  false  "模板ID"
+// @Param	temp_value    string  false  "模板内容"
+// @Param	manager    string  false  "负责人"
+// @Success 200 {object} Account
+// @Failure 403 :id is empty
+func System_AddArea(c *entitys.CtrlContext) {
+	var err error
+	var bean sysmodel.SysArea
+	if err = c.Ctx.BindJSON(&bean); err != nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil})
+		return
+	}
+
+	user_id := c.Ctx.GetString("user_id")
+
+	bean.Id = sysutils.NewUUID()
+	bean.DelFlag = 0
+	bean.CreateBy = user_id
+	bean.LastUpdateBy = user_id
+	bean.CreateTime = sysmodel.NowLocal()
+	bean.LastUpdateTime = time.Now().UnixNano()
+	if bean.Parent != "" {
+		parentNodes := sysmodel.SysArea{}
+		_, err := c.Db.SqlMapClient("selectone_sys_area", map[string]interface{}{"id": bean.Parent}).Get(&parentNodes)
+		if err != nil {
+			c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+			return
+		}
+		bean.Inheritance = fmt.Sprintf("|%s%s", bean.Id, parentNodes.Inheritance)
+	} else {
+		bean.Inheritance = fmt.Sprintf("|%s|", bean.Id)
+	}
+
+	_, err = c.Db.InsertOne(&bean)
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", bean.Id})
+	} else {
+		c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil})
+	}
+}
+
+// _DelArea
+// @Title _DelArea
+// @Description 删除区域
+// @Param	ids    string  false  "用户ID"
+// @Success 200 {object} Account
+// @Failure 403 :id is empty
+func System_DelArea(c *entitys.CtrlContext) {
+	var err error
+	var bean = &models.SysArea{}
+	idArr := make([]string, 0)
+	if ids := c.Ctx.Query("ids"); ids == "" {
+		err = c.Ctx.BindJSON(&idArr)
+		if err != nil || len(idArr) <= 0 {
+			c.Ctx.JSON(500, sysmodel.SysReturn{500, "ids is empty", nil})
+			return
+		}
+	} else {
+		idArr = strings.Split(ids, ",")
+	}
+	session := c.Db.NewSession()
+	defer session.Close()
+	if err := session.Begin(); err != nil {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+		return
+	}
+	_, err = session.Table(bean).Where("del_flag=1").In("id", idArr).Delete(bean)
+	if err == nil {
+		_, err = session.Table(bean).In("id", idArr).Update(map[string]interface{}{"del_flag": 1})
+	}
+
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+	}
+}
+
+// _RecoverArea
+// @Title _RecoverArea
+// @Description 恢复区域
+// @Param	ids    string  false  "区域ID"
+// @Success 200 {object} Account
+// @Failure 403 :id is empty
+func System_RecoverArea(c *entitys.CtrlContext) {
+	var err error
+	var bean = &models.SysArea{}
+	idArr := make([]string, 0)
+	if ids := c.Ctx.Query("ids"); ids == "" {
+		err = c.Ctx.BindJSON(&idArr)
+		if err != nil || len(idArr) <= 0 {
+			c.Ctx.JSON(500, sysmodel.SysReturn{500, "ids is empty", nil})
+			return
+		}
+	} else {
+		idArr = strings.Split(ids, ",")
+	}
+	_, err = c.Db.Table(bean).In("id", idArr).Update(map[string]interface{}{"del_flag": 0})
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+	}
+}
+
+// _UpdateArea
+// @Title _UpdateArea
+// @Description 修改区域
+// @Param	name    string  false  "区域名称"
+// @Param	parent    string  false  "父节点"
+// @Param	inheritance    string  false  "继承关系"
+// @Param	org_id    string  false  "组织ID"
+// @Param	temp_id    string  false  "模板ID"
+// @Param	temp_value    string  false  "模板内容"
+// @Param	manager    string  false  "负责人"
+// @Success 200 {object} Account
+// @Failure 403 :id is empty
+func System_UpdateArea(c *entitys.CtrlContext) {
+	var err error
+	var bean sysmodel.SysArea
+	if err = c.Ctx.BindJSON(&bean); err != nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil})
+		return
+	}
+
+	user_id := c.Ctx.GetString("user_id")
+	exist, err := c.Db.SqlMapClient("selectone_sys_area", map[string]interface{}{"id": bean.Id}).Exist()
+	if !exist && err == nil {
+		err = errors.New("record does not exist")
+	}
+	if err != nil {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+	}
+	bean.LastUpdateBy = user_id
+	bean.LastUpdateTime = time.Now().UnixNano()
+	if bean.Parent != "" {
+		parentNodes := sysmodel.SysArea{}
+		_, err := c.Db.SqlMapClient("selectone_sys_area", map[string]interface{}{"id": bean.Parent}).Get(&parentNodes)
+		if err != nil {
+			c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+			return
+		}
+		if parentNodes.Inheritance == "" {
+			parentNodes.Inheritance = "|"
+		}
+		bean.Inheritance = fmt.Sprintf("|%s%s", bean.Id, parentNodes.Inheritance)
+	} else {
+		bean.Inheritance = fmt.Sprintf("|%s|", bean.Id)
+	}
+
+	_, err = c.Db.AllCols().ID(bean.Id).Update(&bean)
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", bean.Id})
+	} else {
+		c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil})
+	}
+}
+
+// _GetArea
+// @Title _GetArea
+// @Description 根据区域ID获取区域信息
+// @Param	id    string  false  "区域ID"
+// @Success 200 {object} Account
+// @Failure 403 :id is empty
+func System_GetArea(c *entitys.CtrlContext) {
+	id := c.Ctx.Query("id")
+
+	var area sysmodel.SysArea
+	exist, err := c.Db.SqlMapClient("selectone_sys_area", map[string]interface{}{"id": id}).Get(&area)
+	if !exist && err == nil {
+		err = errors.New("record does not exist")
+	}
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", area})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+	}
+}
+
+// _GetAreaTree
+// @Title _GetAreaTree
+// @Description 获取区域管理树
+// @Success 200 {object} Account
+// @Failure 403 :id is empty
+func System_GetAreaTree(c *entitys.CtrlContext) {
+	paramMap_i_t := map[string]interface{}{"sort": "name"}
+	result, err := sysutils.TreeSearch(c.Db, "system", "get_area_tree", "sys_area", paramMap_i_t)
+
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+	}
+}
+
 func __none_func_system__(params ...interface{}) bool {
 	return true
 }

+ 51 - 0
light-apiengine.xml

@@ -60,6 +60,10 @@
             </api>
             <api name="find_user_page" desc="获取用户分页数" function="page" table="sys_user" method="get,post" >
             </api>
+            <api name="find_area_page" desc="获取区域管理分页数" function="page" table="sys_area" method="get,post" >
+            </api>
+            <api name="get_area_tree" desc="获取区域管理树" function="tree" table="sys_area" method="get,post" >
+            </api>
             <api name="get_org_tree" desc="获取组织架构树" function="tree" table="sys_org" method="get,post" >
             </api>
             <api name="get_menu_tree" desc="获取菜单树" function="tree" table="sys_menu" method="get,post" >
@@ -108,6 +112,53 @@
                     <failure ref="$sys_return"></failure>
                 </return>
             </api>
+            <api name="add_area" desc="添加区域" method="post,get,put">
+                <param name="name" type="string" desc="区域名称"/>
+                <param name="parent" type="string" desc="父节点"/>
+                <param name="inheritance" type="string" desc="继承关系"/>
+                <param name="org_id" type="string" desc="组织ID"/>
+                <param name="temp_id" type="string" desc="模板ID"/>
+                <param name="temp_value" type="string" desc="模板内容"/>
+                <param name="manager" type="string" desc="负责人"/>
+                <return>
+                    <success ref="$sys_return"></success>
+                    <failure ref="$sys_return"></failure>
+                </return>
+            </api>
+            <api name="del_area" desc="删除区域" method="post,get,put">
+                <param name="ids" type="string" desc="区域ID"/>
+                <return>
+                    <success ref="$sys_return"></success>
+                    <failure ref="$sys_return"></failure>
+                </return>
+            </api>
+            <api name="recover_area" desc="恢复区域" method="post,get,put">
+                <param name="ids" type="string" desc="区域ID"/>
+                <return>
+                    <success ref="$sys_return"></success>
+                    <failure ref="$sys_return"></failure>
+                </return>
+            </api>
+            <api name="update_area" desc="修改区域" method="post,get,put">
+                <param name="name" type="string" desc="区域名称"/>
+                <param name="parent" type="string" desc="父节点"/>
+                <param name="inheritance" type="string" desc="继承关系"/>
+                <param name="org_id" type="string" desc="组织ID"/>
+                <param name="temp_id" type="string" desc="模板ID"/>
+                <param name="temp_value" type="string" desc="模板内容"/>
+                <param name="manager" type="string" desc="负责人"/>
+                <return>
+                    <success ref="$sys_return"></success>
+                    <failure ref="$sys_return"></failure>
+                </return>
+            </api>
+            <api name="get_area" desc="根据区域ID获取区域信息" method="get">
+                <param name="id" type="string" desc="区域ID"/>
+                <return>
+                    <success ref="$sys_return"></success>
+                    <failure ref="$sys_return"></failure>
+                </return>
+            </api>
             <api name="add_role" desc="添加角色" method="post,get,put">
                 <param name="name" type="string" desc="角色名称"/>
                 <param name="remark" type="string" desc="备注"/>

+ 21 - 0
routers/system_gen.go

@@ -27,6 +27,12 @@ func registerSystemRouter(e *engine.ApiEngine){
 	v1.GET("/find_user_page",ctrler.FindUserPage)
 	v1.POST("/find_user_page",ctrler.FindUserPage)
 
+	v1.GET("/find_area_page",ctrler.FindAreaPage)
+	v1.POST("/find_area_page",ctrler.FindAreaPage)
+
+	v1.GET("/get_area_tree",ctrler.GetAreaTree)
+	v1.POST("/get_area_tree",ctrler.GetAreaTree)
+
 	v1.GET("/get_org_tree",ctrler.GetOrgTree)
 	v1.POST("/get_org_tree",ctrler.GetOrgTree)
 
@@ -60,6 +66,21 @@ func registerSystemRouter(e *engine.ApiEngine){
 	v1.GET("/get_user",ctrler.GetUser)
 	//v1.POST("/get_user",ctrler.GetUser)
 
+	v1.GET("/add_area",ctrler.AddArea)
+	v1.POST("/add_area",ctrler.AddArea)
+
+	v1.GET("/del_area",ctrler.DelArea)
+	v1.POST("/del_area",ctrler.DelArea)
+
+	v1.GET("/recover_area",ctrler.RecoverArea)
+	v1.POST("/recover_area",ctrler.RecoverArea)
+
+	v1.GET("/update_area",ctrler.UpdateArea)
+	v1.POST("/update_area",ctrler.UpdateArea)
+
+	v1.GET("/get_area",ctrler.GetArea)
+	//v1.POST("/get_area",ctrler.GetArea)
+
 	v1.GET("/add_role",ctrler.AddRole)
 	v1.POST("/add_role",ctrler.AddRole)
 

+ 48 - 0
sqlconfig/system_controller/system_find_area_page_count.tpl

@@ -0,0 +1,48 @@
+select
+    count(*) records
+from
+    sys_area
+left join
+	sys_org
+on
+	sys_area.org_id = sys_org.id
+left join
+	sys_user
+on
+	sys_area.manager = sys_user.id
+where
+{{if ne .del_flag ""}}
+	sys_area.del_flag = {{.del_flag}}
+{{else}}
+    sys_area.del_flag = 0
+{{end}}
+{{if ne .id ""}}
+	and sys_area.id = "{{.id}}"
+{{end}}
+{{if ne .name ""}}
+	and sys_area.name like "%{{.name}}%"
+{{end}}
+{{if ne .parent ""}}
+	and sys_area.parent = "{{.parent}}"
+{{end}}
+{{if ne .inheritance ""}}
+	and sys_area.inheritance like "%{{.inheritance}}%"
+{{end}}
+{{if ne .temp_id ""}}
+	and sys_area.temp_id = "{{.temp_id}}"
+{{end}}
+{{if ne .manager ""}}
+	and sys_area.manager = "{{.manager}}"
+{{end}}
+{{if ne .org_id ""}}
+	and sys_area.org_id = "{{.org_id}}"
+{{end}}
+{{if ne .org_name ""}}
+	and sys_org.name like "%{{.org_name}}%"
+{{end}}
+{{if ne .org_inheritance ""}}
+	and sys_org.inheritance like "%{{.org_inheritance}}%"
+{{end}}
+{{if ne .manager_name ""}}
+	and sys_user.name = "{{.manager_name}}"
+{{end}}

+ 53 - 0
sqlconfig/system_controller/system_find_area_page_select.tpl

@@ -0,0 +1,53 @@
+select
+    sys_area.*,
+	sys_org.name org_name,
+	sys_org.inheritance org_inheritance,
+	sys_user.name manager_name,
+	sys_user.mobile manager_mobile
+from
+    sys_area
+left join
+	sys_org
+on
+	sys_area.org_id = sys_org.id
+left join
+	sys_user
+on
+	sys_area.manager = sys_user.id
+where
+{{if ne .del_flag ""}}
+	sys_area.del_flag = {{.del_flag}}
+{{else}}
+    sys_area.del_flag = 0
+{{end}}
+{{if ne .id ""}}
+	and sys_area.id = "{{.id}}"
+{{end}}
+{{if ne .name ""}}
+	and sys_area.name like "%{{.name}}%"
+{{end}}
+{{if ne .parent ""}}
+	and sys_area.parent = "{{.parent}}"
+{{end}}
+{{if ne .inheritance ""}}
+	and sys_area.inheritance like "%{{.inheritance}}%"
+{{end}}
+{{if ne .temp_id ""}}
+	and sys_area.temp_id = "{{.temp_id}}"
+{{end}}
+{{if ne .manager ""}}
+	and sys_area.manager = "{{.manager}}"
+{{end}}
+{{if ne .org_id ""}}
+	and sys_area.org_id = "{{.org_id}}"
+{{end}}
+{{if ne .org_name ""}}
+	and sys_org.name like "%{{.org_name}}%"
+{{end}}
+{{if ne .org_inheritance ""}}
+	and sys_org.inheritance like "%{{.org_inheritance}}%"
+{{end}}
+{{if ne .manager_name ""}}
+	and sys_user.name = "{{.manager_name}}"
+{{end}}
+LIMIT {{.rows}} OFFSET {{.offset}}

+ 7 - 0
sqlconfig/system_controller/system_get_area_tree.tpl

@@ -0,0 +1,7 @@
+
+select
+    *
+from
+    sys_area
+where
+    del_flag = 0