智盟项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

169 rivejä
4.7 KiB

  1. package svc
  2. import (
  3. "applet/app/db"
  4. "applet/app/db/model"
  5. "applet/app/utils"
  6. "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/hc_card"
  7. "time"
  8. )
  9. func HcRechargeGoods() {
  10. param := map[string]string{}
  11. list := hc_card.HcRechargeList(param)
  12. for _, v := range list {
  13. if v.Xuzhi == "" {
  14. param1 := map[string]string{
  15. "g_id": utils.IntToStr(v.GId),
  16. }
  17. detail := hc_card.HcRechargeDetail(param1)
  18. v.Xuzhi = detail.Xuzhi
  19. }
  20. tmp := model.HcCardCate{
  21. AccountType: v.AccountType,
  22. GId: v.GId,
  23. GoodsLogo: v.GoodsLogo,
  24. GName: v.GName,
  25. UpdateTime: int(time.Now().Unix()),
  26. Type: "直充",
  27. Xuzhi: v.Xuzhi,
  28. IsDelete: 0,
  29. }
  30. var data model.HcCardCate
  31. db.ZhimengDb.Where("g_id=? and type=?", tmp.GId, tmp.Type).Get(&data)
  32. id := 0
  33. if data.Id > 0 {
  34. id = data.Id
  35. data.UpdateTime = int(time.Now().Unix())
  36. data.Xuzhi = v.Xuzhi
  37. data.GName = v.GName
  38. data.GoodsLogo = v.GoodsLogo
  39. data.GId = v.GId
  40. data.AccountType = v.AccountType
  41. data.IsDelete = 0
  42. db.ZhimengDb.Where("id=?", data.Id).Update(&data)
  43. } else {
  44. db.ZhimengDb.InsertOne(&tmp)
  45. id = tmp.Id
  46. }
  47. ids := []int{-1}
  48. for _, v1 := range v.Spec {
  49. specTmp := model.HcCardList{
  50. GId: v.GId,
  51. Title: v1.Title,
  52. OfficialPrice: utils.StrToFloat64(v1.OfficialPrice),
  53. PlatPrice: utils.StrToFloat64(v1.PlatPrice),
  54. Times: v1.Times,
  55. SpecId: v1.SpecId,
  56. SpecImg: v1.SpecImg,
  57. UpdateTime: int(time.Now().Unix()),
  58. LId: id,
  59. Type: "直充",
  60. IsDelete: 0,
  61. }
  62. var specData model.HcCardList
  63. db.ZhimengDb.Where("l_id=? and spec_id=?", id, v1.SpecId).Get(&specData)
  64. if specData.Id > 0 {
  65. specData.UpdateTime = int(time.Now().Unix())
  66. specData.GId = v.GId
  67. specData.Title = v1.Title
  68. specData.OfficialPrice = utils.StrToFloat64(v1.OfficialPrice)
  69. specData.PlatPrice = utils.StrToFloat64(v1.PlatPrice)
  70. specData.Times = v1.Times
  71. specData.SpecId = v1.SpecId
  72. specData.SpecImg = v1.SpecImg
  73. specData.IsDelete = 0
  74. db.ZhimengDb.Where("id=?", data.Id).Update(&specData)
  75. } else {
  76. db.ZhimengDb.InsertOne(&specTmp)
  77. }
  78. ids = append(ids, v1.SpecId)
  79. }
  80. if len(ids) > 0 {
  81. db.ZhimengDb.NotIn("spec_id", ids).And("l_id=?", id).Cols("is_delete").Update(&model.HcCardList{IsDelete: 1})
  82. }
  83. }
  84. if len(list) > 0 {
  85. db.ZhimengDb.Where("type=? and update_time<?", "直充", time.Now().Unix()-86400).Cols("is_delete").Update(&model.HcCardCate{IsDelete: 1})
  86. }
  87. return
  88. }
  89. func HcTicketGoods() {
  90. param := map[string]string{}
  91. list := hc_card.HcTicketList(param)
  92. for _, v := range list {
  93. if v.Xuzhi == "" {
  94. param1 := map[string]string{
  95. "g_id": utils.IntToStr(v.GId),
  96. }
  97. detail := hc_card.HcTicketDetail(param1)
  98. v.Xuzhi = detail.Xuzhi
  99. }
  100. tmp := model.HcCardCate{
  101. GId: v.GId,
  102. GoodsLogo: v.GoodsLogo,
  103. GName: v.GName,
  104. UpdateTime: int(time.Now().Unix()),
  105. Type: "卡券",
  106. Xuzhi: v.Xuzhi,
  107. IsDelete: 0,
  108. }
  109. var data model.HcCardCate
  110. db.ZhimengDb.Where("g_id=? and type=?", tmp.GId, tmp.Type).Get(&data)
  111. id := 0
  112. if data.Id > 0 {
  113. id = data.Id
  114. data.UpdateTime = int(time.Now().Unix())
  115. data.Xuzhi = v.Xuzhi
  116. data.GName = v.GName
  117. data.GoodsLogo = v.GoodsLogo
  118. data.GId = v.GId
  119. data.IsDelete = 0
  120. db.ZhimengDb.Where("id=?", data.Id).Update(&data)
  121. } else {
  122. db.ZhimengDb.InsertOne(&tmp)
  123. id = tmp.Id
  124. }
  125. ids := []int{-1}
  126. for _, v1 := range v.Spec {
  127. specTmp := model.HcCardList{
  128. GId: v.GId,
  129. Title: v1.Title,
  130. OfficialPrice: utils.StrToFloat64(v1.OfficialPrice),
  131. PlatPrice: utils.StrToFloat64(v1.PlatPrice),
  132. SpecId: v1.SpecId,
  133. SpecImg: v1.SpecImg,
  134. UpdateTime: int(time.Now().Unix()),
  135. LId: id,
  136. Type: "卡券",
  137. IsDelete: 0,
  138. }
  139. var specData model.HcCardList
  140. db.ZhimengDb.Where("l_id=? and spec_id=?", id, v1.SpecId).Get(&specData)
  141. if specData.Id > 0 {
  142. specData.UpdateTime = int(time.Now().Unix())
  143. specData.GId = v.GId
  144. specData.Title = v1.Title
  145. specData.OfficialPrice = utils.StrToFloat64(v1.OfficialPrice)
  146. specData.PlatPrice = utils.StrToFloat64(v1.PlatPrice)
  147. specData.SpecId = v1.SpecId
  148. specData.SpecImg = v1.SpecImg
  149. specData.IsDelete = 0
  150. db.ZhimengDb.Where("id=?", data.Id).Update(&specData)
  151. } else {
  152. db.ZhimengDb.InsertOne(&specTmp)
  153. }
  154. ids = append(ids, v1.SpecId)
  155. }
  156. if len(ids) > 0 {
  157. db.ZhimengDb.NotIn("spec_id", ids).And("l_id=?", id).Cols("is_delete").Update(&model.HcCardList{IsDelete: 1})
  158. }
  159. }
  160. if len(list) > 0 {
  161. db.ZhimengDb.Where("type=? and update_time<?", "卡券", time.Now().Unix()-86400).Cols("is_delete").Update(&model.HcCardCate{IsDelete: 1})
  162. }
  163. return
  164. }