From 530fed8ec225453572d57b15c200ab062c335457 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期三, 01 十一月 2023 19:20:21 +0800
Subject: [PATCH] 公海member_id使用0

---
 api/v1/vetting.go |   89 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 76 insertions(+), 13 deletions(-)

diff --git a/api/v1/vetting.go b/api/v1/vetting.go
index c5a676f..4b7a96d 100644
--- a/api/v1/vetting.go
+++ b/api/v1/vetting.go
@@ -1,8 +1,12 @@
 package v1
 
 import (
+	"aps_crm/constvar"
+	"aps_crm/model"
 	"aps_crm/model/request"
 	"aps_crm/pkg/contextx"
+	"aps_crm/pkg/ecode"
+	"aps_crm/utils"
 	"github.com/gin-gonic/gin"
 )
 
@@ -23,19 +27,78 @@
 		return
 	}
 
-	//errCode, vetting := checkVettingParams(params.Vetting)
-	//if errCode != ecode.OK {
-	//	ctx.Fail(errCode)
-	//	return
-	//}
-	//
-	//// check member exist
-	//
-	//errCode = vettingService.AddVetting(vetting)
-	//if errCode != ecode.OK {
-	//	ctx.Fail(errCode)
-	//	return
-	//}
+	errCode, vetting := checkVettingParams(&params)
+	if errCode != ecode.OK {
+		ctx.Fail(errCode)
+		return
+	}
+
+	// check member exist
+
+	errCode = vettingService.AddVetting(vetting)
+	if errCode != ecode.OK {
+		ctx.Fail(errCode)
+		return
+	}
 
 	ctx.Ok()
 }
+
+// Update
+//
+//	@Tags		Vetting
+//	@Summary	鏇存柊瀹℃壒
+//	@Produce	application/json
+//	@Param		object	body		request.UpdateVetting	true	"鏌ヨ鍙傛暟"
+//	@Success	200		{object}	contextx.Response{}
+//	@Router		/api/vetting/update [post]
+func (vet *VettingApi) Update(c *gin.Context) {
+	var params request.UpdateVetting
+	ctx, ok := contextx.NewContext(c, &params)
+	if !ok {
+		return
+	}
+
+	vetting, err := model.NewVettingSearch().SetId(params.Id).Get()
+	if err != nil {
+		ctx.Fail(ecode.VettingNotExist)
+		return
+	}
+
+	waitUse, _ := utils.GetClaims(c)
+	// 濡備綍褰撳墠鐢ㄦ埛鏄秴绾х鐞嗗憳锛屽垯涓嶉渶瑕佸垽鏂�
+	if waitUse.UserType != constvar.UserTypeSuper {
+		userId := waitUse.UserId
+		user, err := model.NewUserSearch(nil).SetId(userId).First()
+		if err != nil {
+			return
+		}
+
+		if user.ID != vetting.UserId {
+			ctx.Fail(ecode.VettingNotBelongToUser)
+			return
+		}
+	}
+
+	vetting.Status = params.Status
+
+	errCode := vettingService.UpdateVetting(vetting)
+	if errCode != ecode.OK {
+		ctx.Fail(errCode)
+		return
+	}
+
+	ctx.Ok()
+}
+
+func checkVettingParams(vetting *request.AddVetting) (int, *model.Vetting) {
+
+	v := &model.Vetting{
+		Opinion:   vetting.Opinion,
+		Status:    vetting.Status,
+		UserId:    vetting.UserId,
+		VettingId: vetting.VettingId,
+	}
+
+	return ecode.OK, v
+}

--
Gitblit v1.8.0