package partial import ( "errors" "fmt" "git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys" "git.qianqiusoft.com/qianqiusoft/light-apiengine/models" sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models" sysutils "git.qianqiusoft.com/qianqiusoft/light-apiengine/utils" "html/template" "strconv" "strings" "time" ) // _Sidebar // @Title _Sidebar // @Description 获取导航菜单 // @Param user string false "用户id" // @Success 200 {object} Account // @Failure 403 :id is empty func System_Sidebar(c *entitys.CtrlContext) { //System_GetMenuTree(c) _type := c.Ctx.DefaultQuery("type", "") type_op := c.Ctx.DefaultQuery("type_op", "") hidden := c.Ctx.DefaultQuery("hidden", "") name := c.Ctx.DefaultQuery("name", "") cn_id := c.Ctx.DefaultQuery("cn_id", "") tk, _ := c.Ctx.Get("token") user := tk.(*entitys.Token) op := template.HTML(type_op) // 管理员角色ID 5c38ee66-c5e6-40a7-b190-86d115bae3e5 exist, _ := c.Db.Table("sys_user_role").Where("user_id = ? and role_id = ?", user.UserId, "5c38ee66-c5e6-40a7-b190-86d115bae3e5").Exist() //如果是管理员 var paramMap_i_t map[string]interface{} if exist { paramMap_i_t = map[string]interface{}{"user_id": "", "name": name, "cn_id": cn_id, "sort": "name", "type": _type, "type_op": op, "hidden": hidden} } else { paramMap_i_t = map[string]interface{}{"user_id": user.UserId, "name": name, "cn_id": cn_id, "sort": "name", "type": _type, "type_op": op, "hidden": hidden} } result, err := sysutils.TreeSearch(c.Db, "system", "get_menu_tree", "sys_menu", 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}) } } // _GetMenuTree // @Title _GetMenuTree // @Description 获取系统菜单 // @Param user string false "用户id" // @Success 200 {object} Account // @Failure 403 :id is empty func System_GetMenuTree(c *entitys.CtrlContext) { _type := c.Ctx.DefaultQuery("type", "") type_op := c.Ctx.DefaultQuery("type_op", "") hidden := c.Ctx.DefaultQuery("hidden", "") name := c.Ctx.DefaultQuery("name", "") cn_id := c.Ctx.DefaultQuery("cn_id", "") op := template.HTML(type_op) paramMap_i_t := map[string]interface{}{"user_id": "", "name": name, "cn_id": cn_id, "sort": "name", "type": _type, "type_op": op, "hidden": hidden} result, err := sysutils.TreeSearch(c.Db, "system", "get_menu_tree", "sys_menu", 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}) } } // _GetDomainTree // @Title _GetDomainTree // @Description 获取域树 // @Success 200 {object} Account // @Failure 403 :id is empty func System_GetDomainTree(c *entitys.CtrlContext) { del_flag := c.Ctx.DefaultQuery("del_flag", "") paramMap_i_t := map[string]interface{}{"sort": "name", "del_flag": del_flag} result, err := sysutils.TreeSearch(c.Db, "system", "get_domain_tree", "sys_domain", 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}) } } // _FindUserPage // @Title _FindUserPage // @Description 获取用户分页数 // @Success 200 {object} Account // @Failure 403 :id is empty func System_FindUserPage(c *entitys.CtrlContext) { page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1")) rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10")) name := c.Ctx.DefaultQuery("name", "") login_id := c.Ctx.DefaultQuery("login_id", "") org_id := c.Ctx.DefaultQuery("org_id", "") cn_org_id := c.Ctx.DefaultQuery("cn_org_id", "") var roleRule interface{} rule_code := "org_tree" user_id := c.Ctx.GetString("user_id") exist, _ := c.Db.Table("sys_user_role").Where("user_id = ? and role_id = ?", user_id, "5c38ee66-c5e6-40a7-b190-86d115bae3e5").Exist() //如果是管理员 if exist { user_id = "" roleRule = "" } else if rule_code != "" { var roleRules []models.SysDataPermissionDetail // 根据rule_code获取角色对应的接口规则 err := c.Db.SqlMapClient("get_user_rule_by_code", rule_code, user_id).Find(&roleRules) if err != nil { roleRule = "" } else { roleRule = sysutils.ParseRule(roleRules) } } paramMap_i_t := map[string]interface{}{"page": page, "rows": rows, "name": name, "login_id": login_id, "org_id": org_id, "cn_org_id": cn_org_id, "user_id": user_id, "role_rule": roleRule} result, err := sysutils.PageSearch(c.Db, "system", "find_user_page", "sys_user", paramMap_i_t) if err != nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result}) return } //type Role struct { // RoleName string `json:"role_name"` // UserRole string `json:"user_role"` //} ////获取用户角色 //users := result.Content.([]map[string]interface{}) //for i, user := range users { // roles := []Role{} // err := c.Db.SqlMapClient("get_roles_by_user_id", user["id"]).Find(&roles) // if err != nil { // fmt.Println("----", err.Error()) // continue // } // users[i]["user_role"] = roles[0].UserRole // users[i]["role_name"] = roles[0].RoleName //} // //result.Content = users if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _GetOrgTree // @Title _GetOrgTree // @Description 获取组织架构树 // @Success 200 {object} Account // @Failure 403 :id is empty func System_GetOrgTree(c *entitys.CtrlContext) { var roleRule interface{} rule_code := "org_tree" // 管理员角色ID 5c38ee66-c5e6-40a7-b190-86d115bae3e5,如果是管理员,可以看所有,否则只看到本部门 user_id := c.Ctx.GetString("user_id") exist, _ := c.Db.Table("sys_user_role").Where("user_id = ? and role_id = ?", user_id, "5c38ee66-c5e6-40a7-b190-86d115bae3e5").Exist() //如果是管理员 if exist { user_id = "" } else if rule_code != "" { var roleRules []models.SysDataPermissionDetail // 根据rule_code获取角色对应的接口规则 err := c.Db.SqlMapClient("get_user_rule_by_code", rule_code, user_id).Find(&roleRules) if err != nil { roleRule = "" } else { roleRule = sysutils.ParseRule(roleRules) } } paramMap_i_t := map[string]interface{}{"sort": "name", "user_id": user_id, "role_rule": roleRule} result, err := sysutils.TreeSearch(c.Db, "system", "get_org_tree", "sys_org", 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}) } } // _FindOrgPage // @Title _FindOrgPage // @Description 获取组织架构分页数 // @Success 200 {object} Account // @Failure 403 :id is empty func System_FindOrgPage(c *entitys.CtrlContext) { page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1")) rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10")) name := c.Ctx.DefaultQuery("name", "") code := c.Ctx.DefaultQuery("code", "") cn_id := c.Ctx.DefaultQuery("cn_id", "") paramMap_i_t := map[string]interface{}{"page": page, "rows": rows, "name": name, "code": code, "cn_id": cn_id} result, err := sysutils.PageSearch(c.Db, "system", "find_org_page", "sys_org", 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}) } } // _AddUser // @Title _AddUser // @Description 添加用户 // @Param login_id string false "登录ID" // @Param password string false "密码" // @Param org_id string false "组织ID" // @Param email string false "邮箱" // @Success 200 {object} Account // @Failure 403 :id is empty func System_AddUser(c *entitys.CtrlContext) { tk, _ := c.Ctx.Get("token") opUser := tk.(*entitys.Token) var user sysmodel.SysUser err := c.Ctx.BindJSON(&user) if err != nil { c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil}) } fmt.Println(user.LoginId, "-----add user-----", user.Password, " --- ", user.OrgId) //查找login_id是否存在 exit, _ := c.PlatformDbEngine.Table(new(sysmodel.SysUser)).Where("login_id = ? and del_flag = ?", user.LoginId, 0).Exist() if exit { c.Ctx.JSON(200, sysmodel.SysReturn{500, "login_id exit", nil}) return } user_id := c.Ctx.GetString("user_id") user.Id = sysutils.NewUUID() user.Name = user.LoginId user.CreateTime = models.NowLocal() user.LastUpdateTime = time.Now().UnixNano() user.CreateBy = user_id user.LastUpdateBy = user_id user.DelFlag = 0 user.Domain = opUser.Domain user.Password = sysutils.HashPassword(user.Password, "") _, err = c.PlatformDbEngine.Insert(&user) if err != nil { c.Ctx.JSON(200, sysmodel.SysReturn{500, "平台插入用户错误:" + err.Error(), nil}) } _, err = c.Db.Insert(&user) ret := __none_func_system__(user.LoginId, user.Password, user.OrgId, user.Email) if ret && err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(200, sysmodel.SysReturn{500, "域数据库插入用户错误:" + err.Error(), nil}) } } // _DelUser // @Title _DelUser // @Description 删除用户 // @Param id string false "用户ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_DelUser(c *entitys.CtrlContext) { type Param struct { Id string `json:"id"` } var params []Param c.Ctx.BindJSON(¶ms) ids := []string{} for _, param := range params { ids = append(ids, param.Id) } session := c.Db.NewSession() defer session.Close() session.Begin() _, err := c.Db.Table(new(models.SysUser)).In("id", ids).Update(map[string]interface{}{"del_flag": 1}) if err != nil { session.Rollback() c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil}) return } _, err = c.Db.Table(new(models.SysUserRole)).In("user_id", ids).Update(map[string]interface{}{"del_flag": 1}) if err != nil { session.Rollback() c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil}) return } session.Commit() _, err = c.PlatformDbEngine.Table(new(models.SysUser)).In("id", ids).Update(map[string]interface{}{"del_flag": 1}) if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(200, sysmodel.SysReturn{500, "平台删除用户失败:" + err.Error(), nil}) } } // _UpdateUser // @Title _UpdateUser // @Description 修改用户 // @Param login_id string false "登录ID" // @Param password string false "密码" // @Param org_id string false "组织ID" // @Param email string false "邮箱" // @Success 200 {object} Account // @Failure 403 :id is empty func System_UpdateUser(c *entitys.CtrlContext) { tk, _ := c.Ctx.Get("token") user := tk.(*entitys.Token) var postData struct { sysmodel.SysUser UserRole []string `json:"user_role"` } //var user sysmodel.SysUser err := c.Ctx.BindJSON(&postData) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } //postData.LastUpdateTime = time.Now().UnixNano() //postData.LastUpdateBy = user.UserId session := c.Db.NewSession() defer session.Close() session.Begin() //paramMap, _ := sysutils.BeanToMap(&postData) paramMap := map[string]interface{}{"id": postData.Id, "temp_id": postData.TempId, "temp_value": postData.TempValue, "name": postData.Name, "email": postData.Email, "mobile": postData.Mobile, "org_id": postData.OrgId, "last_update_time": time.Now().UnixNano(), "last_update_by": user.UserId} _, err = session.SqlMapClient("update_user", ¶mMap).Execute() if err != nil { session.Rollback() c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } _, err = c.PlatformDbEngine.SqlMapClient("update_user", ¶mMap).Execute() if err != nil { session.Rollback() c.Ctx.JSON(500, sysmodel.SysReturn{500, "平台更新用户失败:" + err.Error(), nil}) return } userRoles := []sysmodel.SysUserRole{} for _, roleId := range postData.UserRole { userRole := sysmodel.SysUserRole{} userRole.Id = sysutils.NewUUID() userRole.UserId = postData.Id userRole.RoleId = roleId userRole.DelFlag = 0 userRole.CreateTime = sysmodel.NowLocal() userRole.CreateBy = user.UserId userRole.LastUpdateBy = user.UserId userRole.LastUpdateTime = time.Now().UnixNano() userRoles = append(userRoles, userRole) } _, err = session.SqlMapClient("delete_user_role", &map[string]interface{}{"user_id": postData.Id}).Execute() if err != nil { session.Rollback() c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } _, err = session.InsertMulti(&userRoles) if err == nil { session.Commit() c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { session.Rollback() c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _UpdatePassword // @Title _UpdatePassword // @Description 修改用户密码 // @Param string false "用户ID" // @Param password string false "密码" // @Success 200 {object} Account // @Failure 403 :id is empty func System_UpdatePassword(c *entitys.CtrlContext) { var user sysmodel.SysUser err := c.Ctx.BindJSON(&user) operatorId := c.Ctx.GetString("user_id") if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } user.Password = sysutils.HashPassword(user.Password, "") paramMap := map[string]interface{}{"id": user.Id, "password": user.Password, "last_update_time": time.Now().UnixNano(), "last_update_by": operatorId} _, err = c.PlatformDbEngine.SqlMapClient("update_user_password", ¶mMap).Execute() if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _GetUser // @Title _GetUser // @Description 更加用户ID获取用户信息 // @Param user_id string false "用户ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_GetUser(c *entitys.CtrlContext) { user_id := c.Ctx.Query("user_id") var user sysmodel.SysUser _, err := c.Db.SqlMapClient("selectone_sys_user", &map[string]interface{}{"id": user_id}).Get(&user) if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", user}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _AddRole // @Title _AddRole // @Description 添加角色 // @Param name string false "角色名称" // @Param remark string false "备注" // @Success 200 {object} Account // @Failure 403 :id is empty func System_AddRole(c *entitys.CtrlContext) { var paramObj0 models.SysRole c.Ctx.BindJSON(¶mObj0) tk, _ := c.Ctx.Get("token") user := tk.(*entitys.Token) paramObj0.Id = sysutils.NewUUID() paramObj0.CreateBy = user.UserId paramObj0.LastUpdateBy = user.UserId paramObj0.CreateTime = models.NowLocal() paramObj0.LastUpdateTime = time.Now().UnixNano() paramObj0.DelFlag = 0 //_, err := c.LocalSqlMapClient("insert_sys_role", ¶mObj0).Execute() paramMap, err := sysutils.BeanToMap(¶mObj0) _, err = c.Db.SqlMapClient("insert_sys_role", paramMap).Execute() if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _DelRole // @Title _DelRole // @Description 添加角色 // @Param id string false "角色ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_DelRole(c *entitys.CtrlContext) { type Param struct { Id string `json:"id"` } var params []Param c.Ctx.BindJSON(¶ms) ids := []string{} for _, param := range params { ids = append(ids, param.Id) } _, err := c.Db.Table(new(models.SysRole)).In("id", ids).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, "", nil}) } } // _UpdateRole // @Title _UpdateRole // @Description 修改角色 // @Param id string false "角色ID" // @Param name string false "角色名称" // @Param remark string false "备注" // @Success 200 {object} Account // @Failure 403 :id is empty func System_UpdateRole(c *entitys.CtrlContext) { var role sysmodel.SysRole err := c.Ctx.BindJSON(&role) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } paramMap, _ := sysutils.BeanToMap(&role) _, err = c.Db.SqlMapClient("update_sys_role", paramMap).Execute() if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _GetUserRoles // @Title _GetUserRoles // @Description 根据用户id获取用户角色 // @Param user_id string false "用户ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_GetUserRoles(c *entitys.CtrlContext) { user_id := c.Ctx.Query("user_id") var roles []sysmodel.SysRole err := c.Db.SQL("select sys_role.* from sys_user_role, sys_role where sys_user_role.role_id = sys_role.id and sys_role.del_flag = 0 and sys_user_role.user_id = ? order by sys_role.priority asc", user_id).Find(&roles) if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", roles}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _FindRolePage // @Title _FindRolePage // @Description 角色分页 // @Param page false "分页参数" // @Success 200 {object} Account // @Failure 403 :id is empty func System_FindRolePage(c *entitys.CtrlContext) { page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1")) rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10")) name := c.Ctx.DefaultQuery("name", "") code := c.Ctx.DefaultQuery("code", "") paramMap_i_t := map[string]interface{}{"name": name, "code": code, "page": page, "rows": rows} result, err := sysutils.PageSearch(c.Db, "system", "find_role_page", "sys_role", 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}) } } // _FindMenuPage // @Title _FindMenuPage // @Description 获取角色分页数 // @Success 200 {object} Account // @Failure 403 :id is empty func System_FindMenuPage(c *entitys.CtrlContext) { page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1")) rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10")) user_id := c.Ctx.DefaultQuery("user_id", "") name := c.Ctx.DefaultQuery("name", "") code := c.Ctx.DefaultQuery("code", "") cn_id := c.Ctx.DefaultQuery("cn_id", "") _type := c.Ctx.DefaultQuery("type", "") type_op := c.Ctx.DefaultQuery("type_op", "") hidden := c.Ctx.DefaultQuery("hidden", "") op := template.HTML(type_op) // 管理员角色ID 5c38ee66-c5e6-40a7-b190-86d115bae3e5 exist, _ := c.Db.Table("sys_user_role").Where("user_id = ? and role_id = ?", user_id, "5c38ee66-c5e6-40a7-b190-86d115bae3e5").Exist() //如果是管理员 if exist { user_id = "" } paramMap_i_t := map[string]interface{}{"user_id": user_id, "hidden": hidden, "page": page, "rows": rows, "type": _type, "type_op": op, "name": name, "code": code, "cn_id": cn_id} result, err := sysutils.PageSearch(c.Db, "system", "find_menu_page", "sys_menu", 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}) } } // _FindDomainPage // @Title _FindDomainPage // @Description 获取域分页数 // @Success 200 {object} Account // @Failure 403 :id is empty func System_FindDomainPage(c *entitys.CtrlContext) { page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1")) rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10")) paramMap_i_t := map[string]interface{}{"page": page, "rows": rows} result, err := sysutils.PageSearch(c.Db, "system", "find_domain_page", "sys_domain", 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}) } } // _FindRoleMenu // @Title _FindRoleMenu // @Description 查找角色权限 // @Param role_id string false "角色id" // @Success 200 {object} Account // @Failure 403 :id is empty func System_FindRoleMenu(c *entitys.CtrlContext) { role_id := c.Ctx.Query("role_id") ret := __none_func_system__(role_id) if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _SaveRoleMenu // @Title _SaveRoleMenu // @Description 保存角色权限 // @Param role_menu string false "角色权限" // @Success 200 {object} Account // @Failure 403 :id is empty func System_SaveRoleMenu(c *entitys.CtrlContext) { var paramObj0 []models.SaveRoleMenu c.Ctx.BindJSON(¶mObj0) ret := __none_func_system__(paramObj0) if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _RoleAll // @Title _RoleAll // @Description 查找所有角色 // @Success 200 {object} Account // @Failure 403 :id is empty func System_RoleAll(c *entitys.CtrlContext) { ret := __none_func_system__() if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _FindPermissions // @Title _FindPermissions // @Description 查找用户权限 // @Success 200 {object} Account // @Failure 403 :id is empty func System_FindPermissions(c *entitys.CtrlContext) { ret := __none_func_system__() if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _AddMenu // @Title _AddMenu // @Description 添加菜单 // @Param string false "菜单" // @Success 200 {object} Account // @Failure 403 :id is empty func System_AddMenu(c *entitys.CtrlContext) { var paramObj0 models.SysMenu c.Ctx.BindJSON(¶mObj0) tk, _ := c.Ctx.Get("token") user := tk.(*entitys.Token) paramObj0.Id = sysutils.NewUUID() paramObj0.CreateBy = user.UserId paramObj0.LastUpdateBy = user.UserId paramObj0.CreateTime = models.NowLocal() paramObj0.LastUpdateTime = time.Now().UnixNano() paramObj0.DelFlag = 0 if paramObj0.Parent != "" { parentNodes := []sysmodel.SysMenu{} err := c.Db.SqlMapClient("select_parent_menu", paramObj0.Parent).Find(&parentNodes) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } paramObj0.Inheritance = fmt.Sprintf("|%s%s", paramObj0.Id, parentNodes[0].Inheritance) } else { paramObj0.Inheritance = fmt.Sprintf("|%s|", paramObj0.Id) } //_, err := c.LocalSqlMapClient("insert_sys_menu", ¶mObj0).Execute() paramMap, err := sysutils.BeanToMap(¶mObj0) _, err = c.Db.SqlMapClient("insert_sys_menu", paramMap).Execute() if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _DelMenu // @Title _DelMenu // @Description 删除菜单 // @Param id string false "菜单ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_DelMenu(c *entitys.CtrlContext) { type Param struct { Id string `json:"id"` } var params []Param c.Ctx.BindJSON(¶ms) ids := []string{} for _, param := range params { ids = append(ids, param.Id) } _, err := c.Db.Table(new(models.SysMenu)).In("id", ids).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, "", nil}) } } // _UpdateMenu // @Title _UpdateMenu // @Description 更新菜单 // @Param string false "菜单" // @Success 200 {object} Account // @Failure 403 :id is empty func System_UpdateMenu(c *entitys.CtrlContext) { var paramObj0 models.SysMenu err := c.Ctx.BindJSON(¶mObj0) tk, _ := c.Ctx.Get("token") user := tk.(*entitys.Token) if paramObj0.Parent != "" { parentNode := sysmodel.SysMenu{} bool, err := c.Db.SqlMapClient("select_parent_menu", paramObj0.Parent).Get(&parentNode) if !bool || err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } paramObj0.Inheritance = fmt.Sprintf("|%s%s", paramObj0.Id, parentNode.Inheritance) } else { paramObj0.Inheritance = fmt.Sprintf("|%s|", paramObj0.Id) } paramObj0.LastUpdateBy = user.UserId paramObj0.LastUpdateTime = time.Now().UnixNano() sess := c.Db.NewSession() sess.Begin() paramMap, err := sysutils.BeanToMap(¶mObj0) _, err = sess.SqlMapClient("update_sys_menu", paramMap).Execute() if err != nil { sess.Rollback() c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } // 查找目录,修改Inheritance值 //childrenNodes := []sysmodel.SysMenu{} childrenNode := new(sysmodel.SysMenu) rows, err := sess.SqlMapClient("select_children_menu", paramObj0.Id).Rows(childrenNode) if err != nil { sess.Rollback() c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } defer rows.Close() for rows.Next() { err = rows.Scan(childrenNode) if err != nil { sess.Rollback() c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } childrenNode.Inheritance = fmt.Sprintf("%s%s|", paramObj0.Inheritance, childrenNode.Id) childrenNode.LastUpdateBy = user.UserId childrenNode.LastUpdateTime = time.Now().UnixNano() paramMap, _ := sysutils.BeanToMap(childrenNode) _, err = c.Db.SqlMapClient("update_sys_menu", paramMap).Execute() if err != nil { break } } if err == nil { sess.Commit() c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { sess.Rollback() c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _AddOrg // @Title _AddOrg // @Description 添加组织 // @Param name string false "组织名称" // @Param domain string false "域" // @Param parent string false "父ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_AddOrg(c *entitys.CtrlContext) { var paramObj0 models.SysOrg c.Ctx.BindJSON(¶mObj0) tk, _ := c.Ctx.Get("token") user := tk.(*entitys.Token) paramObj0.Id = sysutils.NewUUID() paramObj0.CreateBy = user.UserId paramObj0.LastUpdateBy = user.UserId paramObj0.CreateTime = models.NowLocal() paramObj0.LastUpdateTime = time.Now().UnixNano() paramObj0.DelFlag = 0 if paramObj0.Parent != "" { parentNodes := []sysmodel.SysOrg{} err := c.Db.SqlMapClient("one_sys_org", map[string]interface{}{"id": paramObj0.Parent}).Find(&parentNodes) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } paramObj0.Inheritance = fmt.Sprintf("|%s%s", paramObj0.Id, parentNodes[0].Inheritance) } else { paramObj0.Inheritance = fmt.Sprintf("|%s|", paramObj0.Id) } //_, err := c.LocalSqlMapClient("insert_sys_org", ¶mObj0).Execute() paramMap, err := sysutils.BeanToMap(¶mObj0) _, err = c.Db.SqlMapClient("insert_sys_org", paramMap).Execute() if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _DelOrg // @Title _DelOrg // @Description 删除组织 // @Param id string array false "用户ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_DelOrg(c *entitys.CtrlContext) { type Param struct { Id string `json:"id"` } var params []Param c.Ctx.BindJSON(¶ms) ids := []string{} for _, param := range params { ids = append(ids, param.Id) } _, err := c.Db.Table(new(models.SysOrg)).In("id", ids).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}) } } // _UpdateOrg // @Title _UpdateOrg // @Description 修改组织 // @Param name string false "组织名称" // @Param domain string false "域" // @Param parent string false "父ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_UpdateOrg(c *entitys.CtrlContext) { //name := c.Ctx.Query("name") //domain := c.Ctx.Query("domain") //parent := c.Ctx.Query("parent") var paramObj0 models.SysOrg err := c.Ctx.BindJSON(¶mObj0) tk, _ := c.Ctx.Get("token") user := tk.(*entitys.Token) if paramObj0.Parent != "" { parentNodes := []sysmodel.SysOrg{} err := c.Db.SqlMapClient("one_sys_org", paramObj0.Parent).Find(&parentNodes) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } paramObj0.Inheritance = fmt.Sprintf("|%s%s", paramObj0.Id, parentNodes[0].Inheritance) } else { paramObj0.Inheritance = fmt.Sprintf("|%s|", paramObj0.Id) } paramObj0.LastUpdateBy = user.UserId paramObj0.LastUpdateTime = time.Now().UnixNano() paramMap, err := sysutils.BeanToMap(¶mObj0) _, err = c.Db.SqlMapClient("update_sys_org", paramMap).Execute() if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _GetOrgByUserid // @Title _GetOrgByUserid // @Description 根据组织 // @Param user_id string false "用户id" // @Success 200 {object} Account // @Failure 403 :id is empty func System_GetOrgUsers(c *entitys.CtrlContext) { user_id := c.Ctx.Query("user_id") role_id := c.Ctx.Query("role_id") fmt.Println(user_id, "---------", role_id) var err error //users := []sysmodel.SysUser{} var users []sysmodel.SysUser if role_id == "" { err = c.Db.SqlMapClient("get_org_users", user_id).Find(&users) } else { err = c.Db.SqlMapClient("get_org_role_users", user_id, role_id).Find(&users) if err != nil || users == nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, "无法找到部门审批人!", nil}) return } } if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", users}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "错误", nil}) } } // _AddDomain // @Title _AddDomain // @Description 添加域 // @Param false "域" // @Success 200 {object} Account // @Failure 403 :id is empty func System_AddDomain(c *entitys.CtrlContext) { var paramObj0 models.SysDomain c.Ctx.BindJSON(¶mObj0) ////1、测试连接串 //db, err := xorm.NewEngine("mysql", paramObj0.DataSource) //if err == nil { // //engine.initOrmEngine(db, "mysql") // //c.BusinessOrmEngine[v.Domain] = db //} tk, _ := c.Ctx.Get("token") user := tk.(*entitys.Token) paramObj0.Id = sysutils.NewUUID() paramObj0.CreateBy = user.UserId paramObj0.LastUpdateBy = user.UserId paramObj0.CreateTime = sysmodel.NowLocal() paramObj0.LastUpdateTime = time.Now().UnixNano() paramObj0.Theme = "default" paramObj0.DelFlag = 0 paramMap, err := sysutils.BeanToMap(¶mObj0) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } _, err = c.Db.SqlMapClient("insert_sys_domain", paramMap).Execute() if err == nil { //添加数据库基本用户权限数据 ret := c.App.AddBusinessDb(paramObj0.Id, "admin@"+paramObj0.Domain, paramObj0.Domain, paramObj0.DataSource, true) if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", paramObj0.Id}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "数据库初始化错误。", nil}) } } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _DelDomain // @Title _DelDomain // @Description 删除域 // @Param id string false "域ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_DelDomain(c *entitys.CtrlContext) { type Param struct { Id string `json:"id"` } var params []Param c.Ctx.BindJSON(¶ms) ids := []string{} for _, param := range params { ids = append(ids, param.Id) } _, err := c.Db.Table(new(models.SysDomain)).In("id", ids).Update(map[string]interface{}{"del_flag": 1}) if err != nil { c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil}) return } ret := __none_func_system__() if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(200, sysmodel.SysReturn{500, "", nil}) } } // _UpdateDomain // @Title _UpdateDomain // @Description 修改域 // @Param false "域" // @Success 200 {object} Account // @Failure 403 :id is empty func System_UpdateDomain(c *entitys.CtrlContext) { var paramObj0 models.SysDomain c.Ctx.BindJSON(¶mObj0) tk, _ := c.Ctx.Get("token") user := tk.(*entitys.Token) paramObj0.LastUpdateTime = time.Now().UnixNano() paramObj0.LastUpdateBy = user.UserId paramMap, err := sysutils.BeanToMap(¶mObj0) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } _, err = c.Db.SqlMapClient("update_sys_domain", paramMap).Execute() if err == nil { //添加数据库基本用户权限数据 ret := c.App.AddBusinessDb(paramObj0.Id, "admin@"+paramObj0.Domain, paramObj0.Domain, paramObj0.DataSource, true) if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", paramObj0.Id}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "数据库初始化错误。", nil}) } } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _GetDomain // @Title _GetDomain // @Description 根据domain获取域 // @Param domain string false "域" // @Success 200 {object} Account // @Failure 403 :id is empty func System_GetDomain(c *entitys.CtrlContext) { domain := c.Ctx.Query("domain") var domainObj sysmodel.SysDomain _, err := c.PlatformDbEngine.Where("domain = ?", domain).Get(&domainObj) if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", domainObj}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _AddDomainMenu // @Title _AddDomainMenu // @Description 域添加菜单 // @Param false "添加域菜单bean" // @Success 200 {object} Account // @Failure 403 :id is empty func System_AddDomainMenu(c *entitys.CtrlContext) { var paramObj0 struct { //域名ID DomainId string `json:"domain_id"` //菜单 Menus []sysmodel.SysMenu `json:"menus"` // type Type int `json:"type"` } err := c.Ctx.BindJSON(¶mObj0) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, "BindJSON error: " + err.Error(), nil}) return } var domain sysmodel.SysDomain param := map[string]interface{}{"id": paramObj0.DomainId} _, err = c.Db.SqlMapClient("selectone_sys_domain", ¶m).Get(&domain) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, "not find domain error: " + err.Error(), nil}) return } var menuIds = make([]string, len(paramObj0.Menus)) for i := range paramObj0.Menus { menuIds[i] = paramObj0.Menus[i].Id } var menus []sysmodel.SysMenu err = c.Db.In("id", menuIds).Find(&menus) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, "find menu error: " + err.Error(), nil}) return } for i := range menus { for j := range paramObj0.Menus { if menus[i].Id == paramObj0.Menus[j].Id { menus[i].Name = paramObj0.Menus[j].Name break } } } session := c.App.GetBusinessDb(domain.Domain).NewSession() defer session.Close() session.Begin() deleteSqlMapKey := "" if paramObj0.Type >= 0 { deleteSqlMapKey = "delete_backend_sys_menu" } else { deleteSqlMapKey = "delete_app_sys_menu" } _, err = c.App.GetBusinessDb(domain.Domain).SqlMapClient(deleteSqlMapKey).Execute() if err != nil { session.Rollback() c.Ctx.JSON(500, sysmodel.SysReturn{500, "Insert menu error: " + err.Error(), nil}) return } if len(paramObj0.Menus) <= 0 { session.Commit() c.Ctx.JSON(200, sysmodel.SysReturn{200, "the menus is empty", nil}) return } _, err = c.App.GetBusinessDb(domain.Domain).Insert(¶mObj0.Menus) if err != nil { session.Rollback() c.Ctx.JSON(500, sysmodel.SysReturn{500, "Insert menu error: " + err.Error(), nil}) return } session.Commit() ret := __none_func_system__(paramObj0) if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _GetDomainMenuTree // @Title _GetDomainMenuTree // @Description 域添加菜单 // @Param domain_id string false "域id" // @Success 200 {object} Account // @Failure 403 :id is empty func System_GetDomainMenuTree(c *entitys.CtrlContext) { domain_id := c.Ctx.Query("domain_id") _type := c.Ctx.DefaultQuery("type", "") type_op := c.Ctx.DefaultQuery("type_op", "") op := template.HTML(type_op) var domain sysmodel.SysDomain param := map[string]interface{}{"id": domain_id, "type": _type, "type_op": op} _, err := c.Db.SqlMapClient("selectone_sys_domain", ¶m).Get(&domain) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, "not find domain error: " + err.Error(), nil}) return } paramMap := map[string]interface{}{"user_id": "", "type": _type, "type_op": op, "name": "", "hidden": ""} domainMenus, err := c.App.GetBusinessDb(domain.Domain).SqlTemplateClient("system_get_menu_tree.tpl", ¶mMap).Query().List() if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, "get domain_menu tree: " + err.Error(), nil}) return } domainTree, err := sysutils.BuildTree("", domainMenus) sysMenus, err := c.Db.SqlTemplateClient("system_get_menu_tree.tpl", ¶mMap).Query().List() if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, "get sys_menu tree: " + err.Error(), nil}) return } var sysMenusMap map[string]map[string]interface{} sysMenusMap = make(map[string]map[string]interface{}, 0) for _, menu := range sysMenus { sysMenusMap[menu["id"].(string)] = menu } //剔除域已存在的菜单 //for _, domainMenu := range domainMenus { // delete(sysMenusMap, domainMenu["id"].(string)) //} var sysMenuRest []map[string]interface{} for _, menu := range sysMenusMap { sysMenuRest = append(sysMenuRest, menu) } sysTree, err := sysutils.BuildTree("", sysMenuRest) ret := __none_func_system__(domain_id) if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", map[string]interface{}{"sys_tree": sysTree, "domain_tree": domainTree}}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _GetUserMenuTree // @Title _GetUserMenuTree // @Description 获取用户权限菜单 // @Param user_id string false "用户id" // @Success 200 {object} Account // @Failure 403 :id is empty func System_GetRoleMenuTree(c *entitys.CtrlContext) { role_id := c.Ctx.Query("role_id") //paramMap := map[string]interface{}{"role_id": role_id} //sysMenu, err := c.Db.SqlMapClient("get_role_no_have_menu_tree", ¶mMap).Query().List() //if err != nil { // c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) // return //} //sysTree, err := sysutils.BuildTree("", sysMenu) op := template.HTML(">=") paramMap := map[string]interface{}{"user_id": "", "sort": "name", "type": 0, "type_op": op, "hidden": 0} sysTree, err := sysutils.TreeSearch(c.Db, "system", "get_menu_tree", "sys_menu", paramMap) if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } paramMap2 := map[string]interface{}{"role_id": role_id} //roleTree, err := sysutils.TreeSearch(c.Db, "system", "get_role_menu_tree", "sys_menu", paramMap2) roleMenu, err := c.Db.SqlMapClient("get_role_menu_tree", ¶mMap2).Query().List() if err != nil { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } roleTree, err := sysutils.BuildTree("", roleMenu) ret := __none_func_system__(role_id) if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", map[string]interface{}{"sys_tree": sysTree, "role_tree": roleTree}}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _AddRoleMenu // @Title _AddRoleMenu // @Description 添加角色菜单 // @Param menu_id false "菜单id" // @Param role_id string false "角色id" // @Success 200 {object} Account // @Failure 403 :id is empty func System_AddRoleMenu(c *entitys.CtrlContext) { tk, _ := c.Ctx.Get("token") user := tk.(*entitys.Token) var paramObj0 struct { MenuIds []string `json:"menu_ids"` RoleId string `json:"role_id"` } c.Ctx.BindJSON(¶mObj0) session := c.Db.NewSession() defer session.Close() session.Begin() _, err := session.SqlMapClient("del_role_menu", paramObj0.RoleId).Execute() if err != nil { session.Rollback() c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } var roleMenus []*sysmodel.SysRoleMenu for _, menu := range paramObj0.MenuIds { roleMenu := &sysmodel.SysRoleMenu{} roleMenu.Id = sysutils.NewUUID() roleMenu.MenuId = menu roleMenu.RoleId = paramObj0.RoleId roleMenu.CreateBy = user.UserId roleMenu.CreateTime = sysmodel.NowLocal() roleMenus = append(roleMenus, roleMenu) } _, err = session.InsertMulti(&roleMenus) if err != nil { session.Rollback() c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) return } session.Commit() ret := __none_func_system__(paramObj0) if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _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{} type Param struct { Id string `json:"id"` } var params []Param c.Ctx.BindJSON(¶ms) ids := []string{} for _, param := range params { ids = append(ids, param.Id) } 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", ids).Delete(bean) if err == nil { _, err = session.Table(bean).In("id", ids).Update(map[string]interface{}{"del_flag": 1}) } if err == nil { err = session.Commit() } 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.Table(&bean).Where("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}) return } 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("get_area", &map[string]interface{}{"id": id}).Get(&area) result := c.Db.SqlMapClient("get_area", &map[string]interface{}{"id": id}).Query() if result.Result != nil && len(result.Result) > 0 { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result.Result[0]}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", 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}) } } // _FindAreaTemplatePage // @Title _FindAreaTemplatePage // @Description 获取区域模板分页数 // @Success 200 {object} Account // @Failure 403 :id is empty func System_FindAreaTemplatePage(c *entitys.CtrlContext) { page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1")) rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10")) del_flag := c.Ctx.Query("del_flag") name := c.Ctx.Query("name") paramMap_i_t := map[string]interface{}{"page": page, "rows": rows, "del_flag": del_flag, "name": name} result, err := sysutils.PageSearch(c.Db, "system", "find_area_template_page", "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}) } } // _AddAreaTemplate // @Title _AddAreaTemplate // @Description 添加区域模板 // @Param name string false "名称" // @Param type int64 false "模板类型 0:固定模板 1:动态模板 2:自定义模板" // @Param default int64 false "是否默认 1:是 0:否" // @Success 200 {object} Account // @Failure 403 :id is empty func System_AddAreaTemplate(c *entitys.CtrlContext) { var err error var bean sysmodel.SysAreaTemplate 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() _, 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}) } } // _UpdateAreaTemplate // @Title _UpdateAreaTemplate // @Description 修改区域模板 // @Param name string false "名称" // @Param type int64 false "模板类型 0:固定模板 1:动态模板 2:自定义模板" // @Param default int64 false "是否默认 1:是 0:否" // @Success 200 {object} Account // @Failure 403 :id is empty func System_UpdateAreaTemplate(c *entitys.CtrlContext) { var err error var bean sysmodel.SysAreaTemplate 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.Table(&bean).Where("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}) return } bean.LastUpdateBy = user_id bean.LastUpdateTime = time.Now().UnixNano() _, 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}) } } // _DelAreaTemplate // @Title _DelAreaTemplate // @Description 删除区域模板 // @Param ids string false "区域模板ID 多个之间(,)隔开" // @Success 200 {object} Account // @Failure 403 :id is empty func System_DelAreaTemplate(c *entitys.CtrlContext) { var err error var bean = &models.SysAreaTemplate{} type Param struct { Id string `json:"id"` } var params []Param c.Ctx.BindJSON(¶ms) ids := []string{} for _, param := range params { ids = append(ids, param.Id) } 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", ids).Delete(bean) if err == nil { _, err = session.Table(bean).In("id", ids).Update(map[string]interface{}{"del_flag": 1}) } if err == nil { err = session.Commit() } if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _RecoverAreaTemplate // @Title _RecoverAreaTemplate // @Description 恢复区域模板 // @Param ids string false "区域模板ID 多个之间(,)隔开" // @Success 200 {object} Account // @Failure 403 :id is empty func System_RecoverAreaTemplate(c *entitys.CtrlContext) { var err error var bean = &models.SysAreaTemplate{} 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}) } } // _GetAreaTemplate // @Title _GetAreaTemplate // @Description 根据区域模板ID获取区域模板信息 // @Param id string false "区域模板ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_GetAreaTemplate(c *entitys.CtrlContext) { id := c.Ctx.Query("id") var area sysmodel.SysAreaTemplate exist, err := c.Db.SqlMapClient("selectone_sys_area_template", &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}) } } // _FindAreaTemplateDetailPage // @Title _FindAreaTemplateDetailPage // @Description 获取区域模板明细分页数 // @Success 200 {object} Account // @Failure 403 :id is empty func System_FindAreaTemplateDetailPage(c *entitys.CtrlContext) { page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1")) rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10")) del_flag := c.Ctx.Query("del_flag") __sort__ := c.Ctx.Query("__sort__") name := c.Ctx.Query("name") temp_id := c.Ctx.Query("temp_id") paramMap_i_t := map[string]interface{}{"page": page, "rows": rows, "del_flag": del_flag, "name": name, "temp_id": temp_id, "__sort__": __sort__} result, err := sysutils.PageSearch(c.Db, "system", "find_area_template_detail_page", "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}) } } // _AddAreaTemplateDetail // @Title _AddAreaTemplateDetail // @Description 添加区域模板明细 // @Param temp_id string false "模板id" // @Param name string false "名称" // @Param value string false "值" // @Param type int64 false "类型 0:数值项 1:单选项 2:文字项 3:列表项" // @Param priority int64 false "优先级" // @Param content string false "内容" // @Success 200 {object} Account // @Failure 403 :id is empty func System_AddAreaTemplateDetail(c *entitys.CtrlContext) { var err error var bean sysmodel.SysAreaTemplateDetail 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() _, 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}) } } // _UpdateAreaTemplateDetail // @Title _UpdateAreaTemplateDetail // @Description 修改区域模板明细 // @Param temp_id string false "模板id" // @Param name string false "名称" // @Param value string false "值" // @Param type int64 false "类型 0:数值项 1:单选项 2:文字项 3:列表项" // @Param priority int64 false "优先级" // @Param content string false "内容" // @Success 200 {object} Account // @Failure 403 :id is empty func System_UpdateAreaTemplateDetail(c *entitys.CtrlContext) { var err error var bean sysmodel.SysAreaTemplateDetail 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.Table(&bean).Where("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}) return } bean.LastUpdateBy = user_id bean.LastUpdateTime = time.Now().UnixNano() _, 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}) } } // _DelAreaTemplateDetail // @Title _DelAreaTemplateDetail // @Description 删除区域模板明细 // @Param ids string false "区域模板明细ID 多个之间(,)隔开" // @Success 200 {object} Account // @Failure 403 :id is empty func System_DelAreaTemplateDetail(c *entitys.CtrlContext) { var err error var bean = &models.SysAreaTemplateDetail{} type Param struct { Id string `json:"id"` } var params []Param c.Ctx.BindJSON(¶ms) ids := []string{} for _, param := range params { ids = append(ids, param.Id) } 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", ids).Delete(bean) if err == nil { _, err = session.Table(bean).In("id", ids).Update(map[string]interface{}{"del_flag": 1}) } if err == nil { err = session.Commit() } if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _RecoverAreaTemplateDetail // @Title _RecoverAreaTemplateDetail // @Description 恢复区域模板明细 // @Param ids string false "区域模板明细ID 多个之间(,)隔开" // @Success 200 {object} Account // @Failure 403 :id is empty func System_RecoverAreaTemplateDetail(c *entitys.CtrlContext) { var err error var bean = &models.SysAreaTemplateDetail{} 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}) } } // _GetAreaTemplateDetail // @Title _GetAreaTemplateDetail // @Description 根据区域模板明细ID获取区域模板明细信息 // @Param id string false "区域模板明细ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_GetAreaTemplateDetail(c *entitys.CtrlContext) { id := c.Ctx.Query("id") var area sysmodel.SysAreaTemplateDetail exist, err := c.Db.SqlMapClient("selectone_sys_area_template_detail", &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}) } } // _FindUserTemplatePage // @Title _FindUserTemplatePage // @Description 获取用户信息模板分页数 // @Success 200 {object} Account // @Failure 403 :id is empty func System_FindUserTemplatePage(c *entitys.CtrlContext) { page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1")) rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10")) del_flag := c.Ctx.Query("del_flag") name := c.Ctx.Query("name") paramMap_i_t := map[string]interface{}{"page": page, "rows": rows, "del_flag": del_flag, "name": name} result, err := sysutils.PageSearch(c.Db, "system", "find_user_template_page", "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}) } } // _AddUserTemplate // @Title _AddUserTemplate // @Description 添加用户信息模板 // @Param name string false "名称" // @Param type int64 false "模板类型 0:固定模板 1:动态模板 2:自定义模板" // @Param default int64 false "是否默认 1:是 0:否" // @Success 200 {object} Account // @Failure 403 :id is empty func System_AddUserTemplate(c *entitys.CtrlContext) { var err error var bean sysmodel.SysUserTemplate 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() _, 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}) } } // _UpdateUserTemplate // @Title _UpdateUserTemplate // @Description 修改用户信息模板 // @Param name string false "名称" // @Param type int64 false "模板类型 0:固定模板 1:动态模板 2:自定义模板" // @Param default int64 false "是否默认 1:是 0:否" // @Success 200 {object} Account // @Failure 403 :id is empty func System_UpdateUserTemplate(c *entitys.CtrlContext) { var err error var bean sysmodel.SysUserTemplate 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.Table(&bean).Where("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}) return } bean.LastUpdateBy = user_id bean.LastUpdateTime = time.Now().UnixNano() _, 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}) } } // _DelUserTemplate // @Title _DelUserTemplate // @Description 删除用户信息模板 // @Param ids string false "用户信息模板ID 多个之间(,)隔开" // @Success 200 {object} Account // @Failure 403 :id is empty func System_DelUserTemplate(c *entitys.CtrlContext) { var err error var bean = &models.SysUserTemplate{} type Param struct { Id string `json:"id"` } var params []Param c.Ctx.BindJSON(¶ms) ids := []string{} for _, param := range params { ids = append(ids, param.Id) } 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", ids).Delete(bean) if err == nil { _, err = session.Table(bean).In("id", ids).Update(map[string]interface{}{"del_flag": 1}) } if err == nil { err = session.Commit() } if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _RecoverUserTemplate // @Title _RecoverUserTemplate // @Description 恢复用户信息模板 // @Param ids string false "用户信息模板ID 多个之间(,)隔开" // @Success 200 {object} Account // @Failure 403 :id is empty func System_RecoverUserTemplate(c *entitys.CtrlContext) { var err error var bean = &models.SysUserTemplate{} 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}) } } // _GetUserTemplate // @Title _GetUserTemplate // @Description 根据用户信息模板ID获取用户信息模板信息 // @Param id string false "用户信息模板ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_GetUserTemplate(c *entitys.CtrlContext) { id := c.Ctx.Query("id") var area sysmodel.SysUserTemplate exist, err := c.Db.SqlMapClient("selectone_sys_user_template", &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}) } } // _FindUserTemplateDetailPage // @Title _FindUserTemplateDetailPage // @Description 获取用户信息模板明细分页数 // @Success 200 {object} Account // @Failure 403 :id is empty func System_FindUserTemplateDetailPage(c *entitys.CtrlContext) { page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1")) rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10")) del_flag := c.Ctx.Query("del_flag") __sort__ := c.Ctx.Query("__sort__") name := c.Ctx.Query("name") temp_id := c.Ctx.Query("temp_id") paramMap_i_t := map[string]interface{}{"page": page, "rows": rows, "del_flag": del_flag, "name": name, "temp_id": temp_id, "__sort__": __sort__} result, err := sysutils.PageSearch(c.Db, "system", "find_user_template_detail_page", "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}) } } // _AddUserTemplateDetail // @Title _AddUserTemplateDetail // @Description 添加用户信息模板明细 // @Param temp_id string false "模板id" // @Param name string false "名称" // @Param value string false "值" // @Param type int64 false "类型 0:数值项 1:单选项 2:文字项 3:列表项" // @Param priority int64 false "优先级" // @Param content string false "内容" // @Success 200 {object} Account // @Failure 403 :id is empty func System_AddUserTemplateDetail(c *entitys.CtrlContext) { var err error var bean sysmodel.SysUserTemplateDetail 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() _, 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}) } } // _UpdateUserTemplateDetail // @Title _UpdateUserTemplateDetail // @Description 修改用户信息模板明细 // @Param temp_id string false "模板id" // @Param name string false "名称" // @Param value string false "值" // @Param type int64 false "类型 0:数值项 1:单选项 2:文字项 3:列表项" // @Param priority int64 false "优先级" // @Param content string false "内容" // @Success 200 {object} Account // @Failure 403 :id is empty func System_UpdateUserTemplateDetail(c *entitys.CtrlContext) { var err error var bean sysmodel.SysUserTemplateDetail 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.Table(&bean).Where("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}) return } bean.LastUpdateBy = user_id bean.LastUpdateTime = time.Now().UnixNano() _, 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}) } } // _DelUserTemplateDetail // @Title _DelUserTemplateDetail // @Description 删除用户信息模板明细 // @Param ids string false "用户信息模板明细ID 多个之间(,)隔开" // @Success 200 {object} Account // @Failure 403 :id is empty func System_DelUserTemplateDetail(c *entitys.CtrlContext) { var err error var bean = &models.SysUserTemplateDetail{} type Param struct { Id string `json:"id"` } var params []Param c.Ctx.BindJSON(¶ms) ids := []string{} for _, param := range params { ids = append(ids, param.Id) } 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", ids).Delete(bean) if err == nil { _, err = session.Table(bean).In("id", ids).Update(map[string]interface{}{"del_flag": 1}) } if err == nil { err = session.Commit() } if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _RecoverUserTemplateDetail // @Title _RecoverUserTemplateDetail // @Description 恢复用户信息模板明细 // @Param ids string false "用户信息模板明细ID 多个之间(,)隔开" // @Success 200 {object} Account // @Failure 403 :id is empty func System_RecoverUserTemplateDetail(c *entitys.CtrlContext) { var err error var bean = &models.SysUserTemplateDetail{} 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}) } } // _GetUserTemplateDetail // @Title _GetUserTemplateDetail // @Description 根据用户信息模板明细ID获取用户信息模板明细信息 // @Param id string false "用户信息模板明细ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_GetUserTemplateDetail(c *entitys.CtrlContext) { id := c.Ctx.Query("id") var area sysmodel.SysUserTemplateDetail exist, err := c.Db.SqlMapClient("selectone_sys_user_template_detail", &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}) } } // _AddOptionset // @Title _AddOptionset // @Description 添加字典 // @Param false "字典" // @Success 200 {object} Account // @Failure 403 :id is empty func System_AddOptionset(c *entitys.CtrlContext) { var paramObj0 models.SysOptionset c.Ctx.BindJSON(¶mObj0) user_id := c.Ctx.GetString("user_id") paramObj0.Id = sysutils.NewUUID() paramObj0.CreateBy = user_id paramObj0.CreateTime = sysmodel.NowLocal() paramObj0.LastUpdateTime = time.Now().UnixNano() paramObj0.LastUpdateBy = user_id paramObj0.DelFlag = 0 paramMap, _ := sysutils.BeanToMap(¶mObj0) _, err := c.Db.SqlMapClient("insert_sys_optionset", paramMap).Execute() if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _DelOptionset // @Title _DelOptionset // @Description 删除字典 // @Param id string false "字典ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_DelOptionset(c *entitys.CtrlContext) { type Param struct { Id string `json:"id"` } var params []Param c.Ctx.BindJSON(¶ms) ids := []string{} for _, param := range params { ids = append(ids, param.Id) } _, err := c.Db.Table(new(models.SysOptionset)).In("id", ids).Update(map[string]interface{}{"del_flag": 1, "last_update_time": time.Now().UnixNano(), "last_update_by": c.Ctx.GetString("user_id")}) if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _UpdateOptionset // @Title _UpdateOptionset // @Description 修改字典 // @Param false "字典" // @Success 200 {object} Account // @Failure 403 :id is empty func System_UpdateOptionset(c *entitys.CtrlContext) { var paramObj0 models.SysOptionset c.Ctx.BindJSON(¶mObj0) user_id := c.Ctx.GetString("user_id") paramObj0.LastUpdateBy = user_id paramObj0.LastUpdateTime = time.Now().UnixNano() paramMap, _ := sysutils.BeanToMap(¶mObj0) _, err := c.Db.SqlMapClient("update_sys_optionset", paramMap).Execute() if err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil}) } } // _FindOptionsetPage // @Title _FindOptionsetPage // @Description 获取字典分页数 // @Success 200 {object} Account // @Failure 403 :id is empty func System_FindOptionsetPage(c *entitys.CtrlContext) { page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1")) rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10")) name := c.Ctx.DefaultQuery("name", "") code := c.Ctx.DefaultQuery("code", "") paramMap_i_t := map[string]interface{}{"page": page, "rows": rows, "name": name, "code": code} result, err := sysutils.PageSearch(c.Db, "system", "find_optionset_page", "sys_optionset", 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}) } } // _GetOptionsetByCode // @Title _GetOptionsetByCode // @Description 根据编码查找字典 // @Param code string false "字典编码" // @Success 200 {object} Account // @Failure 403 :id is empty func System_GetOptionsetByCode(c *entitys.CtrlContext) { code := c.Ctx.Query("code") var option sysmodel.SysOptionset exit, err := c.Db.Table(new(sysmodel.SysOptionset)).Where("code = ?", code).Get(&option) if exit && err == nil { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", option}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _AddDataPermission // @Title _AddDataPermission // @Description 添加数据权限 // @Param string false "数据权限" // @Success 200 {object} Account // @Failure 403 :id is empty func System_AddDataPermission(c *entitys.CtrlContext) { var paramObj0 models.SysDataPermission c.Ctx.BindJSON(¶mObj0) ret := __none_func_system__(paramObj0) if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _DelDataPermission // @Title _DelDataPermission // @Description 删除数据权限 // @Param id string false "数据权限ID" // @Success 200 {object} Account // @Failure 403 :id is empty func System_DelDataPermission(c *entitys.CtrlContext) { id := c.Ctx.Query("id") ret := __none_func_system__(id) if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _UpdateDataPermission // @Title _UpdateDataPermission // @Description 更新数据权限 // @Param string false "数据权限" // @Success 200 {object} Account // @Failure 403 :id is empty func System_UpdateDataPermission(c *entitys.CtrlContext) { var paramObj0 models.SysDataPermission c.Ctx.BindJSON(¶mObj0) ret := __none_func_system__(paramObj0) if ret { c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil}) } else { c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil}) } } // _FindDataPermissionPage // @Title _FindDataPermissionPage // @Description 分页获取数据权限 // @Success 200 {object} Account // @Failure 403 :id is empty func System_FindDataPermissionPage(c *entitys.CtrlContext) { page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1")) rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10")) paramMap_i_t := map[string]interface{}{"page": page, "rows": rows} result, err := sysutils.PageSearch(c.Db, "system", "find_data_permission_page", "data_permission", 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 }