12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package models
- import (
- "fmt"
- "zhiyuan/pkg/db"
- "github.com/gin-gonic/gin"
- )
- type Dept struct {
- ID int `json:"id"`
- Name string `json:"name"`
- Pid int `json:"pid"`
- Attribute int `json:"attribute"`
- CreatedAt int `json:"created_at"`
- UpdatedAt int `json:"updated_at"`
- db.BaseModel
- }
- func (Dept) TableName() string {
- return "zy_dept"
- }
- func (model Dept) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool {
- return true
- }
- func (Dept) DeletedField() string {
- return ""
- }
- func (d Dept) GetOne(where map[string]interface{}, fields []string, retVal interface{}) (*Dept, error) {
- if retVal == nil {
- var dept *Dept
- err := db.GetOne(d.TableName(), where, fields, &dept)
- return dept, err
- } else {
- err := db.GetOne(d.TableName(), where, fields, retVal)
- return nil, err
- }
- }
- func (d Dept) GetMulti(where map[string]interface{}, fields []string, retVal interface{}) ([]*Dept, error) {
- if retVal == nil {
- var dept []*Dept
- err := db.GetMulti(d.TableName(), where, fields, &dept)
- return dept, err
- } else {
- err := db.GetMulti(d.TableName(), where, fields, retVal)
- return nil, err
- }
- }
- type DeptDivision struct {
- Dept
- ID int `json:"id"`
- Name string `json:"name" prop:"select:concat(dept.name,'/',zy_dept.name)"`
- }
- func (model DeptDivision) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool {
- s.Where = append(s.Where, fmt.Sprintf("`%s`.`attribute` = %s", model.TableName(), s.Param(1)))
- return true
- }
- func (model DeptDivision) LeftJoin(data map[string]interface{}, s *db.Select) []db.JoinModel {
- return []db.JoinModel{
- {
- Model: Dept{},
- As: "dept",
- On: []string{"`dept`.`id` = " + model.TableName() + ".`pid`"},
- },
- }
- }
|