feat
This commit is contained in:
parent
dac4e08e67
commit
4c68923ae0
@ -16,6 +16,7 @@ RUN go build -o /app/fonchain-approval/bin/approval cmd/app.go
|
||||
|
||||
|
||||
FROM alpine
|
||||
RUN apk update --no-cache && apk add --no-cache ca-certificates tzdata
|
||||
ENV TZ Asia/Shanghai
|
||||
WORKDIR /app/approval
|
||||
#通过名称引用
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -140,6 +140,7 @@ message StatusRequest {
|
||||
uint64 WorkFlowId = 4 [json_name = "workFlowId"];
|
||||
uint64 Status = 5 [json_name = "status",(validator.field) = {int_lt: 4,int_gt: 0,human_error: "70008"}];
|
||||
uint64 Level = 6 [json_name = "level"];
|
||||
string Title = 7 [json_name = "title"];
|
||||
}
|
||||
|
||||
message StatusResponse {
|
||||
@ -232,6 +233,8 @@ message ApprovalExhibition {
|
||||
string PackageNumber =7 [json_name = "packageNumber"];
|
||||
string Address =8 [json_name = "address"];
|
||||
string ShowDate =9 [json_name = "showDate"];
|
||||
repeated Artwork Artworks = 10[json_name = "artworks"];
|
||||
ArtExhibitionDetail ArtExhibitionDetail = 11[json_name = "artExhibitionDetail"];
|
||||
}
|
||||
|
||||
message Exhibition {
|
||||
@ -240,8 +243,37 @@ message Exhibition {
|
||||
string Address =3 [json_name = "address"];
|
||||
uint64 PidApprovalID =4 [json_name = "pidApprovalID"];
|
||||
repeated ApprovalExhibition ApprovalExhibitions = 5 [json_name = "approvalExhibitions"];
|
||||
uint64 Num = 6 [json_name = "num"];
|
||||
string ApplyID = 7 [json_name = "applyID"];
|
||||
uint64 Num = 6 [json_name = "num"];
|
||||
string ApplyID = 7 [json_name = "applyID"];
|
||||
}
|
||||
|
||||
message Artwork {
|
||||
string ArtworkPriceUID =1;
|
||||
string ShowUID =2;
|
||||
string ArtworkUID =3;
|
||||
string ArtworkName =4;
|
||||
string ArtistName =5;
|
||||
uint64 Length =6;
|
||||
uint64 Width =7;
|
||||
uint64 Ruler =8;
|
||||
string SmallPic =9;
|
||||
}
|
||||
|
||||
message ArtExhibitionDetail {
|
||||
string ShowUID = 1 ;
|
||||
string ShowSeq = 2 ;
|
||||
string ShowName = 3 ;
|
||||
string ArtistName = 4 ;
|
||||
string ArtistUID = 5 ;
|
||||
uint64 ArtworkNum = 6 ;
|
||||
uint64 Ruler = 7 ;
|
||||
uint64 Price = 8 ;
|
||||
uint64 Reward = 9 ;
|
||||
string CreateTime = 10 ;
|
||||
string Operator = 11 ;
|
||||
uint64 IsShow = 12 ;
|
||||
string ShowTime = 13;
|
||||
string Address = 14 ;
|
||||
}
|
||||
|
||||
message BundlePayPrice {
|
||||
@ -255,7 +287,8 @@ message BundlePayPrice {
|
||||
string ArtworkSize = 8 [json_name = "artworkSize"];
|
||||
string ShowAddress = 9 [json_name = "showAddress"];
|
||||
uint64 ID = 10 [json_name = "ID"];
|
||||
uint64 Status = 11 [json_name = "Status"];
|
||||
uint64 Status = 11 [json_name = "status"];
|
||||
string ArtistName = 12 [json_name = "artistName"];
|
||||
}
|
||||
|
||||
message CreateRequest {
|
||||
|
@ -170,6 +170,18 @@ func (this *Work) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ApprovalExhibition) Validate() error {
|
||||
for _, item := range this.Artworks {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Artworks", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
if this.ArtExhibitionDetail != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.ArtExhibitionDetail); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("ArtExhibitionDetail", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *Exhibition) Validate() error {
|
||||
@ -182,6 +194,12 @@ func (this *Exhibition) Validate() error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *Artwork) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ArtExhibitionDetail) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *BundlePayPrice) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ import (
|
||||
"github.com/fonchain_enterprise/fonchain-approval/pkg/common/page"
|
||||
msg "github.com/fonchain_enterprise/fonchain-approval/pkg/m"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/clause"
|
||||
"gorm.io/plugin/soft_delete"
|
||||
"time"
|
||||
)
|
||||
@ -63,12 +64,13 @@ func (j KeyInfos) Value() (driver.Value, error) {
|
||||
}
|
||||
|
||||
const (
|
||||
TypeContent = "content"
|
||||
TypeWork = "work"
|
||||
TypeExhibition = "exhibition"
|
||||
TypeShow = "show"
|
||||
TypeBundle = "bundle"
|
||||
TypeBundlePayPrice = "bundlePayPrice"
|
||||
TypeContent = "content"
|
||||
TypeWork = "work"
|
||||
TypeExhibition = "exhibition"
|
||||
TypeShow = "show"
|
||||
TypeBundle = "bundle"
|
||||
TypeBundlePayPrice = "bundlePayPrice"
|
||||
TypeArtExhibitionReward = "artExhibitionReward"
|
||||
)
|
||||
const (
|
||||
StatusDoing = 1
|
||||
@ -172,7 +174,7 @@ func StoreApproval(in *approval.CreateRequest) (*Approval, error) {
|
||||
fmt.Println("1-----", terr, setting)
|
||||
|
||||
if terr != nil || setting == nil {
|
||||
return errors.New("抄送人没有配置")
|
||||
return errors.New("审批人员没有配置")
|
||||
}
|
||||
|
||||
approvalUsers := setting.GetCombineApproveUsers(FormatApproveUsers(in.ApprovalUsers))
|
||||
@ -213,7 +215,11 @@ func StoreApproval(in *approval.CreateRequest) (*Approval, error) {
|
||||
}
|
||||
|
||||
fmt.Println(5)
|
||||
return BatchSave(approvalUsers, entity.ID)
|
||||
err = BatchSave(approvalUsers, entity.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return BatchCopySave(setting.CopyUsers, entity.ID)
|
||||
})
|
||||
|
||||
//fmt.Println("nil", entity)
|
||||
@ -254,8 +260,14 @@ func Viewed(in *approval.ViewedRequest) error {
|
||||
if isView == false {
|
||||
return errors.New(msg.ErrorSettingView)
|
||||
}
|
||||
err = DB.Model(&Approval{}).Where(&Approval{ID: in.ID}).Updates(&Approval{CopyUsers: copyUsers}).Error
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return DB.Model(&Approval{}).Where(&Approval{ID: in.ID}).Updates(&Approval{CopyUsers: copyUsers}).Error
|
||||
DB.Model(&ApprovalCopy{}).Where(&ApprovalCopy{ApprovalID: in.ID, UserId: in.UserID}).Updates(&ApprovalCopy{Status: StatusOk})
|
||||
|
||||
return err
|
||||
|
||||
}
|
||||
|
||||
@ -328,7 +340,7 @@ func approvalCalc(filter *Approval) *approval.Information {
|
||||
func approvalCalcJsonV2(domain string, userId uint64) *approval.Information {
|
||||
|
||||
var num int64
|
||||
var jsonStr = "json_contains(approval_users,json_object('id', ?))"
|
||||
var jsonStr = "json_contains(approval_users,json_object('ID', ?))"
|
||||
|
||||
info := &approval.Information{
|
||||
Total: 0,
|
||||
@ -456,7 +468,46 @@ func (m *Approval) UpdateContent(in *approval.CreateRequest) error {
|
||||
return err
|
||||
}
|
||||
|
||||
func MyWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
||||
//MyAllWorkApprovals 待阅读的和待我操作的
|
||||
func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
||||
var list []*Approval
|
||||
var ids []string
|
||||
var count int64
|
||||
|
||||
//list
|
||||
modelObj := DB.Model(&Approval{}).
|
||||
Preload("Show").
|
||||
Preload("Work.ApprovalWorks").
|
||||
Preload("Bundle").
|
||||
Preload("ApprovalType").
|
||||
Preload("BundlePayPrice").
|
||||
Preload("ApprovalType.ApprovalTypeGroup").
|
||||
Preload("ApprovalWorkFlows").
|
||||
Preload("Exhibition.ApprovalExhibitions")
|
||||
|
||||
//我未阅读的和我未操作的
|
||||
DB.Model(&Approval{}).Where(&Approval{Type: in.Type}).Where(&Approval{NowUserId: in.UserID, Status: StatusDoing}).Order("id desc").Select("id").Find(&ids)
|
||||
s1 := DB.Model(&ApprovalCopy{}).Where(&ApprovalCopy{UserId: in.UserID}).Select("approval_id")
|
||||
|
||||
modelObj = modelObj.Where(&Approval{Type: in.Type}).Where(
|
||||
DB.Where(&Approval{NowUserId: in.UserID, Status: StatusDoing}). // 我需要审批的
|
||||
Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的
|
||||
modelObj.Count(&count)
|
||||
|
||||
if len(ids) > 0 { //根据具体id排序
|
||||
modelObj = modelObj.Clauses(clause.OrderBy{
|
||||
Expression: clause.Expr{SQL: "FIELD(id,?) desc", Vars: []interface{}{ids}, WithoutParentheses: true},
|
||||
})
|
||||
} else {
|
||||
modelObj = modelObj.Order("id desc")
|
||||
}
|
||||
|
||||
modelObj.Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Find(&list)
|
||||
|
||||
return list, count
|
||||
}
|
||||
|
||||
func MyApprovalWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
||||
var list []*Approval
|
||||
var count int64
|
||||
|
||||
@ -465,6 +516,8 @@ func MyWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
||||
Preload("Show").
|
||||
Preload("Work.ApprovalWorks").
|
||||
Preload("Bundle").
|
||||
Preload("ApprovalType").
|
||||
Preload("BundlePayPrice").
|
||||
Preload("ApprovalType.ApprovalTypeGroup").
|
||||
Preload("ApprovalWorkFlows").
|
||||
Preload("Exhibition.ApprovalExhibitions")
|
||||
@ -505,7 +558,63 @@ func MyWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
||||
|
||||
modelObj.Count(&count)
|
||||
|
||||
modelObj.Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Order("id desc").Find(&list)
|
||||
modelObj.Order("id desc").Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Find(&list)
|
||||
|
||||
return list, count
|
||||
}
|
||||
|
||||
func MyWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
||||
var list []*Approval
|
||||
var count int64
|
||||
|
||||
//list
|
||||
modelObj := DB.Model(&Approval{}).
|
||||
Preload("Show").
|
||||
Preload("Work.ApprovalWorks").
|
||||
Preload("Bundle").
|
||||
Preload("ApprovalType").
|
||||
Preload("BundlePayPrice").
|
||||
Preload("ApprovalType.ApprovalTypeGroup").
|
||||
Preload("ApprovalWorkFlows").
|
||||
Preload("Exhibition.ApprovalExhibitions")
|
||||
|
||||
if in.Type != "" {
|
||||
modelObj = modelObj.Where(&Approval{Type: in.Type})
|
||||
}
|
||||
|
||||
/**
|
||||
* 审批展示(抄送在此不表)
|
||||
/ \
|
||||
进行中 通过或者拒绝
|
||||
/ \
|
||||
当前是我审批 我参与审批的
|
||||
*/
|
||||
if in.UserID != 0 {
|
||||
modelObj = modelObj.Where(
|
||||
DB.Where("JSON_CONTAINS(approval_users,JSON_OBJECT('ID', ?))", in.UserID).
|
||||
Where("status != ?", StatusDoing). //完成,我参与审批
|
||||
Or(DB.Where("now_user_id", in.UserID).Where("status = ?", StatusDoing)). //进行中,当前审批人是我,
|
||||
Or(DB.Where("JSON_CONTAINS(copy_users,JSON_OBJECT('ID', ?))", in.UserID).Where("status = ?", StatusOk))) //抄送人(完成抄送)
|
||||
}
|
||||
|
||||
if in.ApprovedBossId != 0 {
|
||||
|
||||
fmt.Println("---------1--------查看我已经审批过的")
|
||||
subQuery2 := DB.Model(&ApprovalWorkFlow{}).
|
||||
Where("status in (?)", []uint8{StatusOk, StatusFail}).
|
||||
Where(&ApprovalWorkFlow{UserId: in.ApprovedBossId}).
|
||||
Select("approval_id")
|
||||
|
||||
modelObj = modelObj.Where("id in (?)", subQuery2)
|
||||
}
|
||||
|
||||
if in.Status != 0 {
|
||||
modelObj = modelObj.Where(&Approval{Status: int8(in.Status)})
|
||||
}
|
||||
|
||||
modelObj.Count(&count)
|
||||
|
||||
modelObj.Order("id desc").Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Find(&list)
|
||||
|
||||
return list, count
|
||||
}
|
||||
@ -519,6 +628,7 @@ func MySubmitApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
||||
Preload("Show").
|
||||
Preload("Work.ApprovalWorks").
|
||||
Preload("Bundle").
|
||||
Preload("BundlePayPrice").
|
||||
Preload("ApprovalWorkFlows").
|
||||
Preload("ApprovalType.ApprovalTypeGroup").
|
||||
Preload("Exhibition.ApprovalExhibitions")
|
||||
|
44
pkg/model/approval_copy.go
Normal file
44
pkg/model/approval_copy.go
Normal file
@ -0,0 +1,44 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"gorm.io/plugin/soft_delete"
|
||||
"time"
|
||||
)
|
||||
|
||||
// ApprovalCopy 审批流
|
||||
type ApprovalCopy struct {
|
||||
ID uint64 `gorm:"primaryKey;column:id" json:"id"`
|
||||
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at" json:"deletedAt"`
|
||||
CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"`
|
||||
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"`
|
||||
ApprovalID uint64 `gorm:"type:int(11);column:approval_id;default:1;comment:绑定的审批id" json:"approvalID"`
|
||||
UserId uint64 `gorm:"type:int(11);column:user_id;default:1;comment:绑定的人员id" json:"userId"`
|
||||
Name string `gorm:"type:varchar(50);column:name;default:'';comment:绑定的人名称" json:"name"`
|
||||
Status uint64 `gorm:"type:int(11);column:status;default:1;comment:状态" json:"status"`
|
||||
}
|
||||
|
||||
func BatchCopySave(users CopyUsers, approvalId uint64) error {
|
||||
var insertRaws []*ApprovalCopy
|
||||
|
||||
if users == nil && len(users) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
for _, user := range users {
|
||||
temp := &ApprovalCopy{
|
||||
UserId: user.ID,
|
||||
Name: user.Name,
|
||||
ApprovalID: approvalId,
|
||||
Status: StatusDoing,
|
||||
}
|
||||
|
||||
insertRaws = append(insertRaws, temp)
|
||||
|
||||
}
|
||||
|
||||
return DB.Create(&insertRaws).Error
|
||||
}
|
||||
|
||||
func (m *ApprovalCopy) TableName() string {
|
||||
return "approval_copy"
|
||||
}
|
@ -1,27 +1,82 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"database/sql/driver"
|
||||
"encoding/json"
|
||||
"gorm.io/plugin/soft_delete"
|
||||
"time"
|
||||
)
|
||||
|
||||
type ArtExhibitionDetail struct {
|
||||
ShowUID string
|
||||
ShowSeq string
|
||||
ShowName string
|
||||
ArtistName string
|
||||
ArtistUID string
|
||||
ArtworkNum uint64
|
||||
Ruler uint64
|
||||
Price uint64
|
||||
Reward uint64
|
||||
CreateTime string
|
||||
Operator string
|
||||
IsShow uint64
|
||||
ShowTime string
|
||||
Address string
|
||||
}
|
||||
|
||||
type Artwork struct {
|
||||
ArtworkPriceUID string
|
||||
ShowUID string
|
||||
ArtworkUID string
|
||||
ArtworkName string
|
||||
ArtistName string
|
||||
Length uint64
|
||||
Width uint64
|
||||
Ruler uint64
|
||||
SmallPic string
|
||||
}
|
||||
|
||||
type Artworks []Artwork
|
||||
|
||||
// ApprovalExhibition 绑定的画展包
|
||||
type ApprovalExhibition struct {
|
||||
ID uint64 `gorm:"primaryKey;column:id" json:"id"` // ID
|
||||
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at" json:"deletedAt"` // 删除时间
|
||||
CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"` // 创建时间
|
||||
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` // 更新时间
|
||||
ApprovalID uint64 `gorm:"column:approval_id" json:"approvalId"` // 申请的id
|
||||
ExhibitionID uint64 `gorm:"column:exhibition_id" json:"exhibitionId"` // 画展包的id
|
||||
PackageName string `gorm:"column:package_name" json:"PackageName"` // 作品名称
|
||||
PackageID string `gorm:"size:64;column:package_id;default:''" json:"packageID"` // 作品类型id
|
||||
PackageSize uint64 `gorm:"column:package_size" json:"PackageSize"` // 平尺数
|
||||
PackageNumber string `gorm:"column:package_number" json:"packageNumber"` // 序号
|
||||
Address string `gorm:"column:address" json:"Address"` // 地点
|
||||
ShowDate string `gorm:"type:varchar(10);default:'';column:show_date" json:"ShowDate"` // 位置
|
||||
ID uint64 `gorm:"primaryKey;column:id" json:"id"` // ID
|
||||
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at" json:"deletedAt"` // 删除时间
|
||||
CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"` // 创建时间
|
||||
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` // 更新时间
|
||||
ApprovalID uint64 `gorm:"column:approval_id" json:"approvalId"` // 申请的id
|
||||
ExhibitionID uint64 `gorm:"column:exhibition_id" json:"exhibitionId"` // 画展包的id
|
||||
PackageName string `gorm:"column:package_name" json:"PackageName"` // 作品名称
|
||||
PackageID string `gorm:"size:64;column:package_id;default:''" json:"packageID"` // 作品类型id
|
||||
PackageSize uint64 `gorm:"column:package_size" json:"PackageSize"` // 平尺数
|
||||
PackageNumber string `gorm:"column:package_number" json:"packageNumber"` // 序号
|
||||
Address string `gorm:"column:address" json:"Address"` // 地点
|
||||
ShowDate string `gorm:"type:varchar(10);default:'';column:show_date" json:"ShowDate"` // 位置
|
||||
ArtExhibitionDetail ArtExhibitionDetail `gorm:"type:text;column:art_exhibition_detail;comment:绑定的画展包" json:"artExhibitionDetail"`
|
||||
Artworks Artworks `gorm:"type:text;column:artworks;comment:画作" json:"artworks"`
|
||||
}
|
||||
|
||||
// TableName get sql table name.获取数据库表名
|
||||
func (m *ApprovalExhibition) TableName() string {
|
||||
return "approval_exhibition"
|
||||
}
|
||||
|
||||
func (j Artworks) Scan(src interface{}) error {
|
||||
return json.Unmarshal(src.([]byte), j)
|
||||
}
|
||||
|
||||
func (j Artworks) Value() (driver.Value, error) {
|
||||
v, err := json.Marshal(j)
|
||||
return string(v), err
|
||||
}
|
||||
|
||||
func (j ArtExhibitionDetail) Scan(src interface{}) error {
|
||||
return json.Unmarshal(src.([]byte), j)
|
||||
}
|
||||
|
||||
func (j ArtExhibitionDetail) Value() (driver.Value, error) {
|
||||
|
||||
v, err := json.Marshal(j)
|
||||
|
||||
return string(v), err
|
||||
}
|
||||
|
@ -73,13 +73,20 @@ func GetApprovalSettingFromKeyWord(Domain, keyWord string) (setting *ApprovalSet
|
||||
|
||||
func FormatCopyUsers(copyUsers []*approval.CopyUser) CopyUsers {
|
||||
var res CopyUsers
|
||||
copyMap := make(map[uint64]struct{})
|
||||
|
||||
// copyer
|
||||
for _, copyUser := range copyUsers {
|
||||
|
||||
if _, ok := copyMap[copyUser.ID]; ok { //存在
|
||||
continue
|
||||
}
|
||||
|
||||
temp := CopyUser{
|
||||
ID: copyUser.ID,
|
||||
Name: copyUser.Name,
|
||||
}
|
||||
|
||||
res = append(res, temp)
|
||||
}
|
||||
|
||||
|
@ -46,6 +46,7 @@ var keyWordMap = map[string]string{
|
||||
"画展包数量审批": "bundle",
|
||||
"画展审批": "show",
|
||||
"画展包付款单申请": TypeBundlePayPrice,
|
||||
"画作润格审批": TypeArtExhibitionReward,
|
||||
}
|
||||
|
||||
func DataExist(domain, keyWork, title string) bool {
|
||||
|
@ -22,7 +22,8 @@ type BundlePayPrice struct {
|
||||
ShowLowPrice string `gorm:"type:varchar(32);column:show_low_price;default:'';comment:画展宝低价" json:"showLowPrice"`
|
||||
ArtworkNum uint64 `gorm:"type:int(11);column:artworkNum;default:0;comment:作品数量" json:"artworkNum"`
|
||||
ArtworkSize string `gorm:"type:varchar(32);column:artwork_size;default:'';comment:作品总平尺" json:"artworkSize"`
|
||||
ShowAddress string `gorm:"type:varchar(32);column:show_address;default:'';comment:画展地址" json:"showAddress"`
|
||||
ShowAddress string `gorm:"type:varchar(50);column:show_address;default:'';comment:画展地址" json:"showAddress"`
|
||||
ArtistName string `gorm:"type:varchar(50);column:artist_name;default:'';comment:画家名称" json:"artistName"`
|
||||
Status uint64 `gorm:"type:int(11);column:status;default:1;comment:状态" json:"status"`
|
||||
}
|
||||
|
||||
@ -42,6 +43,7 @@ func (m *BundlePayPrice) SaveApprovalContent(in *approval.CreateRequest, a *Appr
|
||||
m.ArtworkNum = in.BundlePayPrice.ArtworkNum
|
||||
m.ArtworkSize = in.BundlePayPrice.ArtworkSize
|
||||
m.ShowAddress = in.BundlePayPrice.ShowAddress
|
||||
m.ArtistName = in.BundlePayPrice.ArtistName
|
||||
|
||||
return DB.Create(&m).Error
|
||||
}
|
||||
@ -63,6 +65,7 @@ func (m *BundlePayPrice) UpdateApprovalContent(in *approval.CreateRequest, a *Ap
|
||||
m.ArtworkNum = in.BundlePayPrice.ArtworkNum
|
||||
m.ArtworkSize = in.BundlePayPrice.ArtworkSize
|
||||
m.ShowAddress = in.BundlePayPrice.ShowAddress
|
||||
m.ArtistName = in.BundlePayPrice.ArtistName
|
||||
|
||||
return DB.Model(&m).Updates(m).Error
|
||||
}
|
||||
@ -81,6 +84,7 @@ func (m *BundlePayPrice) BuildResContent(a *Approval, request *approval.CreateRe
|
||||
ArtworkSize: a.BundlePayPrice.ArtworkSize,
|
||||
ShowAddress: a.BundlePayPrice.ShowAddress,
|
||||
Status: a.BundlePayPrice.Status,
|
||||
ArtistName: a.BundlePayPrice.ArtistName,
|
||||
ID: a.BundlePayPrice.ID,
|
||||
}
|
||||
}
|
||||
|
@ -46,15 +46,49 @@ func (m *Exhibition) SaveApprovalContent(in *approval.CreateRequest, a *Approval
|
||||
var approvalExhibitions []ApprovalExhibition
|
||||
for _, approvalExhibition := range in.Exhibition.ApprovalExhibitions {
|
||||
temp := ApprovalExhibition{
|
||||
ApprovalID: a.ID,
|
||||
ExhibitionID: m.ID,
|
||||
PackageName: approvalExhibition.PackageName,
|
||||
PackageID: approvalExhibition.PackageID,
|
||||
PackageSize: approvalExhibition.PackageSize,
|
||||
PackageNumber: approvalExhibition.PackageNumber,
|
||||
Address: approvalExhibition.Address,
|
||||
ShowDate: approvalExhibition.ShowDate,
|
||||
}
|
||||
|
||||
ApprovalID: a.ID,
|
||||
ExhibitionID: m.ID,
|
||||
PackageName: approvalExhibition.PackageName,
|
||||
PackageID: approvalExhibition.PackageID,
|
||||
//PackageSize: approvalExhibition.PackageSize,
|
||||
//PackageNumber: approvalExhibition.PackageNumber,
|
||||
Address: approvalExhibition.Address,
|
||||
ShowDate: approvalExhibition.ShowDate,
|
||||
//保存包主体
|
||||
temp.ArtExhibitionDetail = ArtExhibitionDetail{
|
||||
ShowUID: approvalExhibition.ArtExhibitionDetail.ShowUID,
|
||||
ShowSeq: approvalExhibition.ArtExhibitionDetail.ShowSeq,
|
||||
ShowName: approvalExhibition.ArtExhibitionDetail.ShowName,
|
||||
ArtistName: approvalExhibition.ArtExhibitionDetail.ArtistName,
|
||||
ArtistUID: approvalExhibition.ArtExhibitionDetail.ArtistUID,
|
||||
ArtworkNum: approvalExhibition.ArtExhibitionDetail.ArtworkNum,
|
||||
Ruler: approvalExhibition.ArtExhibitionDetail.Ruler,
|
||||
Price: approvalExhibition.ArtExhibitionDetail.Price,
|
||||
Reward: approvalExhibition.ArtExhibitionDetail.Reward,
|
||||
CreateTime: approvalExhibition.ArtExhibitionDetail.CreateTime,
|
||||
Operator: approvalExhibition.ArtExhibitionDetail.Operator,
|
||||
IsShow: approvalExhibition.ArtExhibitionDetail.IsShow,
|
||||
ShowTime: approvalExhibition.ArtExhibitionDetail.ShowTime,
|
||||
Address: approvalExhibition.ArtExhibitionDetail.Address,
|
||||
}
|
||||
|
||||
//画作详情
|
||||
for _, t := range approvalExhibition.Artworks {
|
||||
|
||||
art := Artwork{
|
||||
ArtworkPriceUID: t.ArtworkPriceUID,
|
||||
ShowUID: t.ShowUID,
|
||||
ArtworkUID: t.ArtworkUID,
|
||||
ArtworkName: t.ArtworkName,
|
||||
ArtistName: t.ArtistName,
|
||||
Length: t.Length,
|
||||
Width: t.Width,
|
||||
Ruler: t.Ruler,
|
||||
SmallPic: t.SmallPic,
|
||||
}
|
||||
temp.Artworks = append(temp.Artworks, art)
|
||||
}
|
||||
|
||||
approvalExhibitions = append(approvalExhibitions, temp)
|
||||
@ -184,16 +218,52 @@ func (m *Exhibition) BuildResContent(a *Approval, request *approval.CreateReques
|
||||
for _, one := range a.Exhibition.ApprovalExhibitions {
|
||||
temp := &approval.ApprovalExhibition{
|
||||
|
||||
ID: one.ID,
|
||||
ApprovalID: one.ApprovalID,
|
||||
ExhibitionID: one.ExhibitionID,
|
||||
PackageID: one.PackageID,
|
||||
PackageName: one.PackageName,
|
||||
//PackageSize: one.PackageSize,
|
||||
//PackageNumber: one.PackageNumber,
|
||||
Address: one.Address,
|
||||
ShowDate: one.ShowDate,
|
||||
ID: one.ID,
|
||||
ApprovalID: one.ApprovalID,
|
||||
ExhibitionID: one.ExhibitionID,
|
||||
PackageID: one.PackageID,
|
||||
PackageName: one.PackageName,
|
||||
PackageSize: one.PackageSize,
|
||||
PackageNumber: one.PackageNumber,
|
||||
Address: one.Address,
|
||||
ShowDate: one.ShowDate,
|
||||
}
|
||||
|
||||
//保存包主体
|
||||
temp.ArtExhibitionDetail = &approval.ArtExhibitionDetail{
|
||||
ShowUID: one.ArtExhibitionDetail.ShowUID,
|
||||
ShowSeq: one.ArtExhibitionDetail.ShowSeq,
|
||||
ShowName: one.ArtExhibitionDetail.ShowName,
|
||||
ArtistName: one.ArtExhibitionDetail.ArtistName,
|
||||
ArtistUID: one.ArtExhibitionDetail.ArtistUID,
|
||||
ArtworkNum: one.ArtExhibitionDetail.ArtworkNum,
|
||||
Ruler: one.ArtExhibitionDetail.Ruler,
|
||||
Price: one.ArtExhibitionDetail.Price,
|
||||
Reward: one.ArtExhibitionDetail.Reward,
|
||||
CreateTime: one.ArtExhibitionDetail.CreateTime,
|
||||
Operator: one.ArtExhibitionDetail.Operator,
|
||||
IsShow: one.ArtExhibitionDetail.IsShow,
|
||||
ShowTime: one.ArtExhibitionDetail.ShowTime,
|
||||
Address: one.ArtExhibitionDetail.Address,
|
||||
}
|
||||
|
||||
//画作详情
|
||||
for _, t := range one.Artworks {
|
||||
|
||||
art := &approval.Artwork{
|
||||
ArtworkPriceUID: t.ArtworkPriceUID,
|
||||
ShowUID: t.ShowUID,
|
||||
ArtworkUID: t.ArtworkUID,
|
||||
ArtworkName: t.ArtworkName,
|
||||
ArtistName: t.ArtistName,
|
||||
Length: t.Length,
|
||||
Width: t.Width,
|
||||
Ruler: t.Ruler,
|
||||
SmallPic: t.SmallPic,
|
||||
}
|
||||
temp.Artworks = append(temp.Artworks, art)
|
||||
}
|
||||
|
||||
approvalExhibitions = append(approvalExhibitions, temp)
|
||||
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ func migration() {
|
||||
//自动迁移模式
|
||||
addTable(&ApprovalTypeGroup{})
|
||||
addTable(&BundlePayPrice{})
|
||||
addTable(&ApprovalCopy{})
|
||||
|
||||
//增加字段
|
||||
addColumn(&ApprovalType{}, "is_normal")
|
||||
@ -26,6 +27,46 @@ func migration() {
|
||||
|
||||
addColumn(&Approval{}, "value_json")
|
||||
addColumn(&BundlePayPrice{}, "status")
|
||||
addColumn(&BundlePayPrice{}, "artist_name")
|
||||
|
||||
var num int64
|
||||
var list []*Approval
|
||||
DB.Model(&ApprovalCopy{}).Count(&num)
|
||||
if num > 0 {
|
||||
return
|
||||
}
|
||||
|
||||
//同步更新数据
|
||||
DB.Model(&Approval{}).Find(&list)
|
||||
|
||||
if len(list) == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
for _, t := range list {
|
||||
for _, tt := range t.CopyUsers {
|
||||
status := 1
|
||||
if tt.IsViewed == true {
|
||||
status = 2
|
||||
}
|
||||
|
||||
temp := &ApprovalCopy{
|
||||
ApprovalID: t.ID,
|
||||
UserId: tt.ID,
|
||||
Name: tt.Name,
|
||||
Status: uint64(status),
|
||||
}
|
||||
var n int64
|
||||
DB.Model(&ApprovalCopy{}).Where(temp).Count(&n)
|
||||
if n > 0 {
|
||||
continue
|
||||
}
|
||||
|
||||
DB.Model(&ApprovalCopy{}).Create(&temp)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//数据迁移
|
||||
|
@ -260,7 +260,11 @@ func (a *ApprovalProvider) MyWork(ctx context.Context, in *approval.ListRequest)
|
||||
var list []*model.Approval
|
||||
var count int64
|
||||
|
||||
list, count = model.MyWorkApprovals(in)
|
||||
if in.Status == 0 && in.ApprovedBossId == 0 {
|
||||
list, count = model.MyAllWorkApprovals(in)
|
||||
} else {
|
||||
list, count = model.MyWorkApprovals(in)
|
||||
}
|
||||
|
||||
response.Count = uint64(count)
|
||||
response.Data = serializer.BuildApprovals(list, in.UserID)
|
||||
@ -333,7 +337,7 @@ func (a *ApprovalProvider) DetailSetting(ctx context.Context, in *approval.Detai
|
||||
func (a *ApprovalProvider) CreateType(ctx context.Context, in *approval.CreateTypeRequest) (*approval.TypeResponse, error) {
|
||||
response := &approval.TypeResponse{}
|
||||
|
||||
fmt.Println("创建类型:", in.String())
|
||||
fmt.Println("创建类型123123:", in.String())
|
||||
//创建分组
|
||||
groupId, err := model.GetGroupIdByName(in.GroupName, in.Domain)
|
||||
if err != nil {
|
||||
@ -399,6 +403,9 @@ func (a *ApprovalProvider) UpdateType(ctx context.Context, in *approval.CreateTy
|
||||
|
||||
typeObj.Title = in.Title
|
||||
typeObj.Remark = in.Remark
|
||||
if len(in.KeyInfos) > 0 {
|
||||
typeObj.KeyJson = model.ToKeyInfos(in.KeyInfos)
|
||||
}
|
||||
|
||||
if err := model.DB.Save(&typeObj).Error; err != nil {
|
||||
return nil, err
|
||||
|
Loading…
Reference in New Issue
Block a user