package model import ( "SciencesServer/app/common/model" "SciencesServer/serve/orm" "fmt" ) type UserCompany struct { *model.UserCompany } type ( UserSettledInfo struct { ID uint64 `json:"id"` *model.Examine } UserCompanyInfo struct { *model.ManageCompany UserCompanyID uint64 `json:"user_company_id"` } ) // Settled 入驻信息 func (m *UserCompany) Settled(uid uint64) (*UserSettledInfo, error) { out := new(UserSettledInfo) err := orm.GetDB().Table(m.TableName()+" AS u"). Select("u.id", "c.examine_status", "c.examine_remark"). Joins(fmt.Sprintf("LEFT JOIN %s AS c ON u.company_id = c.id", model.NewManageCompany().TableName())). Where("u.uid = ?", uid). Where("u.is_deleted = ?", model.DeleteStatusForNot). Order("u.id " + model.OrderModeToDesc).Limit(1). Scan(out).Error return out, err } // Company 公司信息 func (m *UserCompany) Company(uid uint64) (*UserCompanyInfo, error) { out := new(UserCompanyInfo) err := orm.GetDB().Table(m.TableName()+" AS u"). Select("u.id AS user_company_id", "c.*"). Joins(fmt.Sprintf("LEFT JOIN %s AS c ON u.company_id = c.id", model.NewManageCompany().TableName())). Where("u.uid = ?", uid). Where("u.is_deleted = ? AND u.invalid_status = ?", model.DeleteStatusForNot, model.InvalidStatusForNot). Scan(out).Error return out, err } func NewUserCompany() *UserCompany { return &UserCompany{model.NewUserCompany()} }