| | |
| | | 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" |
| | | ) |
| | |
| | | // @Summary 添加销售明细 |
| | | // @Produce application/json |
| | | // @Param object body request.AddSalesDetails true "查询参数" |
| | | // @Success 200 {object} contextx.Response{} |
| | | // @Success 200 {object} contextx.Response{data=request.AddSalesDetails} |
| | | // @Router /api/salesDetails/add [post] |
| | | func (s *SalesDetailsApi) Add(c *gin.Context) { |
| | | var params request.AddSalesDetails |
| | |
| | | return |
| | | } |
| | | |
| | | count, err := model.NewSalesDetailsSearch().SetNumber(params.Number).Count() |
| | | if err != nil { |
| | | ctx.FailWithMsg(ecode.UnknownErr, "编码验证失败") |
| | | return |
| | | } |
| | | if count > 0 { |
| | | ctx.FailWithMsg(ecode.UnknownErr, "编码已存在") |
| | | return |
| | | } |
| | | |
| | | if salesDetails.MemberId == 0 { |
| | | userInfo := utils.GetUserInfo(c) |
| | | if userInfo.UserType == constvar.UserTypeSub { |
| | | salesDetails.MemberId = userInfo.CrmUserId |
| | | } |
| | | } |
| | | |
| | | errCode = salesDetailsService.AddSalesDetails(&salesDetails) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | ctx.Ok() |
| | | ctx.OkWithDetailed(salesDetails) |
| | | } |
| | | |
| | | // Delete |
| | |
| | | |
| | | id, _ := strconv.Atoi(c.Param("id")) |
| | | errCode := salesDetailsService.DeleteSalesDetails(id) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | ctx.Ok() |
| | | } |
| | | |
| | | // BatchDelete |
| | | // @Tags SalesDetails 销售明细 |
| | | // @Summary 批量删除销售明细 |
| | | // @Produce application/json |
| | | // @Param object body request.CommonIds true "参数" |
| | | // @Success 200 {object} contextx.Response{} |
| | | // @Router /api/salesDetails/delete [delete] |
| | | func (s *SalesDetailsApi) BatchDelete(c *gin.Context) { |
| | | var params request.CommonIds |
| | | ctx, ok := contextx.NewContext(c, ¶ms) |
| | | if !ok { |
| | | return |
| | | } |
| | | |
| | | errCode := salesDetailsService.BatchDeleteSalesDetails(params.Ids) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | |
| | | return |
| | | } |
| | | |
| | | salesDetails.Id = params.Id |
| | | errCode = salesDetailsService.UpdateSalesDetails(&salesDetails) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | |
| | | ctx.Ok() |
| | | } |
| | | |
| | | // List |
| | | // |
| | | // @Tags SalesDetails |
| | | // @Summary 获取销售明细列表 |
| | | // @Produce application/json |
| | | // @Success 200 {object} contextx.Response{data=response.SalesDetailsResponse} |
| | | // @Router /api/salesDetails/list [get] |
| | | func (s *SalesDetailsApi) List(c *gin.Context) { |
| | | ctx, ok := contextx.NewContext(c, nil) |
| | | if !ok { |
| | | return |
| | | } |
| | | |
| | | list, errCode := salesDetailsService.GetSalesDetailsList() |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | ctx.OkWithDetailed(response.SalesDetailsResponse{ |
| | | List: list, |
| | | }) |
| | | } |
| | | |
| | | func checkSalesDetailsParams(salesDetails request.SalesDetails) (errCode int, salesDetailsModel model.SalesDetails) { |
| | | if salesDetails.ClientId == 0 { |
| | | return ecode.InvalidParams, salesDetailsModel |
| | | } |
| | | |
| | | if salesDetails.Number == "" { |
| | | return ecode.InvalidParams, salesDetailsModel |
| | | } |
| | | |
| | | if salesDetails.MemberId == 0 { |
| | | return ecode.InvalidParams, salesDetailsModel |
| | | } |
| | | |
| | | if salesDetails.SignTime == "" { |
| | | return ecode.InvalidParams, salesDetailsModel |
| | | } |
| | | |
| | | t, err := checkTimeFormat(salesDetails.SignTime) |
| | | if err != nil { |
| | | return ecode.InvalidParams, salesDetailsModel |
| | | } |
| | | |
| | | t, err = checkTimeFormat(salesDetails.DeliveryDate) |
| | | if err != nil { |
| | | return ecode.InvalidParams, salesDetailsModel |
| | | } |
| | | |
| | | salesDetailsModel.ClientId = salesDetails.ClientId |
| | | salesDetailsModel.Number = salesDetails.Number |
| | | salesDetailsModel.SaleChanceId = salesDetails.SaleChanceId |
| | | salesDetailsModel.SaleType = salesDetails.SaleType |
| | | salesDetailsModel.SignTime = t |
| | | salesDetailsModel.SignTime = salesDetails.SignTime |
| | | salesDetailsModel.MemberId = salesDetails.MemberId |
| | | salesDetailsModel.DeliveryDate = t |
| | | salesDetailsModel.WechatOrderStatus = salesDetails.WechatOrderStatus |
| | | salesDetailsModel.DeliveryDate = salesDetails.DeliveryDate |
| | | salesDetailsModel.WechatOrderStatusId = salesDetails.WechatOrderStatusId |
| | | salesDetailsModel.Address = salesDetails.Address |
| | | salesDetailsModel.Phone = salesDetails.Phone |
| | | salesDetailsModel.Remark = salesDetails.Remark |
| | | salesDetailsModel.Addressee = salesDetails.Addressee |
| | | salesDetailsModel.Conditions = salesDetails.Conditions |
| | | salesDetailsModel.Products = salesDetails.Products |
| | | salesDetailsModel.LogisticCompany = salesDetails.LogisticCompany |
| | | salesDetailsModel.LogisticNumber = salesDetails.LogisticNumber |
| | | salesDetailsModel.LogisticCost = salesDetails.LogisticCost |
| | | salesDetailsModel.CodeStandID = salesDetails.CodeStandID |
| | | salesDetailsModel.DeliverType = salesDetails.DeliverType |
| | | salesDetailsModel.QuotationId = salesDetails.QuotationId |
| | | |
| | | return ecode.OK, salesDetailsModel |
| | | } |
| | | |
| | | // List |
| | | // |
| | | // @Tags SalesDetails |
| | | // @Summary 销售明细单列表 |
| | | // @Produce application/json |
| | | // @Param object body request.GetSalesDetailsList true "参数" |
| | | // @Success 200 {object} contextx.Response{data=response.SalesDetailsResponse} |
| | | // @Router /api/salesDetails/list [post] |
| | | func (con *SalesDetailsApi) List(c *gin.Context) { |
| | | var params request.GetSalesDetailsList |
| | | ctx, ok := contextx.NewContext(c, ¶ms) |
| | | if !ok { |
| | | return |
| | | } |
| | | |
| | | var memberIds []int |
| | | userInfo := utils.GetUserInfo(c) |
| | | if userInfo.UserType == constvar.UserTypeSub { |
| | | memberIds = userInfo.SubUserIds |
| | | } |
| | | |
| | | salesDetailss, total, errCode := salesDetailsService.GetSalesDetailsList(params, memberIds) |
| | | if errCode != ecode.OK { |
| | | ctx.Fail(errCode) |
| | | return |
| | | } |
| | | |
| | | ctx.OkWithDetailed(response.SalesDetailsResponse{ |
| | | List: salesDetailss, |
| | | Count: int(total), |
| | | }) |
| | | } |