|
@@ -3,6 +3,7 @@ package svc |
|
|
import ( |
|
|
import ( |
|
|
"applet/app/admin/md" |
|
|
"applet/app/admin/md" |
|
|
svc "applet/app/admin/svc/enterprise_manage" |
|
|
svc "applet/app/admin/svc/enterprise_manage" |
|
|
|
|
|
"applet/app/cfg" |
|
|
enum2 "applet/app/customer/enum" |
|
|
enum2 "applet/app/customer/enum" |
|
|
md2 "applet/app/customer/md" |
|
|
md2 "applet/app/customer/md" |
|
|
svc2 "applet/app/customer/svc" |
|
|
svc2 "applet/app/customer/svc" |
|
@@ -188,12 +189,6 @@ func CentralKitchenForSchoolOrderRefundAudit(c *gin.Context, req md.CentralKitch |
|
|
}{} |
|
|
}{} |
|
|
|
|
|
|
|
|
outRequestNoSuffix := "_" + utils.Int64ToStr(time.Now().Unix()) |
|
|
outRequestNoSuffix := "_" + utils.Int64ToStr(time.Now().Unix()) |
|
|
client, err := svc3.NewWxPayClient(c) //初始化微信连接 |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR, err.Error()) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
wxSvc := refunddomestic.RefundsApiService{Client: client} |
|
|
|
|
|
|
|
|
|
|
|
for _, v := range req.Ids { |
|
|
for _, v := range req.Ids { |
|
|
//1、更新状态 |
|
|
//1、更新状态 |
|
@@ -305,27 +300,35 @@ func CentralKitchenForSchoolOrderRefundAudit(c *gin.Context, req md.CentralKitch |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//调用微信进行退款 |
|
|
//调用微信进行退款 |
|
|
for k, v := range dealReturnOrdMapForWx { |
|
|
|
|
|
resp, _, err6 := wxSvc.Create(c, |
|
|
|
|
|
refunddomestic.CreateRequest{ |
|
|
|
|
|
SubMchid: core.String(sysCfg[enum.WxMchId]), |
|
|
|
|
|
OutTradeNo: core.String(k), |
|
|
|
|
|
OutRefundNo: core.String(v.OutRequestNo), |
|
|
|
|
|
Reason: core.String("央厨订餐退款"), |
|
|
|
|
|
NotifyUrl: core.String(sysCfg[enum.WxJsapiRefundPayNotifyUrl]), |
|
|
|
|
|
Amount: &refunddomestic.AmountReq{ |
|
|
|
|
|
Currency: core.String("CNY"), |
|
|
|
|
|
Refund: core.Int64(int64(math.Round(v.Amount * 100))), |
|
|
|
|
|
Total: core.Int64(int64(math.Round(utils.StrToFloat64(v.Total) * 100))), |
|
|
|
|
|
|
|
|
if !cfg.Prd { //TODO::正式环境暂不开启微信退款 |
|
|
|
|
|
client, err := svc3.NewWxPayClient(c) //初始化微信连接 |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
e.OutErr(c, e.ERR, err.Error()) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
wxSvc := refunddomestic.RefundsApiService{Client: client} |
|
|
|
|
|
for k, v := range dealReturnOrdMapForWx { |
|
|
|
|
|
resp, _, err6 := wxSvc.Create(c, |
|
|
|
|
|
refunddomestic.CreateRequest{ |
|
|
|
|
|
SubMchid: core.String(sysCfg[enum.WxMchId]), |
|
|
|
|
|
OutTradeNo: core.String(k), |
|
|
|
|
|
OutRefundNo: core.String(v.OutRequestNo), |
|
|
|
|
|
Reason: core.String("央厨订餐退款"), |
|
|
|
|
|
NotifyUrl: core.String(sysCfg[enum.WxJsapiRefundPayNotifyUrl]), |
|
|
|
|
|
Amount: &refunddomestic.AmountReq{ |
|
|
|
|
|
Currency: core.String("CNY"), |
|
|
|
|
|
Refund: core.Int64(int64(math.Round(v.Amount * 100))), |
|
|
|
|
|
Total: core.Int64(int64(math.Round(utils.StrToFloat64(v.Total) * 100))), |
|
|
|
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
|
|
|
) |
|
|
|
|
|
if err6 != nil { |
|
|
|
|
|
_ = session.Rollback() |
|
|
|
|
|
return err6 |
|
|
|
|
|
|
|
|
) |
|
|
|
|
|
if err6 != nil { |
|
|
|
|
|
_ = session.Rollback() |
|
|
|
|
|
return err6 |
|
|
|
|
|
} |
|
|
|
|
|
fmt.Println(">>>>wxRefund<<<<", resp.Status) |
|
|
|
|
|
time.Sleep(20 * time.Millisecond) //TODO::避免频繁调用 |
|
|
} |
|
|
} |
|
|
fmt.Println(">>>>wxRefund<<<<", resp.Status) |
|
|
|
|
|
time.Sleep(20 * time.Millisecond) //TODO::避免频繁调用 |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
session.Commit() |
|
|
session.Commit() |
|
|