1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package models
- import (
- "zhiyuan/pkg/db"
- "github.com/gin-gonic/gin"
- )
- type WorkPkg struct {
- ID int64 `json:"id" prop:"add:false"`
- Name string `json:"name" label:"套餐名称" type:"string" prop:"add edit" search:"like"`
- Days int64 `json:"days" label:"工期" type:"int" prop:"add edit" default:"0"`
- ReturnVisitID int64 `json:"return_visit_id" label:"客服回访" type:"int" prop:"edit" default:"0"`
- State int64 `json:"state" label:"状态" type:"int" prop:"edit" default:"0"`
- OrderAt int64 `json:"order_at" prop:"add:false select:false"`
- DeletedAt int64 `json:"deleted_at" prop:"add:false select:false"`
- CreatedAt int64 `json:"created_at" prop:"add:false select:false"`
- UpdatedAt int64 `json:"updated_at" prop:"add:false select:false"`
- Nodes []WorkPkgNode `json:"nodes" prop:"ignore"`
- db.BaseModel
- }
- func (WorkPkg) TableName() string {
- return "zy_work_pkg"
- }
- func (WorkPkg) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool {
- return true
- }
- func (WorkPkg) OnePrivilege(c *gin.Context, id int64) bool {
- return true
- }
- func (WorkPkg) AddPrivilege(c *gin.Context, data map[string]interface{}, post map[string]interface{}) error {
- return nil
- }
- func (WorkPkg) EditPrivilege(c *gin.Context, id int64, data map[string]interface{}, post map[string]interface{}) error {
- return nil
- }
- func (WorkPkg) DelPrivilege(c *gin.Context, id int64) error {
- return nil
- }
- func (WorkPkg) OrderField() string {
- return "order_at"
- }
- func (WorkPkg) Page() bool {
- return false
- }
- func (WorkPkg) Count() bool {
- return true
- }
- func GetWorkPkgModel(id int64, showAll bool) *WorkPkg {
- var pkg *WorkPkg
- db.GetModel(map[string]interface{}{"id": id}, &pkg)
- if pkg != nil {
- var nodes []WorkPkgNode
- where := map[string]interface{}{"pkg_id": id, "deleted_at": 0}
- if !showAll {
- where["state"] = 1
- }
- db.GetModel(where, &nodes)
- pkg.Nodes = nodes
- }
- return pkg
- }
- func (model WorkPkg) Copy(name string, order int64) (int64, error) {
- id, err := db.InsertModel(db.Type(model), map[string]interface{}{
- "name": name,
- "days": model.Days,
- "state": model.State,
- "order_at": order,
- })
- if err != nil {
- return 0, err
- }
- err = CopyWorkPkgNodes(model.Nodes, id, order)
- if err != nil {
- return id, err
- }
- return id, nil
- }
|