Browse Source

添加撤回创建公司申请/加入公司申请的功能

bigcat 2 years ago
parent
commit
f1b8208718
2 changed files with 30 additions and 0 deletions
  1. 28 0
      controller/company.go
  2. 2 0
      router.go

+ 28 - 0
controller/company.go

@@ -183,6 +183,23 @@ func AcceptCompanyCreateRequest(c *gin.Context) {
 	response.Success(c, gin.H{"company": company}, "审批通过!公司创建成功!")
 }
 
+func ConfirmRejectCompanyCreateRequest(c *gin.Context) {
+	db := common.GetDB()
+	requestId := c.Params.ByName("request_id")
+	var request model.CompanyCreateRequest
+	if err := db.Model(&model.CompanyCreateRequest{}).
+		Where("id = ? and state = 2", requestId).First(&request).Error; err != nil {
+		response.Fail(c, nil, "创建公司申请不存在或者未被驳回,无法撤回申请")
+		return
+	}
+	if err := db.Model(&model.CompanyCreateRequest{}).Where("id = ?", requestId).Delete(&request).Error; err != nil {
+		response.Fail(c, nil, "数据库错误,申请撤回失败")
+		return
+	}
+
+	response.Success(c, nil, "申请撤回成功!")
+}
+
 func ApplyJoinCompany(c *gin.Context) {
 	db := common.GetDB()
 	db.AutoMigrate(&model.Company2Users{})
@@ -326,3 +343,14 @@ func GetCompanyMembers(c *gin.Context) {
 	}
 	response.Success(c, gin.H{"userList": users}, "查询成功")
 }
+
+func ConfirmRejectInfo(c *gin.Context) {
+	db := common.GetDB()
+	userId := c.Params.ByName("userId")
+	var request model.Company2Users
+	if err := db.Model(&model.Company2Users{}).Where("user_id = ? and state = 2", userId).First(&request).Error; err != nil {
+		response.Fail(c, nil, "该用户不在被拒绝列表中,无法撤回申请")
+		return
+	}
+	response.Success(c, nil, "加入公司的申请已被撤回,您可再次申请加入公司")
+}

+ 2 - 0
router.go

@@ -44,12 +44,14 @@ func CollectRoute(r *gin.Engine) *gin.Engine {
 		company.GET("createRequest/lists", controller.GetCompanyCreateRequestsList)
 		company.PUT("createRequest/reject/:request_id", controller.RejectCompanyCreateRequest)
 		company.POST("createRequest/accept/:request_id", controller.AcceptCompanyCreateRequest)
+		company.DELETE("createRequest/confirmReject/:request_id", controller.ConfirmRejectCompanyCreateRequest)
 		company.POST("applyRequest/join", controller.ApplyJoinCompany)
 		company.PUT("applyRequest/accept/:userId", controller.AcceptJoinCompany)
 		company.PUT("applyRequest/reject/:userId", controller.RejectJoinCompany)
 		company.GET("applyRequest/lists/:companyId", controller.GetJoinCompanyRequests)
 		company.DELETE("member/delete/:userId", controller.DelCompanyMember)
 		company.GET("members/:companyId", controller.GetCompanyMembers)
+		company.DELETE("applyRequest/confirmReject/:userId", controller.ConfirmRejectInfo)
 	}
 	file := r.Group("files")
 	{