From 8bf1cad94113d5c604e95e370cf068efdea87d27 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期三, 30 八月 2023 09:43:49 +0800
Subject: [PATCH] fix
---
api/v1/contract.go | 145 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 145 insertions(+), 0 deletions(-)
diff --git a/api/v1/contract.go b/api/v1/contract.go
index b7b1f99..ff42186 100644
--- a/api/v1/contract.go
+++ b/api/v1/contract.go
@@ -1 +1,146 @@
package v1
+
+import (
+ "aps_crm/model"
+ "aps_crm/model/request"
+ "aps_crm/model/response"
+ "aps_crm/pkg/contextx"
+ "aps_crm/pkg/ecode"
+ "github.com/gin-gonic/gin"
+)
+
+type ContractApi struct{}
+
+// Add
+//
+// @Tags Contract
+// @Summary 娣诲姞鍚堝悓
+// @Produce application/json
+// @Param object body request.AddContract true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/contract/add [post]
+func (s *ContractApi) Add(c *gin.Context) {
+ var params request.AddContract
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ errCode, contract := checkContractParams(params.Contract)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ errCode = contractService.AddContract(&contract)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// Delete
+//
+// @Tags Contract
+// @Summary 鍒犻櫎鍚堝悓
+// @Produce application/json
+// @Param object body request.DeleteContract true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/contract/delete [delete]
+func (s *ContractApi) Delete(c *gin.Context) {
+ var params request.DeleteContract
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ errCode := contractService.DeleteContract(params.Ids)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+// Update
+//
+// @Tags Contract
+// @Summary 鏇存柊鍚堝悓
+// @Produce application/json
+// @Param object body request.UpdateContract true "鏌ヨ鍙傛暟"
+// @Success 200 {object} contextx.Response{}
+// @Router /api/contract/update [put]
+func (s *ContractApi) Update(c *gin.Context) {
+ var params request.UpdateContract
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ errCode, contract := checkContractParams(params.Contract)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ contract.Id = params.Id
+
+ errCode = contractService.UpdateContract(&contract)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.Ok()
+}
+
+func checkContractParams(contract request.Contract) (errCode int, contractModel model.Contract) {
+ //if contract.Number == "" {
+ // return ecode.InvalidParams, contractModel
+ //}
+
+ //if contract.MemberId == 0 {
+ // return ecode.InvalidParams, contractModel
+ //}
+
+ contractModel = model.Contract{
+ ClientId: contract.ClientId,
+ MemberId: contract.MemberId,
+ Number: contract.Number,
+ QuotationId: contract.QuotationId,
+ StatusId: contract.StatusId,
+ File: contract.File,
+ }
+
+ return ecode.OK, contractModel
+}
+
+// List
+//
+// @Tags Contract
+// @Summary 閿�鍞悎鍚屽垪琛�
+// @Produce application/json
+// @Param object body request.GetContractList true "鍙傛暟"
+// @Success 200 {object} contextx.Response{data=response.ContractResponse}
+// @Router /api/contract/list [post]
+func (con *ContractApi) List(c *gin.Context) {
+ var params request.GetContractList
+ ctx, ok := contextx.NewContext(c, ¶ms)
+ if !ok {
+ return
+ }
+
+ contracts, total, errCode := contractService.GetContractList(params.Page, params.PageSize, params.SearchMap)
+ if errCode != ecode.OK {
+ ctx.Fail(errCode)
+ return
+ }
+
+ ctx.OkWithDetailed(response.ContractResponse{
+ List: contracts,
+ Count: int(total),
+ })
+}
--
Gitblit v1.8.0