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

110 regels
2.7 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. var param = &md.AliPayPayParams{
  63. Subject: "预存款充值",
  64. Amount: args["money"],
  65. OrderType: "money",
  66. OrdId: utils.Int64ToStr(ord.Oid),
  67. }
  68. pcUrl, err := AlipayPc(c, param)
  69. if err != nil {
  70. e.OutErr(c, 400, e.NewErr(400, err.Error()))
  71. return
  72. }
  73. res := map[string]string{
  74. "oid": utils.Int64ToStr(ord.Oid),
  75. "url": pcUrl,
  76. }
  77. e.OutSuc(c, res, nil)
  78. return
  79. }
  80. func MoneyOrderList(c *gin.Context) {
  81. var args md.MoneyOrderList
  82. if err := c.ShouldBindJSON(&args); err != nil {
  83. e.OutErr(c, 200, e.ERR_INVALID_ARGS)
  84. return
  85. }
  86. storeId := svc.GetCampStoreId(c)
  87. list := make([]map[string]string, 0)
  88. var data = make([]models.CampTaskStoreUserAmountOrder, 0)
  89. sess := svc.MasterDb(c).Where("store_id=? and state=1", storeId)
  90. count, _ := sess.Limit(utils.StrToInt(args.Size), (utils.StrToInt(args.P)-1)*utils.StrToInt(args.Size)).OrderBy("id desc").FindAndCount(&data)
  91. for _, v := range data {
  92. tmp := map[string]string{
  93. "money": v.Money,
  94. "channel": "支付宝",
  95. "create_time": v.CreateTime.Format("2006-01-02 15:04:05"),
  96. "oid": utils.Int64ToStr(v.Oid),
  97. }
  98. list = append(list, tmp)
  99. }
  100. res := map[string]interface{}{
  101. "list": list,
  102. "total": count,
  103. }
  104. e.OutSuc(c, res, nil)
  105. return
  106. }