From 115bd9b51f5d8eade4658f844de37516486c60e7 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期六, 18 十一月 2023 17:25:25 +0800 Subject: [PATCH] crm获取aps项目模块信息 --- api/v1/contract.go | 68 +++++++++++++++++++++++++-------- 1 files changed, 51 insertions(+), 17 deletions(-) diff --git a/api/v1/contract.go b/api/v1/contract.go index e93ece3..5cfdd31 100644 --- a/api/v1/contract.go +++ b/api/v1/contract.go @@ -1,11 +1,13 @@ package v1 import ( + "aps_crm/constvar" "aps_crm/model" "aps_crm/model/request" "aps_crm/model/response" "aps_crm/pkg/contextx" "aps_crm/pkg/ecode" + "aps_crm/utils" "github.com/gin-gonic/gin" "strconv" ) @@ -33,6 +35,23 @@ return } + count, err := model.NewContractSearch().SetNumber(params.Number).Count() + if err != nil { + ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜楠岃瘉澶辫触") + return + } + if count > 0 { + ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜宸插瓨鍦�") + return + } + + if contract.MemberId == 0 { + userInfo := utils.GetUserInfo(c) + if userInfo.UserType == constvar.UserTypeSub { + contract.MemberId = userInfo.CrmUserId + } + } + errCode = contractService.AddContract(&contract) if errCode != ecode.OK { ctx.Fail(errCode) @@ -47,17 +66,22 @@ // @Tags Contract // @Summary 鍒犻櫎鍚堝悓 // @Produce application/json -// @Param id path int true "鏌ヨ鍙傛暟" +// @Param object body request.DeleteContract true "鏌ヨ鍙傛暟" // @Success 200 {object} contextx.Response{} -// @Router /api/contract/delete/{id} [delete] +// @Router /api/contract/delete [delete] func (s *ContractApi) Delete(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) - if !ok { + id := c.Param("id") + ctx, _ := contextx.NewContext(c, nil) + if id == "" { + ctx.Fail(ecode.ParamsErr) return } - - id, _ := strconv.Atoi(c.Param("id")) - errCode := contractService.DeleteContract(id) + atoi, err := strconv.Atoi(id) + if err != nil { + ctx.FailWithMsg(ecode.UnknownErr, "鏁版嵁杞崲澶辫触") + return + } + errCode := contractService.DeleteContract(atoi) if errCode != ecode.OK { ctx.Fail(errCode) return @@ -98,7 +122,6 @@ ctx.Ok() } - func checkContractParams(contract request.Contract) (errCode int, contractModel model.Contract) { //if contract.Number == "" { // return ecode.InvalidParams, contractModel @@ -109,12 +132,15 @@ //} contractModel = model.Contract{ - ClientId: contract.ClientId, - MemberId: contract.MemberId, - Number: contract.Number, - QuotationId: contract.QuotationId, - StatusId: contract.StatusId, - File: contract.File, + ClientId: contract.ClientId, + MemberId: contract.MemberId, + Number: contract.Number, + QuotationId: contract.QuotationId, + StatusId: contract.StatusId, + File: contract.File, + CodeStandID: contract.CodeStandID, + ContractName: contract.ContractName, + SendTime: contract.SendTime, } return ecode.OK, contractModel @@ -135,14 +161,22 @@ return } - contracts, errCode := contractService.GetContractList(params.Page, params.PageSize, params.Keyword) + userInfo := utils.GetUserInfo(c) + if userInfo.UserType == constvar.UserTypeSub { + if params.SearchMap == nil { + params.SearchMap = make(map[string]interface{}, 0) + } + params.SearchMap["member_ids"] = userInfo.SubUserIds + } + + 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: len(contracts), + List: contracts, + Count: int(total), }) } -- Gitblit v1.8.0