From 153435607798613b8c8a4fc76845cd2ba93b0099 Mon Sep 17 00:00:00 2001 From: dorlolo <428192774@qq.com> Date: Sat, 25 Feb 2023 12:02:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/internal/dao/artistinfo_artwork.go | 39 ++++++++++++++++---------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/cmd/internal/dao/artistinfo_artwork.go b/cmd/internal/dao/artistinfo_artwork.go index 6ad9e67..ef264af 100644 --- a/cmd/internal/dao/artistinfo_artwork.go +++ b/cmd/internal/dao/artistinfo_artwork.go @@ -8,12 +8,12 @@ package dao import ( "errors" - "fmt" "github.com/fonchain/fonchain-artistinfo/cmd/model" "github.com/fonchain/fonchain-artistinfo/pb/artistInfoArtwork" db "github.com/fonchain/fonchain-artistinfo/pkg/db" "github.com/fonchain/fonchain-artistinfo/pkg/util/stime" "gorm.io/gorm" + "time" ) func CreateArtworkLockRecord(in *model.ArtworkLockRecord) error { @@ -56,28 +56,37 @@ func DeletedArtworkLockRecord(artworkUid ...string) error { func BatchLockArtworks(artistUid string) error { var artworkUids []string db.DB.Model(model.ArtworkLockRecord{}). - Where("is_lock = false AND lock_time=''").Where(" artist_uid = ?", artistUid). + Where("status = 1 AND lock_time=''").Where(" artist_uid = ?", artistUid). Pluck("artwork_uid", &artworkUids) if artworkUids == nil { return nil } var updateMap = map[string]any{ - "is_lock": true, - "lock_time": stime.StrNowDate(), + "status": 2, + "lock_time": stime.TimeToString(time.Now(), stime.Format_Normal_YMDhms), } return db.DB.Model(model.ArtworkLockRecord{}).Where("artwork_uid in ?", artworkUids).Updates(&updateMap).Error } func BatchUnlockArtworks(artistUid string) error { - var artworkUids []string - db.DB.Model(model.ArtworkLockRecord{}). - Where(fmt.Sprintf("lock_time = (select max(lock_time) form artwork_lock_record WHERE artist_uid = %s)", artistUid)). - Where("is_lock = true"). - Pluck("artwork_uid", &artworkUids) - if artworkUids == nil { - return nil - } - return db.DB.Model(model.ArtworkLockRecord{}).Where("artwork_uid in ?", artworkUids).Update("is_lock", false).Error + //var artworkUids []string + // 查询用户当前锁定的时间点 + //var nowLockTime string + //err := db.DB.Model(model.ArtworkLockRecord{}).Select("MAX(lock_time)").Where("artist_uid = %s AND lock_time !='' AND STATUS =2", artistUid).Scan(&nowLockTime).Error + //if err != nil { + // return err + //} + ////查询此时间节点内的所有画作 + //db.DB.Model(model.ArtworkLockRecord{}). + // //Where("lock_time = (SELECT MAX(lock_time) FROM artwork_lock_record where artist_uid = %s AND lock_time !='' AND STATUS =2)", artistUid). + // //Joins("LEFT JOIN (lock_time = (select max(lock_time) form artwork_lock_record WHERE artist_uid = ?) lt", artistUid). + // //Where(fmt.Sprintf("lock_time = (select max(lock_time) form artwork_lock_record WHERE artist_uid = %s)", artistUid)). + // Where("status = 2"). + // Pluck("artwork_uid", &artworkUids) + //if artworkUids == nil { + // return nil + //} + return db.DB.Model(model.ArtworkLockRecord{}).Where("artist_uid = ? AND status =2 AND lock_time !=''", artistUid).Update("status", 3).Error } func GetArtworkLockRecords(req *artistInfoArtwork.GetArtworkLockRecordsRequest) (resp *artistInfoArtwork.ArtworkLockList, err error) { @@ -93,10 +102,10 @@ func GetArtworkLockRecords(req *artistInfoArtwork.GetArtworkLockRecordsRequest) tx = tx.Where("status = 1") case artistInfoArtwork.ArtworkQueryMode_NowLockedArtwork: //当前已锁定的画作 tx = tx.Where("status = 2", req.ArtistUid) - case artistInfoArtwork.ArtworkQueryMode_ArtistCanSee: //画家能看到的画作(暂存和锁定) + case artistInfoArtwork.ArtworkQueryMode_ArtistCanSee: //画家能看到的画作(暂存和锁定) //弃用,画家看到的是暂存的画作 tx = tx.Where("status < 3") case artistInfoArtwork.ArtworkQueryMode_AllUnlockArtwork: //所有已解锁的画作(历史画作) - tx = tx.Where("status = 3") + tx = tx.Where("status = 3 OR status = 2") //case artistInfoArtwork.ArtworkQueryMode_AllHistoryArtwork: //所有历史画作 // tx = tx.Where("status > 1") }