1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package controller
- import (
- . "app.yhyue.com/moapp/jybase/api"
- "context"
- "github.com/gogf/gf/v2/database/gdb"
- "github.com/gogf/gf/v2/frame/g"
- "github.com/gogf/gf/v2/net/ghttp"
- "github.com/pkg/errors"
- "jyOrderManager/internal/jyutil"
- "jyOrderManager/internal/logic/order"
- "jyOrderManager/internal/model"
- )
- // SaleRecordUpdateHandler 订单销售业绩更改
- func SaleRecordUpdateHandler(r *ghttp.Request) {
- rData, err := func() (interface{}, error) {
- rj, err := r.GetJson()
- if err != nil {
- return nil, errors.Wrap(err, "请求参数格式异常")
- }
- var (
- orderCode = rj.Get("orderCode").String()
- reason = rj.Get("reason").String()
- ctx = r.Context()
- uMsg = jyutil.GetUserMsgFromCtx(ctx)
- userName = uMsg.EntUserName
- )
- var saleRecord []*model.SalesMoney
- if err := rj.Get("record").Struct(&saleRecord); err != nil {
- return nil, errors.Wrap(err, "格式化业绩内容异常")
- }
- if len(saleRecord) == 0 {
- return nil, errors.New("业绩内容空")
- }
- for _, money := range saleRecord {
- if money.Channel == "" {
- return nil, errors.New("渠道为空")
- }
- }
- if err := g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
- if err = order.OrderSalerChange(ctx, saleRecord, orderCode, userName, reason); err != nil {
- return errors.Wrap(err, "修改业绩异常")
- }
- return nil
- }); err != nil {
- return nil, err
- }
- return "success", nil
- }()
- if err != nil {
- g.Log().Errorf(r.Context(), "订单销售业绩更改异常 %v", err)
- }
- r.Response.WriteJson(NewResult(rData, err))
- }
|