// Package model ----------------------------- // @file : view_passed_artwork_static.go // @author : JJXu // @contact : wavingbear@163.com // @time : 2023/3/11 11:13 // ------------------------------------------- package model import ( "gorm.io/gorm" "time" ) type ViewPassedArtworkStatic struct { ArtistUid string `json:"artistUid" gorm:"column:artist_uid;comment:画家uid"` IsLock bool `json:"isLock" gorm:"column:is_lock;comment:是否锁定"` LatestLockTime string `json:"latestLockTime" gorm:"column:latest_lock_time;comment:最近一次锁定时间"` PasswdArtworkNumber int64 `json:"passwdArtworkNumber" gorm:"column:passwd_artwork_number;comment:审核通过的画作总数"` LatestUpdatedAt time.Time `json:"latestUpdatedAt" gorm:"column:latest_updated_at;comment:最近一次更新时间"` RealName string `json:"realName" gorm:"column:real_name;comment:真实姓名"` //---补充字段,转到pb文件 //Idx int64 `json:"idx" gorm:"-"` //PenName string `json:"penName" gorm:"-"` //StageName string `json:"stageName" gorm:"-"` //ArtworkTotal string `json:"artworkTotal" gorm:"-"` //RulerTotal int64 `json:"rulerTotal" gorm:"-"` //PassedRulerTotal int64 `json:"passedRulerTotal" gorm:"-"` } func (p ViewPassedArtworkStatic) TableName() string { return "view_passed_artwork_static" } func CreateViewPassedArtworkStatic(db *gorm.DB) error { // 已通过画作统计 var sql = ` CREATE OR REPLACE VIEW view_passed_artwork_static AS -- 查询审核通过的画作数量以及相关数据 SELECT su.mgmt_artist_uid artist_uid ,MAX(su.is_lock) is_lock ,max(su.latest_lock_time) latest_lock_time ,count(alr.artwork_uid) passed_artwork_number ,MAX(alr.updated_at) latest_updated_at ,MAX(rn.name) real_name FROM sys_user su LEFT JOIN artwork_lock_record alr ON alr.artist_uid = su.mgmt_artist_uid AND alr.audit_flow_index=3 AND alr.supplement_audit_status=4 AND alr.deleted_at = 0 LEFT JOIN real_name rn ON rn.id = su.real_name_id GROUP BY su.mgmt_artist_uid HAVING su.mgmt_artist_uid !='' ` db.Exec(sql) return nil }