智盟项目
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

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