智盟项目
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

69 行
2.0 KiB

  1. package svc
  2. import (
  3. "applet/app/db"
  4. "applet/app/db/model"
  5. offical "applet/app/db/official"
  6. "applet/app/utils"
  7. "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/hw"
  8. "encoding/json"
  9. "fmt"
  10. "github.com/tidwall/gjson"
  11. "strings"
  12. "time"
  13. )
  14. func HwRechargeOrder() {
  15. data := hw.HwRechargeSendOrder(offical.SysCfgByKeyStr("hw_recharge_secret"), "recharge", "RECHARGE")
  16. order := gjson.Get(data, "data").String()
  17. if order != "" && order != "[]" {
  18. var list = make([]map[string]interface{}, 0)
  19. json.Unmarshal([]byte(order), &list)
  20. for _, v := range list {
  21. AddRechargeOrder("recharge", v)
  22. }
  23. }
  24. return
  25. }
  26. func AddRechargeOrder(method string, order map[string]interface{}) {
  27. statusArr := map[string]string{"SOLD": "订单成功", "SUCCESS": "订单成功", "REFUNDED": "订单退款", "AFTER_SALE": "订单付款"}
  28. userId := order["openid"]
  29. if strings.Contains(utils.AnyToString(userId), "own") == false {
  30. return
  31. }
  32. isShare := 0
  33. if strings.Contains(utils.AnyToString(userId), "share") {
  34. isShare = 1
  35. }
  36. split := strings.Split(utils.AnyToString(userId), "_")
  37. mid := split[2]
  38. uid := split[3]
  39. var ord = &model.HwOrder{
  40. Oid: utils.AnyToString(order["sell_order_no"]),
  41. Info: utils.AnyToString(order["commodity_name"]),
  42. Commission: utils.AnyToFloat64(order["agent_rebate"]),
  43. Type: method,
  44. Uid: utils.StrToInt(mid),
  45. Payment: utils.AnyToFloat64(order["amount"]),
  46. Status: statusArr[utils.AnyToString(order["order_status"])],
  47. CreateTime: int(utils.TimeStdParseUnix(utils.AnyToString(order["create_time"]))),
  48. Data: utils.SerializeStr(order),
  49. UpdateTime: int(time.Now().Unix()),
  50. Zuid: uid,
  51. UserId: utils.AnyToString(order["openid"]),
  52. IsShare: isShare,
  53. ExtendUid: "0",
  54. }
  55. one := db.GetHwOrderByOne(ord.Oid, utils.IntToStr(ord.Uid), ord.Type)
  56. if one == nil {
  57. insertOne, err := db.ZhimengDb.InsertOne(ord)
  58. fmt.Println(insertOne)
  59. fmt.Println(err)
  60. } else {
  61. ord.SettleTime = one.SettleTime
  62. db.ZhimengDb.Where("id=?", one.Id).AllCols().Update(ord)
  63. }
  64. return
  65. }