package svc import ( "applet/app/db" "applet/app/db/model" offical "applet/app/db/official" "applet/app/utils" "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/hw" "encoding/json" "fmt" "github.com/tidwall/gjson" "strings" "time" ) func HwRechargeOrder() { data := hw.HwRechargeSendOrder(offical.SysCfgByKeyStr("hw_recharge_secret"), "recharge", "RECHARGE") order := gjson.Get(data, "data").String() if order != "" && order != "[]" { var list = make([]map[string]interface{}, 0) json.Unmarshal([]byte(order), &list) for _, v := range list { AddRechargeOrder("hw_recharge", v) } } return } func AddRechargeOrder(method string, order map[string]interface{}) { statusArr := map[string]string{"SOLD": "订单成功", "SUCCESS": "订单成功", "REFUNDED": "订单退款", "AFTER_SALE": "订单付款"} userId := order["openid"] if strings.Contains(utils.AnyToString(userId), "own") == false { return } isShare := 0 if strings.Contains(utils.AnyToString(userId), "share") { isShare = 1 } split := strings.Split(utils.AnyToString(userId), "_") mid := split[2] uid := split[3] var ord = &model.HwOrder{ Oid: utils.AnyToString(order["sell_order_no"]), Info: utils.AnyToString(order["commodity_name"]), Commission: utils.AnyToFloat64(order["agent_rebate"]), Type: method, Uid: utils.StrToInt(mid), Payment: utils.AnyToFloat64(order["amount"]), Status: statusArr[utils.AnyToString(order["order_status"])], CreateTime: int(utils.TimeStdParseUnix(utils.AnyToString(order["create_time"]))), Data: utils.SerializeStr(order), UpdateTime: int(time.Now().Unix()), Zuid: uid, UserId: utils.AnyToString(order["openid"]), IsShare: isShare, ExtendUid: "0", } one := db.GetHwOrderByOne(ord.Oid, utils.IntToStr(ord.Uid), ord.Type) if one == nil { insertOne, err := db.ZhimengDb.InsertOne(ord) fmt.Println(insertOne) fmt.Println(err) } else { ord.SettleTime = one.SettleTime db.ZhimengDb.Where("id=?", one.Id).AllCols().Update(ord) } return }