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/quotation.go | 94 ++++++++++++++++++++++++++++++++--------------- 1 files changed, 64 insertions(+), 30 deletions(-) diff --git a/api/v1/quotation.go b/api/v1/quotation.go index c76567f..d237955 100644 --- a/api/v1/quotation.go +++ b/api/v1/quotation.go @@ -1,13 +1,14 @@ 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" ) type QuotationApi struct{} @@ -33,6 +34,23 @@ return } + count, err := model.NewQuotationSearch(nil).SetNumber(params.Number).Count() + if err != nil { + ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜楠岃瘉澶辫触") + return + } + if count > 0 { + ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜宸插瓨鍦�") + return + } + + if quotation.MemberId == 0 { + userInfo := utils.GetUserInfo(c) + if userInfo.UserType == constvar.UserTypeSub { + quotation.MemberId = userInfo.CrmUserId + } + } + errCode = quotationService.AddQuotation("ation) if errCode != ecode.OK { ctx.Fail(errCode) @@ -47,17 +65,17 @@ // @Tags Quotation // @Summary 鍒犻櫎鎶ヤ环鍗� // @Produce application/json -// @Param id path int true "鏌ヨ鍙傛暟" +// @Param object body request.DeleteQuotation true "鏌ヨ鍙傛暟" // @Success 200 {object} contextx.Response{} -// @Router /api/quotation/delete/{id} [delete] +// @Router /api/quotation/delete [delete] func (s *QuotationApi) Delete(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) + var params request.DeleteQuotation + ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } - id, _ := strconv.Atoi(c.Param("id")) - errCode := quotationService.DeleteQuotation(id) + errCode := quotationService.DeleteQuotation(params.Ids) if errCode != ecode.OK { ctx.Fail(errCode) return @@ -98,30 +116,6 @@ ctx.Ok() } -// List -// -// @Tags Quotation -// @Summary 鎶ヤ环鍗曞垪琛� -// @Produce application/json -// @Success 200 {object} contextx.Response{data=response.QuotationResponse} -// @Router /api/quotation/list [get] -func (s *QuotationApi) List(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) - if !ok { - return - } - - list, errCode := quotationService.GetQuotationList() - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.OkWithDetailed(response.QuotationResponse{ - List: list, - }) -} - // checkQuotationParams func checkQuotationParams(quotation request.Quotation) (int, model.Quotation) { var errCode int @@ -153,6 +147,8 @@ return errCode, quotationModel } + // 灏嗘椂闂村瓧绗﹁浆鎹负鏃堕棿绫诲瀷 + quotationModel.ValidityDate = t quotationModel.ClientId = quotation.ClientId quotationModel.QuotationStatusId = quotation.QuotationStatusId @@ -162,7 +158,45 @@ quotationModel.ContactId = quotation.ContactId quotationModel.Conditions = quotation.Conditions quotationModel.File = quotation.File + quotationModel.Products = quotation.Products + quotationModel.CodeStandID = quotation.CodeStandID + quotationModel.QuotationName = quotation.QuotationName return ecode.OK, quotationModel } + +// List +// +// @Tags Quotation +// @Summary 鎶ヤ环鍗曞垪琛� +// @Produce application/json +// @Param object body request.GetQuotationList true "鍙傛暟" +// @Success 200 {object} contextx.Response{data=response.QuotationResponse} +// @Router /api/quotation/list [post] +func (con *QuotationApi) List(c *gin.Context) { + var params request.GetQuotationList + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + 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 + } + + quotations, total, errCode := quotationService.GetQuotationList(params.Page, params.PageSize, params.SearchMap) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.OkWithDetailed(response.QuotationResponse{ + List: quotations, + Count: int(total), + }) +} -- Gitblit v1.8.0