修复了画作审批流程中的部分问题

This commit is contained in:
徐俊杰 2023-03-01 16:24:26 +08:00
parent f127a04599
commit c6a579fabf
8 changed files with 1037 additions and 455 deletions

View File

@ -11,6 +11,7 @@ import (
"errors"
"github.com/fonchain/fonchain-artistinfo/cmd/internal/logic"
"github.com/fonchain/fonchain-artistinfo/pb/artistInfoArtwork"
emptypb "google.golang.org/protobuf/types/known/emptypb"
)
var _ artistInfoArtwork.ArtistInfoArtworkServer = new(ArtistInfoArtworkProvider)
@ -20,15 +21,32 @@ type ArtistInfoArtworkProvider struct {
artistInfoLogic logic.ArtistInfoArtworkLogic
}
// 检查画作是否可编辑
func (a ArtistInfoArtworkProvider) CheckArtworkEditable(ctx context.Context, request *artistInfoArtwork.ArtworkUidRequest) (*artistInfoArtwork.CheckArtworkEditableResponse, error) {
// 进入画作补充信息的流程
func (a ArtistInfoArtworkProvider) GenerateArtworkSupplementInfo(ctx context.Context, request *artistInfoArtwork.ArtworkUidsRequest) (*emptypb.Empty, error) {
return a.artistInfoLogic.GenerateArtworkSupplementInfo(request)
}
// 画作基本信息是否可编辑
func (a ArtistInfoArtworkProvider) CheckArtworkBaseInfoEditable(ctx context.Context, request *artistInfoArtwork.ArtworkUidRequest) (*artistInfoArtwork.CheckArtworkEditableResponse, error) {
if request.ArtworkUid == "" {
return nil, errors.New("ArtworkUid 不能为空")
}
return a.artistInfoLogic.CheckArtworkEditable(request)
return a.artistInfoLogic.CheckArtworkEditable(request, 2)
}
// 画作补充信息是否可编辑
func (a ArtistInfoArtworkProvider) CheckArtworkSupplementInfoEditable(ctx context.Context, request *artistInfoArtwork.ArtworkUidRequest) (*artistInfoArtwork.CheckArtworkEditableResponse, error) {
if request.ArtworkUid == "" {
return nil, errors.New("ArtworkUid 不能为空")
}
return a.artistInfoLogic.CheckArtworkEditable(request, 3)
}
// 更新画作审批状态
func (a ArtistInfoArtworkProvider) UpdateArtworkAuditStatus(ctx context.Context, request *artistInfoArtwork.UpdateArtworkAuditStatusRequest) (*artistInfoArtwork.ArtworkCommonNoParams, error) {
if request.FlowIndex != 2 && request.FlowIndex != 3 {
return nil, errors.New("FlowIndex 不能为空")
}
return a.artistInfoLogic.UpdateArtworkAuditStatus(request)
}

View File

@ -18,26 +18,26 @@ import (
func CreateArtworkLockRecord(in *model.ArtworkLockRecord) error {
var data = model.ArtworkLockRecord{
ArtistUid: in.ArtistUid,
ArtworkUid: in.ArtworkUid,
Status: in.Status,
LockTime: in.LockTime,
AuditStatus: 1,
//AuditMark: in.AuditMark,
//AuditMark2: in.AuditMark2,
ArtistUid: in.ArtistUid,
ArtworkUid: in.ArtworkUid,
Status: in.Status,
LockTime: in.LockTime,
}
return db.DB.Create(&data).Error
}
func UpdateArtworkLockRecord(in *model.ArtworkLockRecord) error {
var data = model.ArtworkLockRecord{
ArtistUid: in.ArtistUid,
ArtworkUid: in.ArtworkUid,
Status: in.Status,
LockTime: in.LockTime,
AuditStatus: in.AuditStatus,
AuditMark: in.AuditMark,
AuditMark2: in.AuditMark2,
ArtistUid: in.ArtistUid,
ArtworkUid: in.ArtworkUid,
Status: in.Status,
LockTime: in.LockTime,
BaseAuditStatus: in.BaseAuditStatus,
BaseAuditMark: in.BaseAuditMark,
BaseAuditMark2: in.BaseAuditMark2,
SupplementAuditStatus: in.SupplementAuditStatus,
SupplementAuditMark: in.SupplementAuditMark,
SupplementAuditMark2: in.SupplementAuditMark2,
}
var thisData model.ArtworkLockRecord
err := db.DB.Where("artist_uid = ?", in.ArtworkUid).First(&thisData).Error
@ -74,8 +74,10 @@ func BatchLockArtworks(artistUid string) error {
return nil
}
var updateMap = map[string]any{
"status": 2,
"lock_time": stime.TimeToString(time.Now(), stime.Format_Normal_YMDhms),
"status": 2,
"lock_time": stime.TimeToString(time.Now(), stime.Format_Normal_YMDhms),
"base_audit_status": model.AuditType_Pending, //基本数据审批
"audit_flow_index": 2, //进入基本信息审批流程
}
return db.DB.Model(model.ArtworkLockRecord{}).Where("artwork_uid in ?", artworkUids).Updates(&updateMap).Error
}
@ -105,21 +107,27 @@ func GetArtworkLockDetail(artworkUid string) (data model.ArtworkLockRecord, err
err = db.DB.Where("artwork_uid = ?", artworkUid).First(&data).Error
return
}
func GetArtworkLockRecords(req *artistInfoArtwork.GetArtworkLockRecordsRequest) (resp *artistInfoArtwork.ArtworkLockList, err error) {
func GetArtworkLockRecords(req *artistInfoArtwork.GetArtworkLockRecordsRequest) (resp *artistInfoArtwork.ArtworkLockList, err error) {
var (
datas = []model.ArtworkLockRecord{}
tx = db.DB.Model(model.ArtworkLockRecord{}).Where("artist_uid = ?", req.ArtistUid).Order("lock_time desc")
tx = db.DB.Model(model.ArtworkLockRecord{}).Order("lock_time desc")
)
resp = &artistInfoArtwork.ArtworkLockList{}
if req.ArtistUid != "" {
tx = tx.Where("artist_uid = ?", req.ArtistUid)
}
switch req.QueryType {
case artistInfoArtwork.ArtworkQueryMode_NowPreSaveArtwork: //当前暂存的画作
tx = tx.Where("status = 1")
case artistInfoArtwork.ArtworkQueryMode_NowLockedArtwork: //当前已锁定的画作
tx = tx.Where("status = 2")
case artistInfoArtwork.ArtworkQueryMode_ArtistCanSee: //画家能看到的画作(暂存和锁定) //弃用,画家看到的是暂存的画作
tx = tx.Where("status < 3")
case artistInfoArtwork.ArtworkQueryMode_NowPreSaveAndLocked: //当前暂存和已锁定的画作(也就是用户端画作管理中的数据)
tx = tx.Where("status =1 OR status =2")
case artistInfoArtwork.ArtworkQueryMode_NowAuditFlowOfBase: //当前处于基本信息审批阶段的画作
tx = tx.Where("status = 2 AND audit_flow_index = 2")
case artistInfoArtwork.ArtworkQueryMode_NowAuditFlowOfSupplementing: //当前处于补充信息审批阶段的画作
tx = tx.Where("status =2 AND audit_flow_index = 3")
case artistInfoArtwork.ArtworkQueryMode_AllUnlockArtwork: //所有已解锁的画作(历史画作)
tx = tx.Where("status = 3 OR status = 2")
//case artistInfoArtwork.ArtworkQueryMode_AllHistoryArtwork: //所有历史画作
@ -131,16 +139,20 @@ func GetArtworkLockRecords(req *artistInfoArtwork.GetArtworkLockRecordsRequest)
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,
AuditStatus: v.AuditStatus,
AuditMark: v.AuditMark,
AuditMark2: v.AuditMark2,
CreatedAt: v.CreatedAt.Unix(),
UpdatedAt: v.UpdatedAt.Unix(),
DeletedAt: int64(v.DeletedAt),
ArtistUid: v.ArtistUid,
ArtworkUid: v.ArtworkUid,
Status: v.Status,
LockTime: v.LockTime,
BaseAuditStatus: int32(v.BaseAuditStatus),
BaseAuditMark: v.BaseAuditMark,
BaseAuditMark2: v.BaseAuditMark2,
SupplementAuditStatus: int32(v.SupplementAuditStatus),
SupplementAuditMark: v.SupplementAuditMark,
SupplementAuditMark2: v.SupplementAuditMark2,
AuditFlowIndex: int32(v.AuditFlowIndex),
CreatedAt: v.CreatedAt.Unix(),
UpdatedAt: v.UpdatedAt.Unix(),
DeletedAt: int64(v.DeletedAt),
})
}
return
@ -155,7 +167,9 @@ func HasBeenLocked(artistUid string) bool {
return false
}
func UpdateAuditStatus(artworkUid string, auditStatus int64, remark1 string, remark2 string) error {
// UpdateAuditStatus 更新审批状态
// flowIndex 2=基本信息审批 3=补充信息审批
func UpdateAuditStatus(artworkUid string, auditStatus int64, remark1 string, remark2 string, flowIndex int64) error {
var thisData model.ArtworkLockRecord
err := db.DB.Model(model.ArtworkLockRecord{}).Where("artwork_uid = ?", artworkUid).First(&thisData).Error
if err != nil {
@ -165,8 +179,39 @@ func UpdateAuditStatus(artworkUid string, auditStatus int64, remark1 string, rem
return err
}
}
thisData.AuditStatus = auditStatus
thisData.AuditMark = remark1
thisData.AuditMark2 = remark2
switch flowIndex {
case 2:
thisData.BaseAuditStatus = model.AuditStatus(auditStatus)
thisData.BaseAuditMark = remark1
thisData.BaseAuditMark2 = remark2
case 3:
thisData.SupplementAuditStatus = model.AuditStatus(auditStatus)
thisData.SupplementAuditMark = remark1
thisData.SupplementAuditMark2 = remark2
}
return db.DB.Save(&thisData).Error
}
func BatchUpdateAuditStatus(artworkUids []string, auditStatus int64, remark1 string, remark2 string, flowIndex int64) error {
for _, uid := range artworkUids {
if err := UpdateAuditStatus(uid, auditStatus, remark1, remark2, flowIndex); err != nil {
return err
}
}
return nil
}
func GenerateArtworkSupplementInfo(artworkUids []string) error {
var datas = []model.ArtworkLockRecord{}
db.DB.Where("artwork_uid in ?", artworkUids).Find(&datas)
for _, v := range datas {
if v.BaseAuditStatus != 4 {
return errors.New("存在基本信息未审批通过的画作,操作取消!")
}
}
var updateData = map[string]any{
"audit_flow_index": 3,
"supplement_audit_status": 5,
}
return db.DB.Where("artwork_uid in ?", artworkUids).Updates(&updateData).Error
}

View File

@ -15,6 +15,7 @@ import (
"github.com/fonchain/fonchain-artistinfo/pb/artwork_query"
"github.com/fonchain/fonchain-artistinfo/pkg/m"
"github.com/fonchain/fonchain-artistinfo/pkg/service"
"google.golang.org/protobuf/types/known/emptypb"
"strings"
)
@ -37,13 +38,20 @@ func (a ArtistInfoArtworkLogic) GetArtworkLockDetail(request *artistInfoArtwork.
return
}
res = &artistInfoArtwork.ArtistLockInfo{
ArtistUid: data.ArtistUid,
ArtworkUid: data.ArtworkUid,
Status: data.Status,
LockTime: data.LockTime,
CreatedAt: data.CreatedAt.Unix(),
UpdatedAt: data.UpdatedAt.Unix(),
DeletedAt: int64(data.DeletedAt),
ArtistUid: data.ArtistUid,
ArtworkUid: data.ArtworkUid,
Status: data.Status,
LockTime: data.LockTime,
CreatedAt: data.CreatedAt.Unix(),
UpdatedAt: data.UpdatedAt.Unix(),
DeletedAt: int64(data.DeletedAt),
BaseAuditStatus: int32(data.BaseAuditStatus),
BaseAuditMark: data.BaseAuditMark,
BaseAuditMark2: data.BaseAuditMark2,
SupplementAuditStatus: int32(data.SupplementAuditStatus),
SupplementAuditMark: data.SupplementAuditMark,
SupplementAuditMark2: data.SupplementAuditMark2,
AuditFlowIndex: int32(data.AuditFlowIndex),
}
return
}
@ -118,23 +126,27 @@ func (a ArtistInfoArtworkLogic) GetArtworkLockHistoryGroup(request *artistInfoAr
}
for _, artwork := range previewListRes.Data {
res.GroupList[groupIndex].DataList = append(res.GroupList[groupIndex].DataList, &artistInfoArtwork.ArtworkPreviewInfo{
ArtistUuid: artwork.ArtistUuid,
ArtworkName: artwork.ArtworkName,
Length: artwork.Length,
Width: artwork.Width,
Ruler: artwork.Ruler,
CreatedAddress: strings.Split(artwork.CreatedAddress, ""),
ArtistPhoto: artwork.ArtistPhoto,
HdPic: artwork.HdPic,
ArtworkUid: artwork.ArtworkUid,
CreatedDate: artwork.CreateDate,
LockStatus: int32(v.Status),
AuditStatus: v.AuditStatus,
AuditMark: v.AuditMark,
AuditMark2: v.AuditMark2,
CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt,
DeletedAt: v.DeletedAt,
ArtistUuid: artwork.ArtistUuid,
ArtworkName: artwork.ArtworkName,
Length: artwork.Length,
Width: artwork.Width,
Ruler: artwork.Ruler,
CreatedAddress: strings.Split(artwork.CreatedAddress, ""),
ArtistPhoto: artwork.ArtistPhoto,
HdPic: artwork.HdPic,
ArtworkUid: artwork.ArtworkUid,
CreatedDate: artwork.CreateDate,
LockStatus: int32(v.Status),
BaseAuditStatus: v.BaseAuditStatus,
BaseAuditMark: v.BaseAuditMark,
BaseAuditMark2: v.BaseAuditMark2,
SupplementAuditStatus: v.SupplementAuditStatus,
SupplementAuditMark: v.SupplementAuditMark,
SupplementAuditMark2: v.SupplementAuditMark2,
AuditFlowIndex: int32(v.AuditFlowIndex),
CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt,
DeletedAt: v.DeletedAt,
})
}
}
@ -153,20 +165,33 @@ func (ArtistInfoArtworkLogic) DeleteArtworkRecord(req *artistInfoArtwork.DeleteA
}
func (a ArtistInfoArtworkLogic) UpdateArtworkAuditStatus(request *artistInfoArtwork.UpdateArtworkAuditStatusRequest) (res *artistInfoArtwork.ArtworkCommonNoParams, err error) {
err = dao.UpdateAuditStatus(request.ArtworkUid, request.AuditStatus, request.AuditMark, request.AuditMark2)
if request.ArtworkUid != "" {
err = dao.UpdateAuditStatus(request.ArtworkUid, request.AuditStatus, request.AuditMark, request.AuditMark2, request.FlowIndex)
} else if request.ArtworkUids != nil && len(request.ArtworkUids) > 0 {
err = dao.BatchUpdateAuditStatus(request.ArtworkUids, request.AuditStatus, request.AuditMark, request.AuditMark2, request.FlowIndex)
} else {
return nil, errors.New("画作uid不能为空")
}
return
}
func (a ArtistInfoArtworkLogic) CheckArtworkEditable(request *artistInfoArtwork.ArtworkUidRequest) (res *artistInfoArtwork.CheckArtworkEditableResponse, err error) {
res = &artistInfoArtwork.CheckArtworkEditableResponse{
Editable: false,
}
// CheckArtworkEditable 检查画作的可编辑状态
// followIndex 2基本信息审核 3补充信息审核
func (a ArtistInfoArtworkLogic) CheckArtworkEditable(request *artistInfoArtwork.ArtworkUidRequest, followIndex int) (res *artistInfoArtwork.CheckArtworkEditableResponse, err error) {
res = &artistInfoArtwork.CheckArtworkEditableResponse{}
lockDetail, err := dao.GetArtworkLockDetail(request.ArtworkUid)
if err != nil {
return nil, err
}
//如果画作为锁定状态 并且有锁定时间 并且状态不是已通过
if lockDetail.Status == 2 && lockDetail.LockTime != "" && lockDetail.AuditStatus != 2 {
res.Editable = true
if followIndex == 2 {
res.Editable = lockDetail.BaseEditable()
} else if followIndex == 3 {
res.Editable = lockDetail.SupplementEditable()
}
return
}
func (a ArtistInfoArtworkLogic) GenerateArtworkSupplementInfo(request *artistInfoArtwork.ArtworkUidsRequest) (*emptypb.Empty, error) {
//更新画作流程
err := dao.GenerateArtworkSupplementInfo(request.ArtworkUids)
return nil, err
}

View File

@ -1,19 +1,61 @@
package model
type AuditStatus int64
const (
AuditType_preSave AuditStatus = 1 //1= 暂存
AuditType_Pending AuditStatus = 2 //2= 待审核
AuditType_Failed AuditStatus = 3 //3= 审核失败
AuditType_Pass AuditStatus = 4 //4= 审核通过
AuditType_Supplemented AuditStatus = 5 //5= 待补充
)
// 此表作为画家宝中的画作中间表的主表(画作主要数据保存在画作微服务中),请悉知
type ArtworkLockRecord struct {
Model
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=解锁"`
Status int64 `json:"status" gorm:"column:status;default:1;comment:1=准备/暂存 2=锁定 3=解锁"` //这个锁的目的是配合下面的LockTime 对画作进行历史记录查询时的分组
LockTime string `json:"lockTime" gorm:"column:lock_time;comment:锁定时间"`
//用户锁定后Status=2才能进入流程.
AuditFlowIndex int64 `json:"auditFlowIndex" gorm:"column:audit_flow_index;default:1;comment:当前的审批流程 1无 2基本信息审核 3补充信息审核"`
// 画作基本信息审批
// -- 画作上传,审核状态为[暂存1] -- 后台锁定用户所有Status为1的画作设置为[锁定2],并生成锁定时间 ,审核状态为 [待审核3] -- 后台审批不通过,审核状态改为[不通过3] -- 用户修改画作后,状态再次改为[待审核2]直至审批通过
BaseAuditStatus AuditStatus `json:"baseAuditStatus" gorm:"column:base_audit_status;default:1;comment:画作基本信息审核状态 1:暂存 2:待审核 3审核不通过 4审核通过"`
BaseAuditMark string `json:"baseAuditMark" gorm:"column:base_audit_mark;comment:画作基本信息审核审核备注1"`
BaseAuditMark2 string `json:"baseAuditMark2" gorm:"column:base_audit_mark2;comment:画作基本信息审核审核备注2"`
// ↓
// 画作基本信息审批通过后,后台点击[生成补充信息按钮] AuditFlowIndex字段变为3 进入画作补充信息审批
// ↓
//画作补充信息审批记录
AuditStatus int64 `json:"auditStatus" gorm:"column:audit_status;default:1;comment:画作补充信息审核状态 1:待审核/暂存 2审核通过 3审核不通过"`
AuditMark string `json:"auditMark" gorm:"column:audit_mark;comment:审核备注"`
AuditMark2 string `json:"auditMark2" gorm:"column:audit_mark2;comment:审核备注2"`
// 后台点击[生成补充信息按钮],审核状态为[待补充5]-- 用户更新补充信息,状态改为[待审核2] -- 后台审批不通过,审核状态改为[不通过3] -- 用户修改画作后,状态再次改为[待审核2]直至审批通过
SupplementAuditStatus AuditStatus `json:"supplementAuditStatus" gorm:"column:supplement_audit_status;default:0;comment:补充信息审核状态 0无 5待补充 2.待审核 3审核不通过 4审核通过"` // 注意没有暂存状态
SupplementAuditMark string `json:"supplementAuditMark" gorm:"column:supplement_audit_mark;comment:补充信息审核备注1"`
SupplementAuditMark2 string `json:"supplementAuditMark2" gorm:"column:supplement_audit_mark2;comment:补充信息审核备注2"`
//UserInfo User `gorm:"foreignKey:ArtistUid;reference:MgmtArtistUid"`
}
func (a ArtworkLockRecord) TableName() string {
return "artwork_lock_record"
}
// 基本信息是否可编辑
func (a *ArtworkLockRecord) BaseEditable() bool {
if a.Status == 1 {
return true
}
if a.Status == 2 && (a.BaseAuditStatus == AuditType_Failed || a.BaseAuditStatus == AuditType_Pending) {
return true
}
return false
}
// 补充信息是否可编辑
func (a *ArtworkLockRecord) SupplementEditable() bool {
//&& a.BaseAuditStatus == AuditType_Pass todo 是否要流程通过基本信息
if a.Status == 2 && (a.SupplementAuditStatus == AuditType_Supplemented || a.SupplementAuditStatus == AuditType_Failed || a.SupplementAuditStatus == AuditType_Pending) {
return true
}
return false
}

File diff suppressed because it is too large Load Diff

View File

@ -241,6 +241,108 @@ var _ interface {
ErrorName() string
} = ArtworkUidRequestValidationError{}
// Validate checks the field values on ArtworkUidsRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
func (m *ArtworkUidsRequest) Validate() error {
return m.validate(false)
}
// ValidateAll checks the field values on ArtworkUidsRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// ArtworkUidsRequestMultiError, or nil if none found.
func (m *ArtworkUidsRequest) ValidateAll() error {
return m.validate(true)
}
func (m *ArtworkUidsRequest) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
if len(errors) > 0 {
return ArtworkUidsRequestMultiError(errors)
}
return nil
}
// ArtworkUidsRequestMultiError is an error wrapping multiple validation errors
// returned by ArtworkUidsRequest.ValidateAll() if the designated constraints
// aren't met.
type ArtworkUidsRequestMultiError []error
// Error returns a concatenation of all the error messages it wraps.
func (m ArtworkUidsRequestMultiError) Error() string {
var msgs []string
for _, err := range m {
msgs = append(msgs, err.Error())
}
return strings.Join(msgs, "; ")
}
// AllErrors returns a list of validation violation errors.
func (m ArtworkUidsRequestMultiError) AllErrors() []error { return m }
// ArtworkUidsRequestValidationError is the validation error returned by
// ArtworkUidsRequest.Validate if the designated constraints aren't met.
type ArtworkUidsRequestValidationError struct {
field string
reason string
cause error
key bool
}
// Field function returns field value.
func (e ArtworkUidsRequestValidationError) Field() string { return e.field }
// Reason function returns reason value.
func (e ArtworkUidsRequestValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
func (e ArtworkUidsRequestValidationError) Cause() error { return e.cause }
// Key function returns key value.
func (e ArtworkUidsRequestValidationError) Key() bool { return e.key }
// ErrorName returns error name.
func (e ArtworkUidsRequestValidationError) ErrorName() string {
return "ArtworkUidsRequestValidationError"
}
// Error satisfies the builtin error interface
func (e ArtworkUidsRequestValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
}
key := ""
if e.key {
key = "key for "
}
return fmt.Sprintf(
"invalid %sArtworkUidsRequest.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
var _ error = ArtworkUidsRequestValidationError{}
var _ interface {
Field() string
Reason() string
Key() bool
Cause() error
ErrorName() string
} = ArtworkUidsRequestValidationError{}
// Validate checks the field values on CreateArtworkLockRecordReq with the
// rules defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
@ -596,18 +698,26 @@ func (m *ArtistLockInfo) validate(all bool) error {
// no validation rules for LockTime
// no validation rules for AuditStatus
// no validation rules for AuditMark
// no validation rules for AuditMark2
// no validation rules for CreatedAt
// no validation rules for UpdatedAt
// no validation rules for DeletedAt
// no validation rules for BaseAuditStatus
// no validation rules for BaseAuditMark
// no validation rules for BaseAuditMark2
// no validation rules for SupplementAuditStatus
// no validation rules for SupplementAuditMark
// no validation rules for SupplementAuditMark2
// no validation rules for AuditFlowIndex
if len(errors) > 0 {
return ArtistLockInfoMultiError(errors)
}
@ -1274,11 +1384,19 @@ func (m *ArtworkPreviewInfo) validate(all bool) error {
// no validation rules for LockStatus
// no validation rules for AuditStatus
// no validation rules for BaseAuditStatus
// no validation rules for AuditMark
// no validation rules for BaseAuditMark
// no validation rules for AuditMark2
// no validation rules for BaseAuditMark2
// no validation rules for SupplementAuditStatus
// no validation rules for SupplementAuditMark
// no validation rules for SupplementAuditMark2
// no validation rules for AuditFlowIndex
// no validation rules for CreatedAt
@ -1671,6 +1789,8 @@ func (m *UpdateArtworkAuditStatusRequest) validate(all bool) error {
// no validation rules for AuditMark2
// no validation rules for FlowIndex
if len(errors) > 0 {
return UpdateArtworkAuditStatusRequestMultiError(errors)
}

View File

@ -18,6 +18,7 @@ import (
common "github.com/dubbogo/triple/pkg/common"
constant "github.com/dubbogo/triple/pkg/common/constant"
triple "github.com/dubbogo/triple/pkg/triple"
emptypb "google.golang.org/protobuf/types/known/emptypb"
)
// This is a compile-time assertion to ensure that this generated file
@ -36,7 +37,9 @@ type ArtistInfoArtworkClient interface {
DeleteArtworkRecord(ctx context.Context, in *DeleteArtworkRecordRequest, opts ...grpc_go.CallOption) (*ArtworkCommonNoParams, common.ErrorWithAttachment)
GetArtworkLockDetail(ctx context.Context, in *GetArtworkLockDetailRequest, opts ...grpc_go.CallOption) (*ArtistLockInfo, common.ErrorWithAttachment)
UpdateArtworkAuditStatus(ctx context.Context, in *UpdateArtworkAuditStatusRequest, opts ...grpc_go.CallOption) (*ArtworkCommonNoParams, common.ErrorWithAttachment)
CheckArtworkEditable(ctx context.Context, in *ArtworkUidRequest, opts ...grpc_go.CallOption) (*CheckArtworkEditableResponse, common.ErrorWithAttachment)
CheckArtworkBaseInfoEditable(ctx context.Context, in *ArtworkUidRequest, opts ...grpc_go.CallOption) (*CheckArtworkEditableResponse, common.ErrorWithAttachment)
CheckArtworkSupplementInfoEditable(ctx context.Context, in *ArtworkUidRequest, opts ...grpc_go.CallOption) (*CheckArtworkEditableResponse, common.ErrorWithAttachment)
GenerateArtworkSupplementInfo(ctx context.Context, in *ArtworkUidsRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment)
}
type artistInfoArtworkClient struct {
@ -44,14 +47,16 @@ type artistInfoArtworkClient struct {
}
type ArtistInfoArtworkClientImpl struct {
CreateArtworkLockRecord func(ctx context.Context, in *CreateArtworkLockRecordReq) (*ArtworkCommonNoParams, error)
ArtworkLockAction func(ctx context.Context, in *ArtworkLockActionRequest) (*ArtworkCommonNoParams, error)
GetArtworkLockRecords func(ctx context.Context, in *GetArtworkLockRecordsRequest) (*ArtworkLockList, error)
GetArtworkLockHistoryGroup func(ctx context.Context, in *GetArtworkLockHistoryRequest) (*GetArtworkLockHistoryResponse, error)
DeleteArtworkRecord func(ctx context.Context, in *DeleteArtworkRecordRequest) (*ArtworkCommonNoParams, error)
GetArtworkLockDetail func(ctx context.Context, in *GetArtworkLockDetailRequest) (*ArtistLockInfo, error)
UpdateArtworkAuditStatus func(ctx context.Context, in *UpdateArtworkAuditStatusRequest) (*ArtworkCommonNoParams, error)
CheckArtworkEditable func(ctx context.Context, in *ArtworkUidRequest) (*CheckArtworkEditableResponse, error)
CreateArtworkLockRecord func(ctx context.Context, in *CreateArtworkLockRecordReq) (*ArtworkCommonNoParams, error)
ArtworkLockAction func(ctx context.Context, in *ArtworkLockActionRequest) (*ArtworkCommonNoParams, error)
GetArtworkLockRecords func(ctx context.Context, in *GetArtworkLockRecordsRequest) (*ArtworkLockList, error)
GetArtworkLockHistoryGroup func(ctx context.Context, in *GetArtworkLockHistoryRequest) (*GetArtworkLockHistoryResponse, error)
DeleteArtworkRecord func(ctx context.Context, in *DeleteArtworkRecordRequest) (*ArtworkCommonNoParams, error)
GetArtworkLockDetail func(ctx context.Context, in *GetArtworkLockDetailRequest) (*ArtistLockInfo, error)
UpdateArtworkAuditStatus func(ctx context.Context, in *UpdateArtworkAuditStatusRequest) (*ArtworkCommonNoParams, error)
CheckArtworkBaseInfoEditable func(ctx context.Context, in *ArtworkUidRequest) (*CheckArtworkEditableResponse, error)
CheckArtworkSupplementInfoEditable func(ctx context.Context, in *ArtworkUidRequest) (*CheckArtworkEditableResponse, error)
GenerateArtworkSupplementInfo func(ctx context.Context, in *ArtworkUidsRequest) (*emptypb.Empty, error)
}
func (c *ArtistInfoArtworkClientImpl) GetDubboStub(cc *triple.TripleConn) ArtistInfoArtworkClient {
@ -108,10 +113,22 @@ func (c *artistInfoArtworkClient) UpdateArtworkAuditStatus(ctx context.Context,
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateArtworkAuditStatus", in, out)
}
func (c *artistInfoArtworkClient) CheckArtworkEditable(ctx context.Context, in *ArtworkUidRequest, opts ...grpc_go.CallOption) (*CheckArtworkEditableResponse, common.ErrorWithAttachment) {
func (c *artistInfoArtworkClient) CheckArtworkBaseInfoEditable(ctx context.Context, in *ArtworkUidRequest, opts ...grpc_go.CallOption) (*CheckArtworkEditableResponse, common.ErrorWithAttachment) {
out := new(CheckArtworkEditableResponse)
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckArtworkEditable", in, out)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckArtworkBaseInfoEditable", in, out)
}
func (c *artistInfoArtworkClient) CheckArtworkSupplementInfoEditable(ctx context.Context, in *ArtworkUidRequest, opts ...grpc_go.CallOption) (*CheckArtworkEditableResponse, common.ErrorWithAttachment) {
out := new(CheckArtworkEditableResponse)
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckArtworkSupplementInfoEditable", in, out)
}
func (c *artistInfoArtworkClient) GenerateArtworkSupplementInfo(ctx context.Context, in *ArtworkUidsRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) {
out := new(emptypb.Empty)
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GenerateArtworkSupplementInfo", in, out)
}
// ArtistInfoArtworkServer is the server API for ArtistInfoArtwork service.
@ -126,7 +143,9 @@ type ArtistInfoArtworkServer interface {
DeleteArtworkRecord(context.Context, *DeleteArtworkRecordRequest) (*ArtworkCommonNoParams, error)
GetArtworkLockDetail(context.Context, *GetArtworkLockDetailRequest) (*ArtistLockInfo, error)
UpdateArtworkAuditStatus(context.Context, *UpdateArtworkAuditStatusRequest) (*ArtworkCommonNoParams, error)
CheckArtworkEditable(context.Context, *ArtworkUidRequest) (*CheckArtworkEditableResponse, error)
CheckArtworkBaseInfoEditable(context.Context, *ArtworkUidRequest) (*CheckArtworkEditableResponse, error)
CheckArtworkSupplementInfoEditable(context.Context, *ArtworkUidRequest) (*CheckArtworkEditableResponse, error)
GenerateArtworkSupplementInfo(context.Context, *ArtworkUidsRequest) (*emptypb.Empty, error)
mustEmbedUnimplementedArtistInfoArtworkServer()
}
@ -156,8 +175,14 @@ func (UnimplementedArtistInfoArtworkServer) GetArtworkLockDetail(context.Context
func (UnimplementedArtistInfoArtworkServer) UpdateArtworkAuditStatus(context.Context, *UpdateArtworkAuditStatusRequest) (*ArtworkCommonNoParams, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateArtworkAuditStatus not implemented")
}
func (UnimplementedArtistInfoArtworkServer) CheckArtworkEditable(context.Context, *ArtworkUidRequest) (*CheckArtworkEditableResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CheckArtworkEditable not implemented")
func (UnimplementedArtistInfoArtworkServer) CheckArtworkBaseInfoEditable(context.Context, *ArtworkUidRequest) (*CheckArtworkEditableResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CheckArtworkBaseInfoEditable not implemented")
}
func (UnimplementedArtistInfoArtworkServer) CheckArtworkSupplementInfoEditable(context.Context, *ArtworkUidRequest) (*CheckArtworkEditableResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CheckArtworkSupplementInfoEditable not implemented")
}
func (UnimplementedArtistInfoArtworkServer) GenerateArtworkSupplementInfo(context.Context, *ArtworkUidsRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method GenerateArtworkSupplementInfo not implemented")
}
func (s *UnimplementedArtistInfoArtworkServer) XXX_SetProxyImpl(impl protocol.Invoker) {
s.proxyImpl = impl
@ -390,7 +415,7 @@ func _ArtistInfoArtwork_UpdateArtworkAuditStatus_Handler(srv interface{}, ctx co
return interceptor(ctx, in, info, handler)
}
func _ArtistInfoArtwork_CheckArtworkEditable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
func _ArtistInfoArtwork_CheckArtworkBaseInfoEditable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(ArtworkUidRequest)
if err := dec(in); err != nil {
return nil, err
@ -403,7 +428,65 @@ func _ArtistInfoArtwork_CheckArtworkEditable_Handler(srv interface{}, ctx contex
for k, v := range md {
invAttachment[k] = v
}
invo := invocation.NewRPCInvocation("CheckArtworkEditable", args, invAttachment)
invo := invocation.NewRPCInvocation("CheckArtworkBaseInfoEditable", args, invAttachment)
if interceptor == nil {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
info := &grpc_go.UnaryServerInfo{
Server: srv,
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
return interceptor(ctx, in, info, handler)
}
func _ArtistInfoArtwork_CheckArtworkSupplementInfoEditable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(ArtworkUidRequest)
if err := dec(in); err != nil {
return nil, err
}
base := srv.(dubbo3.Dubbo3GrpcService)
args := []interface{}{}
args = append(args, in)
md, _ := metadata.FromIncomingContext(ctx)
invAttachment := make(map[string]interface{}, len(md))
for k, v := range md {
invAttachment[k] = v
}
invo := invocation.NewRPCInvocation("CheckArtworkSupplementInfoEditable", args, invAttachment)
if interceptor == nil {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
info := &grpc_go.UnaryServerInfo{
Server: srv,
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
}
return interceptor(ctx, in, info, handler)
}
func _ArtistInfoArtwork_GenerateArtworkSupplementInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
in := new(ArtworkUidsRequest)
if err := dec(in); err != nil {
return nil, err
}
base := srv.(dubbo3.Dubbo3GrpcService)
args := []interface{}{}
args = append(args, in)
md, _ := metadata.FromIncomingContext(ctx)
invAttachment := make(map[string]interface{}, len(md))
for k, v := range md {
invAttachment[k] = v
}
invo := invocation.NewRPCInvocation("GenerateArtworkSupplementInfo", args, invAttachment)
if interceptor == nil {
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
return result, result.Error()
@ -455,8 +538,16 @@ var ArtistInfoArtwork_ServiceDesc = grpc_go.ServiceDesc{
Handler: _ArtistInfoArtwork_UpdateArtworkAuditStatus_Handler,
},
{
MethodName: "CheckArtworkEditable",
Handler: _ArtistInfoArtwork_CheckArtworkEditable_Handler,
MethodName: "CheckArtworkBaseInfoEditable",
Handler: _ArtistInfoArtwork_CheckArtworkBaseInfoEditable_Handler,
},
{
MethodName: "CheckArtworkSupplementInfoEditable",
Handler: _ArtistInfoArtwork_CheckArtworkSupplementInfoEditable_Handler,
},
{
MethodName: "GenerateArtworkSupplementInfo",
Handler: _ArtistInfoArtwork_GenerateArtworkSupplementInfo_Handler,
},
},
Streams: []grpc_go.StreamDesc{},

View File

@ -16,13 +16,18 @@ service ArtistInfoArtwork {
rpc DeleteArtworkRecord(DeleteArtworkRecordRequest)returns(ArtworkCommonNoParams){} //
rpc GetArtworkLockDetail(GetArtworkLockDetailRequest)returns(ArtistLockInfo){}//
rpc UpdateArtworkAuditStatus(UpdateArtworkAuditStatusRequest)returns(ArtworkCommonNoParams){}//
rpc CheckArtworkEditable(ArtworkUidRequest)returns(CheckArtworkEditableResponse){}//
rpc CheckArtworkBaseInfoEditable(ArtworkUidRequest)returns(CheckArtworkEditableResponse){}//
rpc CheckArtworkSupplementInfoEditable(ArtworkUidRequest)returns(CheckArtworkEditableResponse){}//
rpc GenerateArtworkSupplementInfo(ArtworkUidsRequest)returns(google.protobuf.Empty){}//
}
message ArtworkCommonNoParams{}
message ArtworkUidRequest{
string ArtworkUid =1 [(validate.rules).message.required = true]; //uid
}
message ArtworkUidsRequest{
repeated string ArtworkUids =1 [(validate.rules).message.required = true]; //uid列表
}
message CreateArtworkLockRecordReq{
string artistUid=1 [(validate.rules).message.required = true];//uid
string artworkUid=2 [(validate.rules).message.required = true];//uid
@ -37,8 +42,10 @@ message ArtworkLockActionRequest{
enum ArtworkQueryMode {
NowPreSaveArtwork = 0; //
NowLockedArtwork = 1; //
ArtistCanSee = 2; //
AllUnlockArtwork = 3; //()
NowPreSaveAndLocked=2;//
NowAuditFlowOfBase= 3; //
NowAuditFlowOfSupplementing = 4; //
AllUnlockArtwork = 5; //()
}
message GetArtworkLockRecordsRequest{
string artistUid =1 [(validate.rules).message.required = true];//uid
@ -51,12 +58,21 @@ message ArtistLockInfo{
string artworkUid=2;
int64 status=3;
string lockTime=4;
int64 auditStatus=5;
string auditMark=6;
string auditMark2=7;
int64 createdAt=15;
int64 updatedAt=16;
int64 deletedAt=17;
int64 createdAt=5;
int64 updatedAt=6;
int64 deletedAt=7;
//
int32 baseAuditStatus=12;
string baseAuditMark=13;
string baseAuditMark2=14;
//
int32 supplementAuditStatus=15;
string supplementAuditMark=16;
string supplementAuditMark2=17;
//
int32 auditFlowIndex =18;
}
message ArtworkLockList{
@ -90,12 +106,22 @@ message ArtworkPreviewInfo {
string artworkUid=9;
string createdDate=10;
int32 lockStatus=11;
int64 auditStatus=12;
string auditMark=13;
string auditMark2=14;
int64 createdAt=15;
int64 updatedAt=16;
int64 deletedAt=17;
//
int32 baseAuditStatus=12;
string baseAuditMark=13;
string baseAuditMark2=14;
//
int32 supplementAuditStatus=15;
string supplementAuditMark=16;
string supplementAuditMark2=17;
//
int32 auditFlowIndex =18;
int64 createdAt=19;
int64 updatedAt=20;
int64 deletedAt=21;
}
message GetArtworkLockHistoryResponse{
repeated ArtworkLockRecord groupList =1;
@ -109,6 +135,8 @@ message UpdateArtworkAuditStatusRequest{
int64 auditStatus=5;
string auditMark=6;
string auditMark2=7;
int64 flowIndex=8;// 2= 3=
repeated string artworkUids=9; // artworkUid二选一
}
message CheckArtworkEditableResponse{
bool editable =1;