From 9adf5a9acb794482c874971bf34412352cc89cce Mon Sep 17 00:00:00 2001
From: jhc <9316338+wangyitao309@user.noreply.gitee.com>
Date: Thu, 13 Apr 2023 20:08:55 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E5=BE=85=E9=98=85?=
 =?UTF-8?q?=E8=AF=BB=E5=92=8C=E9=98=85=E8=AF=BB=203.0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 pkg/model/approval.go   | 36 +++++++++++++++++++++++++++++++-----
 pkg/service/approval.go |  2 ++
 2 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/pkg/model/approval.go b/pkg/model/approval.go
index 11220c3..0ed8392 100644
--- a/pkg/model/approval.go
+++ b/pkg/model/approval.go
@@ -686,11 +686,7 @@ func MySubmitApprovals(in *approval.ListRequest) ([]*Approval, int64) {
 		Preload("Exhibition.ApprovalExhibitions")
 
 	if in.Status != 0 {
-		if in.Status == 6 {
-			modelObj.Where("status in ?", []int{4, 5})
-		} else {
-			modelObj = modelObj.Where(&Approval{Status: int8(in.Status)})
-		}
+		modelObj = modelObj.Where(&Approval{Status: int8(in.Status)})
 	}
 
 	if in.Type != "" {
@@ -706,6 +702,36 @@ func MySubmitApprovals(in *approval.ListRequest) ([]*Approval, int64) {
 	return list, count
 }
 
+func MyReadApprovals(in *approval.ListRequest) ([]*Approval, int64) {
+	var list []*Approval
+	var count int64
+
+	//list
+	modelObj := DB.Model(&Approval{}).
+		Preload("Show").
+		Preload("Work.ApprovalWorks").
+		Preload("Bundle").
+		Preload("BundlePayPrice").
+		Preload("ApprovalWorkFlows").
+		Preload("ExhibitionReward.ApprovalExhibitions").
+		Preload("ApprovalType.ApprovalTypeGroup").
+		Preload("Exhibition.ApprovalExhibitions")
+
+	modelObj.Where(" json_contains(copy_users,JSON_OBJECT('ID', ?))", in.UserID)
+
+	if in.Type != "" {
+		modelObj = modelObj.Where(&Approval{Type: in.Type})
+	}
+
+	modelObj = modelObj.Where(&Approval{SubmitterID: in.UserID})
+
+	modelObj.Count(&count)
+
+	modelObj.Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Order("id desc").Find(&list)
+
+	return list, count
+}
+
 func (m *Approval) Pass(reply string, workFlowId uint64) error {
 	return m.operateStatus(StatusOk, reply, workFlowId)
 }
diff --git a/pkg/service/approval.go b/pkg/service/approval.go
index 28d1c10..6171157 100644
--- a/pkg/service/approval.go
+++ b/pkg/service/approval.go
@@ -265,6 +265,8 @@ func (a *ApprovalProvider) MyWork(ctx context.Context, in *approval.ListRequest)
 
 	if in.Status == 0 && in.ApprovedBossId == 0 {
 		list, count = model.MyAllWorkApprovals(in)
+	} else if in.Status == 4 && in.ApprovedBossId == 0 {
+		list, count = model.MyReadApprovals(in)
 	} else {
 		list, count = model.MyWorkApprovals(in)
 	}