Files
2022-01-28 16:59:15 +08:00

54 lines
1.4 KiB
Go

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()}
}