54 lines
2.1 KiB
Go
54 lines
2.1 KiB
Go
// 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.base_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
|
|
}
|