sim.go 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. package sim
  2. // import (
  3. // "errors"
  4. // "fmt"
  5. // "go-nc/configs/global"
  6. // "go-nc/model"
  7. // pkgSim "go-nc/pkg/sim/grace"
  8. // "github.com/gin-gonic/gin"
  9. // "github.com/tidwall/gjson"
  10. // "go-nc/internal/utils"
  11. // )
  12. // // 测试参数
  13. // // "childOrderId":"89852342022040149139",
  14. // // "iccid":"1845700383613420930"
  15. // // 查询流量包信息接口:查询流量包信息- 200
  16. // func PostSimPackageInfo(c *gin.Context) {
  17. // var info PageIndex
  18. // if err := c.ShouldBindJSON(&info); err != nil {
  19. // c.Error(errors.New("缺少参数!"))
  20. // return
  21. // }
  22. // // 校验参数
  23. // err := utils.ValidateStruct(info)
  24. // if err != nil {
  25. // c.Error(err)
  26. // return
  27. // }
  28. // if info.Current != 0 {
  29. // info.Current = info.Current - 1
  30. // }
  31. // if info.PageSize == 0 {
  32. // info.PageSize = 50
  33. // }
  34. // data, err := pkgSim.GetSimPackage(info.Current, info.PageSize)
  35. // if err != nil {
  36. // c.Error(err)
  37. // return
  38. // }
  39. // list := gjson.GetBytes(data.Bytes(), "dataBundles").Array()
  40. // result := make([]interface{}, len(list))
  41. // for i, item := range list {
  42. // result[i] = item.Value()
  43. // }
  44. // c.Set("res_data", result)
  45. // }
  46. // // 订单同步接口: 此接口用于创建订单
  47. // func SimOrderSync(c *gin.Context) {
  48. // var param pkgSim.SimOrder
  49. // if err := c.ShouldBindJSON(&param); err != nil {
  50. // c.Error(errors.New("缺少参数!"))
  51. // return
  52. // }
  53. // param.IncludeCard = 0 // 供应商:还没用, 固定填 0 就行了
  54. // err := utils.ValidateStruct(param)
  55. // if err != nil {
  56. // c.Error(err)
  57. // return
  58. // }
  59. // simToken, err := pkgSim.GetSimToken()
  60. // if err != nil {
  61. // c.Error(err)
  62. // return
  63. // }
  64. // param.AccessToken = simToken
  65. // // 获取token
  66. // userInfoInterface, _ := c.Get("userInfo")
  67. // userInfo, _ := userInfoInterface.(model.Sys_user)
  68. // param.ThirdOrderId = model.GenerateUUIDWithoutHyphens()
  69. // // 获取订单信息
  70. // data, err := pkgSim.GetSimSetOrder(param)
  71. // if err != nil {
  72. // c.Error(err)
  73. // return
  74. // }
  75. // jsonData := gjson.ParseBytes(data.Bytes())
  76. // // 查询更详细的订单信息
  77. // var order model.Iot_sim_order
  78. // // 更新订单信息
  79. // order.Id = param.ThirdOrderId
  80. // order.ICCID = param.ICCID
  81. // order.IsRefuel = param.IsRefuel
  82. // order.RefuelingId = param.RefuelingId
  83. // order.DataBundleId = param.DataBundleId
  84. // order.SendLang = param.SendLang
  85. // order.UserId = userInfo.Id
  86. // order.OrderId = jsonData.Get("orderID").String()
  87. // order.Price = jsonData.Get("price").String()
  88. // order.TotalAmount = jsonData.Get("totalAmount").String()
  89. // order.Currency = jsonData.Get("currency").String()
  90. // order.Quantity = int(jsonData.Get("quantity").Int())
  91. // // 更新订单状态
  92. // err = global.App.DB.Where("id = ?", order.Id).Where("order_id = ?", order.OrderId).First(&order).Error
  93. // if err != nil {
  94. // // 如果不存在记录,则保存
  95. // err = global.App.DB.Create(&order).Error
  96. // if err != nil {
  97. // c.Error(err)
  98. // return
  99. // }
  100. // } else {
  101. // // 如果存在记录,则更新
  102. // err = global.App.DB.Model(&order).Updates(&order).Error
  103. // if err != nil {
  104. // c.Error(err)
  105. // return
  106. // }
  107. // }
  108. // c.Set("res_data", data)
  109. // }
  110. // // 查询用户套餐资费计划接口:终端查询用户订购流量包列表接口接口
  111. // func SimPackageTariffPlan(c *gin.Context) {
  112. // var param pkgSim.SimPackageTariffPlan
  113. // if err := c.ShouldBindJSON(&param); err != nil {
  114. // c.Error(errors.New("缺少参数!"))
  115. // return
  116. // }
  117. // if param.Iccid == "" && param.HImsi == "" {
  118. // c.Error(errors.New("缺少参数: iccid or hImsi "))
  119. // return
  120. // }
  121. // err := utils.ValidateStruct(param)
  122. // if err != nil {
  123. // c.Error(err)
  124. // return
  125. // }
  126. // // 获取simToken
  127. // simToken, err := pkgSim.GetSimToken()
  128. // if err != nil {
  129. // c.Error(err)
  130. // return
  131. // }
  132. // param.AccessToken = simToken
  133. // data, err := pkgSim.GetSimPackageTariffPlan(param)
  134. // if err != nil {
  135. // c.Error(err)
  136. // return
  137. // }
  138. // list := gjson.GetBytes(data.Bytes(), "userDataBundles").Array()
  139. // resData := make([]interface{}, len(list))
  140. // for i, item := range list {
  141. // resData[i] = item.Value()
  142. // }
  143. // c.Set("res_data", resData)
  144. // }
  145. // // UPCC数据使用查询接口- 200
  146. // func SimUPCCdata(c *gin.Context) {
  147. // type Param struct {
  148. // Iccid string `json:"iccid"`
  149. // ChildOrderId string `json:"childOrderId" `
  150. // }
  151. // var param Param
  152. // if err := c.ShouldBindJSON(&param); err != nil {
  153. // c.Error(errors.New("缺少参数!"))
  154. // return
  155. // }
  156. // err := utils.ValidateStruct(param)
  157. // if err != nil {
  158. // c.Error(err)
  159. // return
  160. // }
  161. // data, err := pkgSim.GetSimUPCCdata(param.Iccid, param.ChildOrderId)
  162. // if err != nil {
  163. // c.Error(err)
  164. // return
  165. // }
  166. // list := gjson.GetBytes(data.Bytes(), "historyQuota").Array()
  167. // resData := make([]interface{}, len(list))
  168. // for i, item := range list {
  169. // resData[i] = item.Value()
  170. // }
  171. // c.Set("res_data", resData)
  172. // }
  173. // // 流量包提前释放接口:提前终止一张或多张已激活的SIM卡的资费计划。
  174. // func SimRelease(c *gin.Context) {
  175. // type Param struct {
  176. // IccIdList []pkgSim.SimIccidPackage `json:"iccidPackageList" validate:"required"`
  177. // }
  178. // var param Param
  179. // if err := c.ShouldBindJSON(&param); err != nil {
  180. // c.Error(errors.New("缺少参数!"))
  181. // return
  182. // }
  183. // if len(param.IccIdList) == 0 {
  184. // c.Error(errors.New("iccIdList不能为空"))
  185. // return
  186. // }
  187. // accessToken, err := pkgSim.GetSimToken()
  188. // if err != nil {
  189. // c.Error(err)
  190. // return
  191. // }
  192. // fmt.Println(accessToken)
  193. // data, err := pkgSim.GetSimStop(param.IccIdList, accessToken)
  194. // if err != nil {
  195. // c.Error(err)
  196. // return
  197. // }
  198. // list := gjson.GetBytes(data.Bytes(), "errorList").Array()
  199. // resData := make([]interface{}, len(list))
  200. // for i, item := range list {
  201. // resData[i] = item.Value()
  202. // }
  203. // c.Set("res_data", resData)
  204. // }
  205. // // 通道取消订阅:只有通道可以调用未订阅的接口
  206. // func SimUnsubscribe(c *gin.Context) {
  207. // var param pkgSim.SimUnsubscribe
  208. // if err := c.ShouldBindJSON(&param); err != nil {
  209. // c.Error(errors.New("缺少参数!"))
  210. // return
  211. // }
  212. // err := utils.ValidateStruct(param)
  213. // if err != nil {
  214. // c.Error(err)
  215. // return
  216. // }
  217. // // 获取simToken
  218. // simToken, err := pkgSim.GetSimToken()
  219. // if err != nil {
  220. // c.Error(err)
  221. // return
  222. // }
  223. // param.AccessToken = simToken
  224. // data, err := pkgSim.GetSimUnsubscribe(param)
  225. // if err != nil {
  226. // c.Error(err)
  227. // return
  228. // }
  229. // c.Set("res_data", data)
  230. // }
  231. // // 查询SIM卡信息接口
  232. // func SimInfo(c *gin.Context) {
  233. // var param []pkgSim.SimInfo
  234. // if err := c.ShouldBindJSON(&param); err != nil {
  235. // c.Error(errors.New("缺少参数!"))
  236. // return
  237. // }
  238. // if len(param) == 0 {
  239. // c.Error(errors.New("缺少参数"))
  240. // return
  241. // }
  242. // data, err := pkgSim.GetSimInfo(param)
  243. // if err != nil {
  244. // c.Error(err)
  245. // return
  246. // }
  247. // list := gjson.GetBytes(data.Bytes(), "himsis").Array()
  248. // resData := make([]interface{}, len(list))
  249. // for i, item := range list {
  250. // resData[i] = item.Value()
  251. // }
  252. // c.Set("res_data", resData)
  253. // }