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/serviceContract.go | 124 ++++++++++++++++------------------------- 1 files changed, 49 insertions(+), 75 deletions(-) diff --git a/api/v1/serviceContract.go b/api/v1/serviceContract.go index cd5e4f6..e5b97d9 100644 --- a/api/v1/serviceContract.go +++ b/api/v1/serviceContract.go @@ -1,13 +1,15 @@ 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/pkg/structx" + "aps_crm/utils" "github.com/gin-gonic/gin" - "strconv" ) type ServiceContractApi struct{} @@ -26,13 +28,31 @@ if !ok { return } - errCode, serviceContract := checkServiceContractParams(params.ServiceContract) - if errCode != ecode.OK { - ctx.Fail(errCode) + + serviceContract := new(model.ServiceContract) + if err := structx.AssignTo(params, serviceContract); err != nil { + ctx.Fail(ecode.ParamsErr) return } - errCode = serviceContractService.AddServiceContract(&serviceContract) + count, err := model.NewServiceContractSearch().SetNumber(params.Number).Count() + if err != nil { + ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜楠岃瘉澶辫触") + return + } + if count > 0 { + ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜宸插瓨鍦�") + return + } + + if params.MemberId == 0 { + userInfo := utils.GetUserInfo(c) + if userInfo.UserType == constvar.UserTypeSub { + params.MemberId = userInfo.CrmUserId + } + } + + errCode := serviceContractService.AddServiceContract(serviceContract) if errCode != ecode.OK { ctx.Fail(errCode) return @@ -41,22 +61,21 @@ ctx.Ok() } -// Delete -// -// @Tags ServiceContract -// @Summary 鍒犻櫎鏈嶅姟鍚堝悓 -// @Produce application/json -// @Param id path int true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} -// @Router /api/serviceContract/delete/{id} [delete] -func (s *ServiceContractApi) Delete(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) +// BatchDelete +// @Tags ServiceContract +// @Summary 鎵归噺鍒犻櫎鏈嶅姟鍚堝悓 +// @Produce application/json +// @Param object body request.CommonIds true "鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/serviceContract/delete [delete] +func (s *ServiceContractApi) BatchDelete(c *gin.Context) { + var params request.CommonIds + ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } - id, _ := strconv.Atoi(c.Param("id")) - errCode := serviceContractService.DeleteServiceContract(id) + errCode := serviceContractService.BatchDeleteServiceContract(params.Ids) if errCode != ecode.OK { ctx.Fail(errCode) return @@ -80,15 +99,15 @@ return } - errCode, serviceContract := checkServiceContractParams(params.ServiceContract) - if errCode != ecode.OK { - ctx.Fail(errCode) + serviceContract := new(model.ServiceContract) + if err := structx.AssignTo(params, serviceContract); err != nil { + ctx.Fail(ecode.ParamsErr) return } serviceContract.Id = params.Id - errCode = serviceContractService.UpdateServiceContract(&serviceContract) + errCode := serviceContractService.UpdateServiceContract(serviceContract) if errCode != ecode.OK { ctx.Fail(errCode) return @@ -97,61 +116,10 @@ ctx.Ok() } -// check params -func checkServiceContractParams(serviceContract request.ServiceContract) (errCode int, result model.ServiceContract) { - //if serviceContract.SignTime == "" { - // return ecode.InvalidParams, result - //} - // - //if serviceContract.Number == "" { - // return ecode.InvalidParams, result - //} - // - //if serviceContract.MemberId <= 0 { - // return ecode.InvalidParams, result - //} - - t, err := checkTimeFormat(serviceContract.SignTime) - if err != nil { - return ecode.InvalidParams, result - } - - result.SignTime = t - - t, err = checkTimeFormat(serviceContract.StartTime) - if err != nil { - return ecode.InvalidParams, result - } - - result.StartTime = t - - t, err = checkTimeFormat(serviceContract.EndTime) - if err != nil { - return ecode.InvalidParams, result - } - - result.EndTime = t - - result.Number = serviceContract.Number - result.MemberId = serviceContract.MemberId - result.Remark = serviceContract.Remark - result.ClientId = serviceContract.ClientId - result.ContactId = serviceContract.ContactId - result.SaleChanceId = serviceContract.SaleChanceId - result.QuotationId = serviceContract.QuotationId - result.ServiceContractTypeId = serviceContract.TypeId - result.ServiceContractStatusId = serviceContract.StatusId - result.ServiceTimes = serviceContract.ServiceTimes - result.Terms = serviceContract.Terms - result.Products = serviceContract.Products - - return ecode.OK, result -} - // List // -// @Tags ServiceContract -// @Summary 鐢熸垚璁″垝鍒楄〃 +// @Tags ServiceContract +// @Summary 鏈嶅姟鍚堝悓鍒楄〃 // @Produce application/json // @Param object body request.GetServiceContractList true "鍙傛暟" // @Success 200 {object} contextx.Response{data=response.ServiceContractsResponse} @@ -163,7 +131,13 @@ return } - serviceContracts, total, errCode := serviceContractService.GetServiceContractList(params.Page, params.PageSize, params.QueryClass, params.KeywordType, params.Keyword) + var memberIds []int + userInfo := utils.GetUserInfo(c) + if userInfo.UserType == constvar.UserTypeSub { + memberIds = userInfo.SubUserIds + } + + serviceContracts, total, errCode := serviceContractService.GetServiceContractList(params, memberIds) if errCode != ecode.OK { ctx.Fail(errCode) return -- Gitblit v1.8.0