orderSaleRecordHandler.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package controller
  2. import (
  3. . "app.yhyue.com/moapp/jybase/api"
  4. "github.com/gogf/gf/v2/frame/g"
  5. "github.com/gogf/gf/v2/net/ghttp"
  6. "github.com/pkg/errors"
  7. "jyOrderManager/internal/jyutil"
  8. "jyOrderManager/internal/logic/order"
  9. "jyOrderManager/internal/model"
  10. )
  11. // SaleRecordUpdateHandler 订单销售业绩更改
  12. func SaleRecordUpdateHandler(r *ghttp.Request) {
  13. rData, err := func() (interface{}, error) {
  14. rj, err := r.GetJson()
  15. if err != nil {
  16. return nil, errors.Wrap(err, "请求参数格式异常")
  17. }
  18. var (
  19. orderCode = rj.Get("orderCode").String()
  20. reason = rj.Get("reason").String()
  21. ctx = r.Context()
  22. uMsg = jyutil.GetUserMsgFromCtx(ctx)
  23. userName = uMsg.EntUserName
  24. )
  25. var saleRecord []*model.SalesMoney
  26. if err := rj.Get("record").Struct(&saleRecord); err != nil {
  27. return nil, errors.Wrap(err, "格式化业绩内容异常")
  28. }
  29. if len(saleRecord) == 0 {
  30. return nil, errors.New("业绩内容空")
  31. }
  32. for _, money := range saleRecord {
  33. if money.Channel == "" {
  34. return nil, errors.New("渠道为空")
  35. }
  36. }
  37. err = order.OrderSalerChange(r.Context(), saleRecord, orderCode, userName, reason)
  38. if err != nil {
  39. return nil, errors.Wrap(err, "修改业绩异常")
  40. }
  41. return "success", nil
  42. }()
  43. if err != nil {
  44. g.Log().Errorf(r.Context(), "订单销售业绩更改异常 %v", err)
  45. }
  46. r.Response.WriteJson(NewResult(rData, err))
  47. }