From d4bf53dd19a45ef09a367babcf7a2ac04ae1d08f Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期二, 17 十月 2023 14:31:31 +0800 Subject: [PATCH] bug修改 --- api/v1/salesRefund.go | 132 ++++++++++++++++++++++++++++--------------- 1 files changed, 86 insertions(+), 46 deletions(-) diff --git a/api/v1/salesRefund.go b/api/v1/salesRefund.go index 77d24f7..cbce386 100644 --- a/api/v1/salesRefund.go +++ b/api/v1/salesRefund.go @@ -1,20 +1,23 @@ 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" + "strings" ) type SalesRefundApi struct{} // Add // -// @Tags SalesRefund +// @Tags 閿�鍞��娆惧崟 // @Summary 娣诲姞閿�鍞��娆� // @Produce application/json // @Param object body request.AddSalesRefundRequest true "鏌ヨ鍙傛暟" @@ -33,10 +36,25 @@ return } + if salesRefund.MemberId == 0 { + userInfo := utils.GetUserInfo(c) + if userInfo.UserType == constvar.UserTypeSub { + salesRefund.MemberId = userInfo.CrmUserId + } + } + errCode = salesRefundService.AddSalesRefund(&salesRefund) if errCode != ecode.OK { ctx.Fail(errCode) return + } + + if params.SalesRefund.CodeRule.Method == 1 { + autoCode := model.GetAutoCode(salesRefund.Id, ¶ms.SalesRefund.CodeRule) + m := map[string]interface{}{ + "number": autoCode, + } + _ = model.NewSalesRefundSearch().SetId(salesRefund.Id).UpdateByMap(m) } ctx.Ok() @@ -44,7 +62,7 @@ // Delete // -// @Tags SalesRefund +// @Tags 閿�鍞��娆惧崟 // @Summary 鍒犻櫎閿�鍞��娆� // @Produce application/json // @Param id path int true "鏌ヨ鍙傛暟" @@ -66,9 +84,40 @@ ctx.Ok() } +// BatchDelete +// @Tags 閿�鍞��娆惧崟 +// @Summary 鎵归噺鍒犻櫎閿�鍞��娆惧崟 +// @Produce application/json +// @Param object body request.CommonIds true "鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/salesRefund/delete [delete] +func (s *SalesRefundApi) BatchDelete(c *gin.Context) { + var params request.CommonIds + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + failIds, _ := salesRefundService.BatchDeleteSalesRefund(params.Ids) + if len(failIds) == 0 { + ctx.Ok() + return + } + salesReturns, code := salesRefundService.GetSalesRefundListByIds(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 SalesRefund +// @Tags 閿�鍞��娆惧崟 // @Summary 鏇存柊閿�鍞��娆� // @Produce application/json // @Param object body request.UpdateSalesRefundRequest true "鏌ヨ鍙傛暟" @@ -98,61 +147,52 @@ ctx.Ok() } +func checkSalesRefundParams(salesRefund request.SalesRefund) (errCode int, salesRefundRes model.SalesRefund) { + salesRefundRes.RefundDate = salesRefund.RefundDate + salesRefundRes.ClientId = salesRefund.ClientId + salesRefundRes.Number = salesRefund.Number + salesRefundRes.MemberId = salesRefund.MemberId + salesRefundRes.PaymentTypeId = salesRefund.PaymentTypeId + salesRefundRes.BankAccountId = salesRefund.BankAccountId + salesRefundRes.IsInvoice = salesRefund.IsInvoice + salesRefundRes.Reason = salesRefund.Reason + salesRefundRes.Products = salesRefund.Products + salesRefundRes.SourceType = salesRefund.SourceType + salesRefundRes.SourceId = salesRefund.SourceId + salesRefundRes.CodeStandID = salesRefund.CodeStandID + + return ecode.OK, salesRefundRes +} + // List // -// @Tags SalesRefund -// @Summary 閿�鍞��娆惧垪琛� +// @Tags 閿�鍞��娆惧崟 +// @Summary 閿�鍞��娆惧崟鍒楄〃 // @Produce application/json -// @Success 200 {object} contextx.Response{data=response.SalesRefundResponse} -// @Router /api/salesRefund/list [get] -func (s *SalesRefundApi) List(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) +// @Param object body request.GetSalesRefundList true "鍙傛暟" +// @Success 200 {object} contextx.Response{data=response.SalesRefundResponse} +// @Router /api/salesRefund/list [post] +func (con *SalesRefundApi) List(c *gin.Context) { + var params request.GetSalesRefundList + ctx, ok := contextx.NewContext(c, ¶ms) if !ok { return } - list, errCode := salesRefundService.GetSalesRefundList() + var memberIds []int + userInfo := utils.GetUserInfo(c) + if userInfo.UserType == constvar.UserTypeSub { + memberIds = []int{userInfo.CrmUserId} + } + + salesRefunds, total, errCode := salesRefundService.GetSalesRefundList(params.Page, params.PageSize, params.KeywordType, params.Keyword, params.SourceId, memberIds) if errCode != ecode.OK { ctx.Fail(errCode) return } ctx.OkWithDetailed(response.SalesRefundResponse{ - List: list, + List: salesRefunds, + Count: int(total), }) - -} - -func checkSalesRefundParams(salesRefund request.SalesRefund) (errCode int, salesRefundRes model.SalesRefund) { - //if salesRefund.ClientId == 0 { - // return ecode.InvalidParams, salesRefundRes - //} - // - //if salesRefund.Number == "" { - // return ecode.InvalidParams, salesRefundRes - //} - // - //if salesRefund.MemberId == 0 { - // return ecode.InvalidParams, salesRefundRes - //} - // - //if salesRefund.RefundDate == "" { - // return ecode.InvalidParams, salesRefundRes - //} - - t, err := checkTimeFormat(salesRefund.RefundDate) - if err != nil { - return ecode.InvalidParams, salesRefundRes - } - salesRefundRes.RefundDate = t - salesRefundRes.ClientId = salesRefund.ClientId - salesRefundRes.Number = salesRefund.Number - salesRefundRes.MemberId = salesRefund.MemberId - salesRefundRes.RefundMethod = salesRefund.RefundMethod - salesRefundRes.AccountId = salesRefund.AccountId - salesRefundRes.IsInvoice = salesRefund.IsInvoice - salesRefundRes.Reason = salesRefund.Reason - salesRefundRes.Products = salesRefund.Products - - return ecode.OK, salesRefundRes } -- Gitblit v1.8.0