Merge branch 'xjjdev'
This commit is contained in:
commit
bc23ba6090
@ -118,9 +118,11 @@ func (a *ArtistInfoUserProvider) FinishVerify(ctx context.Context, req *artistIn
|
|||||||
}
|
}
|
||||||
return rep, nil
|
return rep, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *ArtistInfoUserProvider) UserLock(ctx context.Context, req *artistInfoUser.UserLockRequest) (rep *artistInfoUser.UserLockRespond, err error) {
|
func (a *ArtistInfoUserProvider) UserLock(ctx context.Context, req *artistInfoUser.UserLockRequest) (rep *artistInfoUser.UserLockRespond, err error) {
|
||||||
return a.artistInfoLogic.UserLock(req)
|
return a.artistInfoLogic.UserLock(req)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *ArtistInfoUserProvider) CheckUserLock(ctx context.Context, req *artistInfoUser.CheckUserLockRequest) (rep *artistInfoUser.CheckUserLockRespond, err error) {
|
func (a *ArtistInfoUserProvider) CheckUserLock(ctx context.Context, req *artistInfoUser.CheckUserLockRequest) (rep *artistInfoUser.CheckUserLockRespond, err error) {
|
||||||
fmt.Println("第一处")
|
fmt.Println("第一处")
|
||||||
// backup := &artistinfoUser.GetUserInfoRespond{}
|
// backup := &artistinfoUser.GetUserInfoRespond{}
|
||||||
|
@ -6,6 +6,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"sort"
|
"sort"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
_ "dubbo.apache.org/dubbo-go/v3/imports"
|
_ "dubbo.apache.org/dubbo-go/v3/imports"
|
||||||
@ -303,27 +304,39 @@ func UserLock(req *artistInfoUser.UserLockRequest) (rep *artistInfoUser.UserLock
|
|||||||
}
|
}
|
||||||
rep.LockTime = now
|
rep.LockTime = now
|
||||||
if !req.IsLock {
|
if !req.IsLock {
|
||||||
fmt.Println("122312312312331")
|
fmt.Println("进入解锁流程")
|
||||||
|
// 如果当前锁定状态下没有任何数据变动,则报错
|
||||||
|
if hasChanged, _ := WhetherAnyChangedAfterLocked(thisUser.MgmtArtistUid); !hasChanged {
|
||||||
|
tx.Rollback()
|
||||||
|
err = errors.New("此用户在锁定后未作任何修改,无法解锁")
|
||||||
|
return
|
||||||
|
}
|
||||||
// 解锁时与另外4个模块联动
|
// 解锁时与另外4个模块联动
|
||||||
if err = tx.Model(model.ArtworkLockRecord{}).Where("artist_uid = ? AND status =2", thisUser.MgmtArtistUid).Update("status", 3).Error; err != nil {
|
if err = tx.Model(model.ArtworkLockRecord{}).Where("artist_uid = ? AND status =2", thisUser.MgmtArtistUid).Update("status", 3).Error; err != nil {
|
||||||
|
tx.Rollback()
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if err = tx.Model(model.ArtshowArtistSupplement{}).Where("artist_uid = ? AND status =2", thisUser.MgmtArtistUid).Update("status", 3).Error; err != nil {
|
if err = tx.Model(model.ArtshowArtistSupplement{}).Where("artist_uid = ? AND status =2", thisUser.MgmtArtistUid).Update("status", 3).Error; err != nil {
|
||||||
|
tx.Rollback()
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if err = tx.Model(model.ArtshowArtistIndex{}).Where("artist_uid = ? AND status =2", thisUser.MgmtArtistUid).Update("status", 3).Error; err != nil {
|
if err = tx.Model(model.ArtshowArtistIndex{}).Where("artist_uid = ? AND status =2", thisUser.MgmtArtistUid).Update("status", 3).Error; err != nil {
|
||||||
|
tx.Rollback()
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if err = tx.Model(model.ArtshowVideoRecord{}).Where("artist_uid = ? AND status =2", thisUser.MgmtArtistUid).Update("status", 3).Error; err != nil {
|
if err = tx.Model(model.ArtshowVideoRecord{}).Where("artist_uid = ? AND status =2", thisUser.MgmtArtistUid).Update("status", 3).Error; err != nil {
|
||||||
|
tx.Rollback()
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
// 与画家宝的合同表进行联动
|
// 与画家宝的合同表进行联动
|
||||||
if err = tx.Model(model.Contract{}).Where("artist_uid = ? AND status =2", thisUser.MgmtArtistUid).Update("status", 3).Error; err != nil {
|
if err = tx.Model(model.Contract{}).Where("artist_uid = ? AND status =2", thisUser.MgmtArtistUid).Update("status", 3).Error; err != nil {
|
||||||
|
tx.Rollback()
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
fmt.Println("else 更新最新上锁时间")
|
fmt.Println("else 更新最新上锁时间")
|
||||||
if err = tx.Model(model.User{}).Where("mgmt_artist_uid = ?", thisUser.MgmtArtistUid).Update("latest_lock_time", now).Error; err != nil {
|
if err = tx.Model(model.User{}).Where("mgmt_artist_uid = ?", thisUser.MgmtArtistUid).Update("latest_lock_time", now).Error; err != nil {
|
||||||
|
tx.Rollback()
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
fmt.Println("更新结束")
|
fmt.Println("更新结束")
|
||||||
@ -333,6 +346,54 @@ func UserLock(req *artistInfoUser.UserLockRequest) (rep *artistInfoUser.UserLock
|
|||||||
return rep, nil
|
return rep, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 简单判断锁定后数据是否有新增
|
||||||
|
func WhetherAnyChangedAfterLocked(artistUid string) (changed bool, err error) {
|
||||||
|
//查询锁定时间
|
||||||
|
var lockTime string
|
||||||
|
if err = db.DB.Model(model.User{}).Where("mgmt_artist_uid = ?", artistUid).Pluck("latest_lock_time", &lockTime).Error; err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
//如果画作更新时间大于锁定时间,直接返回true
|
||||||
|
var artworks []model.ArtworkLockRecord
|
||||||
|
db.DB.Where("artist_uid = ? AND lock_time = ? ", artistUid, lockTime).Find(&artworks)
|
||||||
|
var lockTimeT, _ = stime.StringToTime(lockTime)
|
||||||
|
for _, a := range artworks {
|
||||||
|
if a.UpdatedAt.After(*lockTimeT) {
|
||||||
|
changed = true
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//如果补充信息有新增则直接返回true
|
||||||
|
var sql = `
|
||||||
|
SELECT
|
||||||
|
u.mgmt_artist_uid
|
||||||
|
,u.latest_lock_time
|
||||||
|
,(SELECT COUNT(1) FROM artshow_artist_index WHERE artist_uid = '{{artistUid}}' AND lock_time = '{{lockTime}}' AND deleted_at = 0) as artist_index_count
|
||||||
|
,(SELECT COUNT(1) FROM artshow_artist_supplement WHERE artist_uid = '{{artistUid}}' AND lock_time = '{{lockTime}}' AND deleted_at = 0) as artist_supplement_count
|
||||||
|
,(SELECT COUNT(1) FROM artshow_video_record WHERE artist_uid = '{{artistUid}}' AND lock_time = '{{lockTime}}' AND deleted_at = 0) as video_count
|
||||||
|
,(SELECT COUNT(1) FROM contract WHERE artist_uid = '{{artistUid}}' AND lock_time = '{{lockTime}}' AND deleted_at = 0) as contract_count
|
||||||
|
FROM sys_user u
|
||||||
|
WHERE u.mgmt_artist_uid ='{{artistUid}}' AND u.deleted_at = 0
|
||||||
|
`
|
||||||
|
sql = strings.Replace(sql, "{{artistUid}}", artistUid, -1)
|
||||||
|
sql = strings.Replace(sql, "{{lockTime}}", lockTime, -1)
|
||||||
|
var data struct {
|
||||||
|
MgmtArtistUid string `gorm:"column:mgmt_artist_uid"`
|
||||||
|
LatestLockTime string `gorm:"column:latest_lock_time"`
|
||||||
|
ArtistIndexCount int `gorm:"column:artist_index_count"`
|
||||||
|
ArtistSupplementCount int `gorm:"column:artist_supplement_count"`
|
||||||
|
VideoCount int `gorm:"column:video_count"`
|
||||||
|
ContractCount int `gorm:"column:contract_count"`
|
||||||
|
}
|
||||||
|
if err = db.DB.Debug().Raw(sql).Find(&data).Error; err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if data.ArtistIndexCount > 0 || data.ArtistSupplementCount > 0 || data.VideoCount > 0 || data.ContractCount > 0 {
|
||||||
|
return true, nil
|
||||||
|
}
|
||||||
|
return false, nil
|
||||||
|
}
|
||||||
|
|
||||||
func CheckInvitedCode(req *artistInfoUser.CheckInvitedCodeRequest) (rep *artistInfoUser.GetUserRespond, err error) {
|
func CheckInvitedCode(req *artistInfoUser.CheckInvitedCodeRequest) (rep *artistInfoUser.GetUserRespond, err error) {
|
||||||
rep = &artistInfoUser.GetUserRespond{}
|
rep = &artistInfoUser.GetUserRespond{}
|
||||||
// service := &artist.UserUpdateInfoService{}
|
// service := &artist.UserUpdateInfoService{}
|
||||||
|
5
cmd/model/artist_operation_records.go
Normal file
5
cmd/model/artist_operation_records.go
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
type OperationRecord struct {
|
||||||
|
Model
|
||||||
|
}
|
@ -25,7 +25,6 @@ func CreateQrCode(invitedCode, userName string) error {
|
|||||||
tmp, err := os.Open(QrCodePath)
|
tmp, err := os.Open(QrCodePath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
||||||
}
|
}
|
||||||
defer tmp.Close()
|
defer tmp.Close()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user