123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- package models
- import (
- "errors"
- "strconv"
- "strings"
- "zhiyuan/pkg/db"
- "github.com/gin-gonic/gin"
- )
- type WorkSite struct {
- ID int `json:"id"`
- PkgId int `json:"pkg_id"`
- Username string `json:"username" search:"like"`
- Phone string `json:"phone" search:"like"`
- Village string `json:"village" search:"like"`
- Address string `json:"address" search:"like"`
- RoomNo string `json:"room_no" search:"like"`
- Area string `json:"area" search:"like"`
- Longitude string `json:"longitude"`
- Latitude string `json:"latitude"`
- ManagerId int `json:"manager_id"`
- DesignerId int `json:"designer_id"`
- SalesmanId int `json:"salesman_id"`
- ProjectManagerId int `json:"project_manager_id"`
- ProjectLeaderId int `json:"project_leader_id"`
- ServicerId int `json:"servicer_id"`
- QualityId int `json:"quality_id"`
- AssistantId int `json:"assistant_id"`
- CreatedId int `json:"created_id"`
- AdminIds string `json:"admin_ids"`
- StartTime int `json:"starttime"`
- EndTime int `json:"endtime"`
- RealStartTime int `json:"real_starttime"`
- RealEndTime int `json:"real_endtime"`
- StopTime int `json:"stoptime"`
- Discount string `json:"discount"`
- Promotion string `json:"promotion"`
- Gifts string `json:"gifts"`
- Other string `json:"other"`
- Hose string `json:"hose"`
- Bear string `json:"bear"`
- State int `json:"state" type:"int" search:"="`
- CreatedAt int `json:"created_at"`
- UpdatedAt int `json:"updated_at"`
- db.BaseModel
- }
- func (WorkSite) TableName() string {
- return "zy_work_site"
- }
- func (a WorkSite) GetOne(where map[string]interface{}, fields []string, retVal interface{}) (*WorkSite, error) {
- if retVal == nil {
- var workSite *WorkSite
- err := db.GetOne(a.TableName(), where, fields, &workSite)
- return workSite, err
- } else {
- err := db.GetOne(a.TableName(), where, fields, retVal)
- return nil, err
- }
- }
- func (a WorkSite) GetMulti(where map[string]interface{}, fields []string, retVal interface{}) ([]*WorkSite, error) {
- if retVal == nil {
- var workSite []*WorkSite
- err := db.GetMulti(a.TableName(), where, fields, &workSite)
- return workSite, err
- } else {
- err := db.GetMulti(a.TableName(), where, fields, retVal)
- return nil, err
- }
- }
- func (a WorkSite) GetOneRaw(where map[string]string, param map[string]interface{}, retVal interface{}) (*WorkSite, error) {
- workSite, err := a.GetMultiRaw(where, param, retVal)
- if err != nil {
- return nil, err
- }
- if len(workSite) == 0 {
- return nil, errors.New("empty record2")
- }
- return workSite[0], nil
- }
- func (a WorkSite) GetMultiRaw(where map[string]string, param map[string]interface{}, retVal interface{}) ([]*WorkSite, error) {
- field := "SELECT * FROM zy_work_site "
- if retVal == nil {
- var workSite []*WorkSite
- err := db.GetMultiRaw(field, where, param, &workSite)
- return workSite, err
- } else {
- err := db.GetMultiRaw(field, where, param, retVal)
- return nil, err
- }
- }
- func (model WorkSite) AdminAuth(adminID int) bool {
- auth := false
- for _, v := range strings.Split(model.AdminIds, ",") {
- if num, err := strconv.Atoi(v); err == nil && num == adminID {
- auth = true
- break
- }
- }
- return auth
- }
- type WorkSiteModel struct {
- WorkSite
- ManagerName string `json:"manager_name" prop:"select:manager.username"`
- ManagerPhone string `json:"manager_phone" prop:"select:manager.phone"`
- ManagerHeadImgUrl string `json:"manager_headimgurl" prop:"select:manager.headimgurl"`
- DesignerName string `json:"designer_name" prop:"select:designer.username"`
- DesignerPhone string `json:"designer_phone" prop:"select:designer.phone"`
- DesignerHeadImgUrl string `json:"designer_headimgurl" prop:"select:designer.headimgurl"`
- SalesmanName string `json:"salesman_name" prop:"select:salesman.username"`
- SalesmanPhone string `json:"salesman_phone" prop:"select:salesman.phone"`
- SalesmanHeadImgUrl string `json:"salesman_headimgurl" prop:"select:salesman.headimgurl"`
- ProjectManagerName string `json:"project_manager_name" prop:"select:project_manager.username"`
- ProjectManagerPhone string `json:"project_manager_phone" prop:"select:project_manager.phone"`
- ProjectManagerHeadImgUrl string `json:"project_manager_headimgurl" prop:"select:project_manager.headimgurl"`
- ProjectLeaderName string `json:"project_leader_name" prop:"select:project_leader.username"`
- ProjectLeaderPhone string `json:"project_leader_phone" prop:"select:project_leader.phone"`
- ProjectLeaderHeadImgUrl string `json:"project_leader_headimgurl" prop:"select:project_leader.headimgurl"`
- ServicerName string `json:"servicer_name" prop:"select:servicer.username"`
- ServicerPhone string `json:"servicer_phone" prop:"select:servicer.phone"`
- ServicerHeadImgUrl string `json:"servicer_headimgurl" prop:"select:servicer.headimgurl"`
- QualityName string `json:"quality_name" prop:"select:quality.username"`
- QualityPhone string `json:"quality_phone" prop:"select:quality.phone"`
- QualityHeadImgUrl string `json:"quality_headimgurl" prop:"select:quality.headimgurl"`
- AssistantName string `json:"assistant_name" prop:"select:assistant.username"`
- AssistantPhone string `json:"assistant_phone" prop:"select:assistant.phone"`
- AssistantHeadImgUrl string `json:"assistant_headimgurl" prop:"select:assistant.headimgurl"`
- }
- func (WorkSiteModel) OnePrivilege(c *gin.Context, id int64) bool {
- return true
- }
- func (WorkSiteModel) ListPrivilege(c *gin.Context, data map[string]interface{}, s *db.Select) bool {
- return true
- }
- func (model WorkSiteModel) LeftJoin(data map[string]interface{}, s *db.Select) []db.JoinModel {
- return []db.JoinModel{
- {
- Model: Admin{},
- As: "manager",
- On: []string{"`manager`.`id` = " + model.TableName() + ".`manager_id`"},
- },
- {
- Model: Admin{},
- As: "designer",
- On: []string{"`designer`.`id` = " + model.TableName() + ".`designer_id`"},
- },
- {
- Model: Admin{},
- As: "salesman",
- On: []string{"`salesman`.`id` = " + model.TableName() + ".`salesman_id`"},
- },
- {
- Model: Admin{},
- As: "project_manager",
- On: []string{"`project_manager`.`id` = " + model.TableName() + ".`project_manager_id`"},
- },
- {
- Model: Admin{},
- As: "project_leader",
- On: []string{"`project_leader`.`id` = " + model.TableName() + ".`project_leader_id`"},
- },
- {
- Model: Admin{},
- As: "servicer",
- On: []string{"`servicer`.`id` = " + model.TableName() + ".`servicer_id`"},
- },
- {
- Model: Admin{},
- As: "quality",
- On: []string{"`quality`.`id` = " + model.TableName() + ".`quality_id`"},
- },
- {
- Model: Admin{},
- As: "assistant",
- On: []string{"`assistant`.`id` = " + model.TableName() + ".`assistant_id`"},
- },
- }
- }
- func (WorkSiteModel) Page() bool {
- return false
- }
- func (WorkSiteModel) Count() bool {
- return true
- }
|