Files

47 lines
1.3 KiB
Go
Raw Normal View History

2021-12-02 18:05:53 +08:00
package model
2021-12-06 14:55:41 +08:00
import (
"SciencesServer/app/common/model"
"SciencesServer/serve/orm"
"fmt"
)
2021-12-02 18:05:53 +08:00
type UserResearch struct {
*model.UserResearch
}
2021-12-09 16:17:23 +08:00
type (
UserResearchInfo struct {
UserResearchID uint64 `json:"-"`
*model.ManageResearch
}
)
func (m *UserResearch) Settled(uid uint64) (*UserSettledInfo, error) {
2021-12-06 14:55:41 +08:00
out := new(UserSettledInfo)
err := orm.GetDB().Table(m.TableName()+" AS u").
2021-12-07 16:10:12 +08:00
Select("u.id", "c.examine_status", "c.examine_remark").
2021-12-06 14:55:41 +08:00
Joins(fmt.Sprintf("LEFT JOIN %s AS c ON u.research_id = c.id", model.NewManageResearch().TableName())).
Where("u.uid = ?", uid).
Where("u.is_deleted = ? AND u.invalid_status = ?", model.DeleteStatusForNot, model.InvalidStatusForNot).
Scan(out).Error
return out, err
}
2021-12-09 16:17:23 +08:00
func (m *UserResearch) Research(uid uint64) (*UserResearchInfo, error) {
out := new(UserResearchInfo)
err := orm.GetDB().Table(m.TableName()+" AS u").
Select("u.id AS user_research_id", "c.*").
Joins(fmt.Sprintf("LEFT JOIN %s AS c ON u.research_id = c.id", model.NewManageResearch().TableName())).
Where("u.uid = ?", uid).
Where("u.is_deleted = ? AND u.invalid_status = ?", model.DeleteStatusForNot, model.InvalidStatusForNot).
Scan(out).Error
return out, err
}
2021-12-02 18:05:53 +08:00
func NewUserResearch() *UserResearch {
return &UserResearch{model.NewUserResearch()}
}