1. 完成画作的创建、更新、删除与画家锁定功能的联动

2. 修复部分bug
This commit is contained in:
徐俊杰 2023-02-25 11:07:51 +08:00
parent cbaa5e124a
commit 1fd2f10336
5 changed files with 23 additions and 10 deletions

View File

@ -17,7 +17,7 @@ var _ artistInfoArtwork.ArtistInfoArtworkServer = new(ArtistInfoArtworkProvider)
type ArtistInfoArtworkProvider struct {
artistInfoArtwork.UnimplementedArtistInfoArtworkServer
artistInfoLogic *logic.ArtistInfoArtworkLogic
artistInfoLogic logic.ArtistInfoArtworkLogic
}
// CreateArtworkLockRecord 创建画作锁定记录

View File

@ -47,9 +47,9 @@ func DeletedArtworkLockRecord(artworkUid ...string) error {
if len(artworkUid) == 0 {
return nil
} else if len(artworkUid) == 1 {
return db.DB.Where("artwork_uid = ? AND status ! = 2 ", artworkUid[0]).Delete(&model.ArtworkLockRecord{}).Error
return db.DB.Where("artwork_uid = ? AND status != 2 ", artworkUid[0]).Delete(&model.ArtworkLockRecord{}).Error
} else {
return db.DB.Where("artwork_uid in ? AND status ! = 2 ", artworkUid).Delete(&model.ArtworkLockRecord{}).Error
return db.DB.Where("artwork_uid in ? AND status != 2 ", artworkUid).Delete(&model.ArtworkLockRecord{}).Error
}
}
@ -83,9 +83,10 @@ func BatchUnlockArtworks(artistUid string) error {
func GetArtworkLockRecords(req *artistInfoArtwork.GetArtworkLockRecordsRequest) (resp *artistInfoArtwork.ArtworkLockList, err error) {
var (
datas = model.ArtworkLockRecord{}
datas = []model.ArtworkLockRecord{}
tx = db.DB.Model(model.ArtworkLockRecord{}).Where("artist_uid = ?", req.ArtistUid)
)
resp = &artistInfoArtwork.ArtworkLockList{}
switch req.QueryType {
case artistInfoArtwork.ArtworkQueryMode_NowPreSaveArtwork: //当前暂存的画作
@ -100,6 +101,14 @@ func GetArtworkLockRecords(req *artistInfoArtwork.GetArtworkLockRecordsRequest)
// tx = tx.Where("status > 1")
}
err = tx.Find(&datas).Error
for _, v := range datas {
resp.Data = append(resp.Data, &artistInfoArtwork.ArtistLockInfo{
ArtistUid: v.ArtistUid,
ArtworkUid: v.ArtworkUid,
Status: v.Status,
LockTime: v.LockTime,
})
}
return
}
func HasBeenLocked(artistUid string) bool {

View File

@ -2,12 +2,12 @@ package model
type ArtworkLockRecord struct {
Model
ArtistUid string `json:"artistUid" gorm:"column:artist_uid;comment:画家uid"`
ArtworkUid string `json:"artworkUid" gorm:"column:artwork_uid;comment:画作uid"`
ArtistUid string `json:"artistUid" gorm:"column:artist_uid;type:varchar(191);comment:画家uid"`
ArtworkUid string `json:"artworkUid" gorm:"column:artwork_uid;type:varchar(191);comment:画作uid"`
Status int64 `json:"status" gorm:"column:status;default:1;comment:1=准备/暂存 2=锁定 3=解锁"`
LockTime string `json:"lockTime" gorm:"column:lock_time;锁定时间"`
UserInfo User `gorm:"foreignKey:ArtistUid;reference:MgmtArtistUid"`
//UserInfo User `gorm:"foreignKey:ArtistUid;reference:MgmtArtistUid"`
}
func (a ArtworkLockRecord) TableName() string {

View File

@ -19,9 +19,12 @@ dubbo:
port: 20050
provider:
services:
ArtistInfoProvider:
interface: com.fontree.microservices.common.ArtistInfo
# retries: 100
ArtistInfoUserProvider:
interface: com.fontree.microservices.common.ArtistInfoUser
retries: 100
ArtistInfoArtworkProvider:
interface: com.fontree.microservices.common.ArtistInfoArtwork
retries: 100
#ContractProvider:
# interface: com.fontree.microservices.common.Contract
# retries: 0

View File

@ -99,6 +99,7 @@ func migration() {
&model.ArtworkState{},
&model.ArtworkBatch{},
&model.TempArtistInfo{},
&model.ArtworkLockRecord{},
)
if err != nil {
fmt.Println("register table fail")