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 | 101 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 69 insertions(+), 32 deletions(-) diff --git a/api/v1/salesReturn.go b/api/v1/salesReturn.go index 5ada12a..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,9 +87,39 @@ 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 "鏌ヨ鍙傛暟" @@ -99,43 +150,23 @@ } - 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) + err := structx.AssignTo(salesReturn, &s) if err != nil { - return ecode.InvalidParams, s + return ecode.ParamsErr, s } - - s.ClientId = salesReturn.ClientId - s.ReturnDate = t - s.Number = salesReturn.Number - s.Repository = salesReturn.Repository - s.MemberId = salesReturn.MemberId - s.SalesReturnStatus = salesReturn.Status - s.Reason = salesReturn.Reason - s.Products = salesReturn.Products return ecode.OK, s } // List // -// @Tags SalesReturn +// @Tags 閿�鍞��璐у崟 // @Summary 閿�鍞��璐у崟鍒楄〃 // @Produce application/json -// @Param object body request.GetSalesReturnList true "鍙傛暟" +// +// @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) { @@ -145,14 +176,20 @@ return } - salesReturns, errCode := salesReturnService.GetSalesReturnList(params.Page, params.PageSize, params.Keyword) + 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, - Count: len(salesReturns), + List: salesReturns, + Count: int(total), }) } -- Gitblit v1.8.0