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/salesReturn.go | 125 +++++++++++++++++++++++++++-------------- 1 files changed, 83 insertions(+), 42 deletions(-) diff --git a/api/v1/salesReturn.go b/api/v1/salesReturn.go index f3f4dd2..70d3643 100644 --- a/api/v1/salesReturn.go +++ b/api/v1/salesReturn.go @@ -1,20 +1,24 @@ 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" + "strings" ) type SalesReturnApi struct{} // Add // -// @Tags SalesReturn +// @Tags 閿�鍞��璐у崟 // @Summary 娣诲姞閿�鍞��璐� // @Produce application/json // @Param object body request.AddSalesReturnRequest true "鏌ヨ鍙傛暟" @@ -33,6 +37,23 @@ return } + count, err := model.NewSalesReturnSearch().SetNumber(salesReturn.Number).Count() + if err != nil { + ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜楠岃瘉澶辫触") + return + } + if count > 0 { + ctx.FailWithMsg(ecode.UnknownErr, "缂栫爜宸插瓨鍦�") + return + } + + if salesReturn.MemberId == 0 { + userInfo := utils.GetUserInfo(c) + if userInfo.UserType == constvar.UserTypeSub { + salesReturn.MemberId = userInfo.CrmUserId + } + } + errCode = salesReturnService.AddSalesReturn(&salesReturn) if errCode != ecode.OK { ctx.Fail(errCode) @@ -44,7 +65,7 @@ // Delete // -// @Tags SalesReturn +// @Tags 閿�鍞��璐у崟 // @Summary 鍒犻櫎閿�鍞��璐� // @Produce application/json // @Param id path int true "鏌ヨ鍙傛暟" @@ -66,14 +87,44 @@ ctx.Ok() } +// BatchDelete +// @Tags 閿�鍞��璐у崟 +// @Summary 鎵归噺鍒犻櫎閿�鍞��璐у崟 +// @Produce application/json +// @Param object body request.CommonIds true "鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/salesReturn/delete [delete] +func (s *SalesReturnApi) BatchDelete(c *gin.Context) { + var params request.CommonIds + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + failIds, _ := salesReturnService.BatchDeleteSalesReturn(params.Ids) + if len(failIds) == 0 { + ctx.Ok() + return + } + salesReturns, code := salesReturnService.GetSalesReturnListByIds(failIds) + if code != ecode.OK { + ctx.Ok() + return + } + var numbers []string + for _, salesReturn := range salesReturns { + numbers = append(numbers, salesReturn.Number) + } + ctx.FailWithMsg(ecode.DBErr, strings.Join(numbers, ",")+"鍒犻櫎澶辫触") +} + // Update // -// @Tags SalesReturn +// @Tags 閿�鍞��璐у崟 // @Summary 鏇存柊閿�鍞��璐� // @Produce application/json // @Param object body request.UpdateSalesReturnRequest true "鏌ヨ鍙傛暟" // @Success 200 {object} contextx.Response{} -// @Router /api/salesReturn/update/{id} [put] +// @Router /api/salesReturn/update [put] func (s *SalesReturnApi) Update(c *gin.Context) { var params request.UpdateSalesReturnRequest ctx, ok := contextx.NewContext(c, ¶ms) @@ -99,56 +150,46 @@ } +func checkSalesReturnParams(salesReturn request.SalesReturn) (errCode int, s model.SalesReturn) { + err := structx.AssignTo(salesReturn, &s) + if err != nil { + return ecode.ParamsErr, s + } + + return ecode.OK, s +} + // List // -// @Tags SalesReturn -// @Summary 鑾峰彇閿�鍞��璐у垪琛� +// @Tags 閿�鍞��璐у崟 +// @Summary 閿�鍞��璐у崟鍒楄〃 // @Produce application/json -// @Success 200 {object} contextx.Response{data=response.SalesReturnResponse} -// @Router /api/salesReturn/list [get] -func (s *SalesReturnApi) List(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) +// +// @Param object body request.GetSalesReturnList true "鍙傛暟" +// +// @Success 200 {object} contextx.Response{data=response.SalesReturnResponse} +// @Router /api/salesReturn/list [post] +func (con *SalesReturnApi) List(c *gin.Context) { + var params request.GetSalesReturnList + ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } - salesReturns, errCode := salesReturnService.GetSalesReturnList() + var memberIds []int + userInfo := utils.GetUserInfo(c) + if userInfo.UserType == constvar.UserTypeSub { + memberIds = userInfo.SubUserIds + } + + salesReturns, total, errCode := salesReturnService.GetSalesReturnList(params, memberIds) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.OkWithDetailed(response.SalesReturnResponse{ - List: salesReturns, + List: salesReturns, + Count: int(total), }) -} - -func checkSalesReturnParams(salesReturn request.SalesReturn) (errCode int, s model.SalesReturn) { - //if salesReturn.Number == "" { - // return ecode.InvalidParams, s - //} - // - //if salesReturn.Repository == "" { - // return ecode.InvalidParams, s - //} - // - //if salesReturn.MemberId == 0 { - // return ecode.InvalidParams, s - //} - - t, err := checkTimeFormat(salesReturn.ReturnDate) - if err != nil { - return ecode.InvalidParams, s - } - - s.ClientId = salesReturn.ClientId - s.ReturnDate = t - s.Number = salesReturn.Number - s.Repository = salesReturn.Repository - s.MemberId = salesReturn.MemberId - s.Status = salesReturn.Status - s.Reason = salesReturn.Reason - s.Products = salesReturn.Products - - return ecode.OK, s } -- Gitblit v1.8.0