feat:完善项目信息

This commit is contained in:
henry
2022-01-13 17:48:41 +08:00
parent 4637a5fb4b
commit 27cb063a6c
11 changed files with 85 additions and 79 deletions

View File

@ -29,14 +29,14 @@ type (
)
// Activity 活动信息
func (m *ActivityInstance) Activity(uid uint64, page, pageSize int, count *int64, where ...*model.ModelWhere) ([]*ActivityInstanceInfo, error) {
func (m *ActivityInstance) Activity(uid uint64, identity, page, pageSize int, count *int64, where ...*model.ModelWhere) ([]*ActivityInstanceInfo, error) {
mActivityJoin := model.NewActivityJoin()
db := orm.GetDB().Table(m.TableName()+" AS a").
Select("a.id", "a.title", "a.image", "a.begin_at", "a.finish_at", "a.join_deadline",
"IFNULL(u.id, 0) AS join_id", "j.count AS join_count").
Joins(fmt.Sprintf("LEFT JOIN %s u ON a.id = u.activity_id AND u.identity_uid = %d AND u.status = %d AND u.is_deleted = %d",
mActivityJoin.TableName(), uid, model.ActivityJoinStatusForSuccess, model.DeleteStatusForNot)).
Joins(fmt.Sprintf("LEFT JOIN %s u ON a.id = u.activity_id AND u.uid = %d AND u.identity = %d AND u.status = %d AND u.is_deleted = %d",
mActivityJoin.TableName(), uid, identity, model.ActivityJoinStatusForSuccess, model.DeleteStatusForNot)).
Joins(fmt.Sprintf("LEFT JOIN (SELECT activity_id, COUNT(id) AS count FROM %s WHERE status = %d AND is_deleted = %d GROUP BY activity_id) AS j ON a.id = j.activity_id",
mActivityJoin.TableName(), model.ActivityJoinStatusForSuccess, model.DeleteStatusForNot)).
Where("a.status = ?", model.ActivityInstanceStatusForShow).
@ -59,14 +59,14 @@ func (m *ActivityInstance) Activity(uid uint64, page, pageSize int, count *int64
}
// Detail 详细信息
func (m *ActivityInstance) Detail(id, uid uint64) (*ActivityInstanceDetail, error) {
func (m *ActivityInstance) Detail(id, uid uint64, identity int) (*ActivityInstanceDetail, error) {
mActivityJoin := model.NewActivityJoin()
db := orm.GetDB().Table(m.TableName()+" AS a").
Select("a.id", "a.title", "a.image", "a.begin_at", "a.finish_at", "a.join_deadline",
"IFNULL(u.id, 0) AS join_id", "j.count AS join_count").
Joins(fmt.Sprintf("LEFT JOIN %s u ON a.id = u.activity_id AND u.identity_uid = %d AND u.status = %d AND u.is_deleted = %d",
mActivityJoin.TableName(), uid, model.ActivityJoinStatusForSuccess, model.DeleteStatusForNot)).
Joins(fmt.Sprintf("LEFT JOIN %s u ON a.id = u.activity_id AND u.uid = %d AND u.identity = %d AND u.status = %d AND u.is_deleted = %d",
mActivityJoin.TableName(), uid, identity, model.ActivityJoinStatusForSuccess, model.DeleteStatusForNot)).
Joins(fmt.Sprintf("LEFT JOIN (SELECT activity_id, COUNT(id) AS count FROM %s WHERE status = %d AND is_deleted = %d GROUP BY activity_id) AS j ON a.id = j.activity_id",
mActivityJoin.TableName(), model.ActivityJoinStatusForSuccess, model.DeleteStatusForNot)).
Where("a.id = ?", id)