劲创营---任务项目
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.
 
 
 

111 satır
2.8 KiB

  1. package svc
  2. import (
  3. "applet/app/comm/e"
  4. "applet/app/comm/svc"
  5. "applet/app/comm/utils"
  6. "applet/app/store/md"
  7. "code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/models"
  8. "github.com/gin-gonic/gin"
  9. "time"
  10. )
  11. func AlipayCallBack(c *gin.Context) {
  12. // 统一处理回调参数
  13. data, OrderType, _ := CheckAllCallbackParams(c)
  14. if data == nil {
  15. e.OutErr(c, e.ERR_INVALID_ARGS)
  16. return
  17. }
  18. c.Set("callback", data)
  19. CallBack(c, OrderType)
  20. }
  21. func MoneyOrderState(c *gin.Context) {
  22. var args map[string]string
  23. if err := c.ShouldBindJSON(&args); err != nil {
  24. e.OutErr(c, 200, e.ERR_INVALID_ARGS)
  25. return
  26. }
  27. var data models.CampTaskStoreUserAmountOrder
  28. svc.MasterDb(c).Where("oid=?", args["oid"]).Get(&data)
  29. if data.Id == 0 {
  30. e.OutErr(c, 400, e.NewErr(400, "订单不存在"))
  31. return
  32. }
  33. res := map[string]string{
  34. "state": utils.IntToStr(data.State),
  35. }
  36. e.OutSuc(c, res, nil)
  37. return
  38. }
  39. func MoneyOrderCreate(c *gin.Context) {
  40. var args map[string]string
  41. if err := c.ShouldBindJSON(&args); err != nil {
  42. e.OutErr(c, 200, e.ERR_INVALID_ARGS)
  43. return
  44. }
  45. if utils.StrToFloat64(args["money"]) <= 0 {
  46. e.OutErr(c, 400, e.NewErr(400, "金额不正确"))
  47. return
  48. }
  49. storeId := svc.GetCampStoreId(c)
  50. var ord = models.CampTaskStoreUserAmountOrder{
  51. Oid: utils.StrToInt64(utils.OrderUUID(storeId)),
  52. StoreId: storeId,
  53. Money: args["money"],
  54. CreateTime: time.Now(),
  55. PayChannel: 2,
  56. }
  57. _, err := svc.MasterDb(c).Insert(&ord)
  58. if err != nil {
  59. e.OutErr(c, 400, e.NewErr(400, "下单失败"))
  60. return
  61. }
  62. c.Set("page_url", "http://"+c.Request.Host+"/#/pay-state-page")
  63. var param = &md.AliPayPayParams{
  64. Subject: "预存款充值",
  65. Amount: args["money"],
  66. OrderType: "money",
  67. OrdId: utils.Int64ToStr(ord.Oid),
  68. }
  69. pcUrl, err := AlipayPc(c, param)
  70. if err != nil {
  71. e.OutErr(c, 400, e.NewErr(400, err.Error()))
  72. return
  73. }
  74. res := map[string]string{
  75. "oid": utils.Int64ToStr(ord.Oid),
  76. "url": pcUrl,
  77. }
  78. e.OutSuc(c, res, nil)
  79. return
  80. }
  81. func MoneyOrderList(c *gin.Context) {
  82. var args md.MoneyOrderList
  83. if err := c.ShouldBindJSON(&args); err != nil {
  84. e.OutErr(c, 200, e.ERR_INVALID_ARGS)
  85. return
  86. }
  87. storeId := svc.GetCampStoreId(c)
  88. list := make([]map[string]string, 0)
  89. var data = make([]models.CampTaskStoreUserAmountOrder, 0)
  90. sess := svc.MasterDb(c).Where("store_id=? and state=1", storeId)
  91. count, _ := sess.Limit(utils.StrToInt(args.Size), (utils.StrToInt(args.P)-1)*utils.StrToInt(args.Size)).OrderBy("id desc").FindAndCount(&data)
  92. for _, v := range data {
  93. tmp := map[string]string{
  94. "money": v.Money,
  95. "channel": "支付宝",
  96. "create_time": v.CreateTime.Format("2006-01-02 15:04:05"),
  97. "oid": utils.Int64ToStr(v.Oid),
  98. }
  99. list = append(list, tmp)
  100. }
  101. res := map[string]interface{}{
  102. "list": list,
  103. "total": count,
  104. }
  105. e.OutSuc(c, res, nil)
  106. return
  107. }