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 | 326 +++++++++++++++++++++++++----------------------------- 1 files changed, 150 insertions(+), 176 deletions(-) diff --git a/api/v1/serviceContract.go b/api/v1/serviceContract.go index 38b78f2..e5b97d9 100644 --- a/api/v1/serviceContract.go +++ b/api/v1/serviceContract.go @@ -1,176 +1,150 @@ -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 ServiceContractApi struct{} - -// Add -// -// @Tags ServiceContract -// @Summary 娣诲姞鏈嶅姟鍚堝悓 -// @Produce application/json -// @Param object body request.AddServiceContract true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} -// @Router /api/serviceContract/add [post] -func (s *ServiceContractApi) Add(c *gin.Context) { - var params request.AddServiceContract - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - errCode, serviceContract := checkServiceContractParams(params.ServiceContract) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - errCode = serviceContractService.AddServiceContract(&serviceContract) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.Ok() -} - -// Delete -// -// @Tags ServiceContract -// @Summary 鍒犻櫎鏈嶅姟鍚堝悓 -// @Produce application/json -// @Param object body request.DeleteserviceContract true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} -// @Router /api/serviceContract/delete [delete] -func (s *ServiceContractApi) Delete(c *gin.Context) { - var params request.DeleteserviceContract - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - errCode := serviceContractService.DeleteServiceContract(params.Ids) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.Ok() -} - -// Update -// -// @Tags ServiceContract -// @Summary 鏇存柊鏈嶅姟鍚堝悓 -// @Produce application/json -// @Param object body request.UpdateServiceContract true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} -// @Router /api/serviceContract/update [put] -func (s *ServiceContractApi) Update(c *gin.Context) { - var params request.UpdateServiceContract - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - errCode, serviceContract := checkServiceContractParams(params.ServiceContract) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - serviceContract.Id = params.Id - - errCode = serviceContractService.UpdateServiceContract(&serviceContract) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - 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 鐢熸垚璁″垝鍒楄〃 -// @Produce application/json -// @Param object body request.GetServiceContractList true "鍙傛暟" -// @Success 200 {object} contextx.Response{data=response.ServiceContractsResponse} -// @Router /api/serviceContract/list [post] -func (con *ServiceContractApi) List(c *gin.Context) { - var params request.GetServiceContractList - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - serviceContracts, total, errCode := serviceContractService.GetServiceContractList(params.Page, params.PageSize, params.QueryClass, params.KeywordType, params.Keyword) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - ctx.OkWithDetailed(response.ServiceContractsResponse{ - List: serviceContracts, - Count: int(total), - }) -} +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" +) + +type ServiceContractApi struct{} + +// Add +// +// @Tags ServiceContract +// @Summary 娣诲姞鏈嶅姟鍚堝悓 +// @Produce application/json +// @Param object body request.AddServiceContract true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/serviceContract/add [post] +func (s *ServiceContractApi) Add(c *gin.Context) { + var params request.AddServiceContract + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + serviceContract := new(model.ServiceContract) + if err := structx.AssignTo(params, serviceContract); err != nil { + ctx.Fail(ecode.ParamsErr) + return + } + + 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 + } + + ctx.Ok() +} + +// 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 + } + + errCode := serviceContractService.BatchDeleteServiceContract(params.Ids) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} + +// Update +// +// @Tags ServiceContract +// @Summary 鏇存柊鏈嶅姟鍚堝悓 +// @Produce application/json +// @Param object body request.UpdateServiceContract true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/serviceContract/update [put] +func (s *ServiceContractApi) Update(c *gin.Context) { + var params request.UpdateServiceContract + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + 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) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} + +// List +// +// @Tags ServiceContract +// @Summary 鏈嶅姟鍚堝悓鍒楄〃 +// @Produce application/json +// @Param object body request.GetServiceContractList true "鍙傛暟" +// @Success 200 {object} contextx.Response{data=response.ServiceContractsResponse} +// @Router /api/serviceContract/list [post] +func (con *ServiceContractApi) List(c *gin.Context) { + var params request.GetServiceContractList + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + 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 + } + + ctx.OkWithDetailed(response.ServiceContractsResponse{ + List: serviceContracts, + Count: int(total), + }) +} -- Gitblit v1.8.0