package svc import ( "applet/app/comm/e" "applet/app/comm/svc" "applet/app/comm/utils" "applet/app/store/md" "code.fnuoos.com/go_rely_warehouse/zyos_model.git/src/models" "github.com/gin-gonic/gin" "time" ) func AlipayCallBack(c *gin.Context) { // 统一处理回调参数 data, OrderType, _ := CheckAllCallbackParams(c) if data == nil { e.OutErr(c, e.ERR_INVALID_ARGS) return } c.Set("callback", data) CallBack(c, OrderType) } func MoneyOrderState(c *gin.Context) { var args map[string]string if err := c.ShouldBindJSON(&args); err != nil { e.OutErr(c, 200, e.ERR_INVALID_ARGS) return } var data models.CampTaskStoreUserAmountOrder svc.MasterDb(c).Where("oid=?", args["oid"]).Get(&data) if data.Id == 0 { e.OutErr(c, 400, e.NewErr(400, "订单不存在")) return } res := map[string]string{ "state": utils.IntToStr(data.State), } e.OutSuc(c, res, nil) return } func MoneyOrderCreate(c *gin.Context) { var args map[string]string if err := c.ShouldBindJSON(&args); err != nil { e.OutErr(c, 200, e.ERR_INVALID_ARGS) return } if utils.StrToFloat64(args["money"]) <= 0 { e.OutErr(c, 400, e.NewErr(400, "金额不正确")) return } storeId := svc.GetCampStoreId(c) var ord = models.CampTaskStoreUserAmountOrder{ Oid: utils.StrToInt64(utils.OrderUUID(storeId)), StoreId: storeId, Money: args["money"], CreateTime: time.Now(), PayChannel: 2, } _, err := svc.MasterDb(c).Insert(&ord) if err != nil { e.OutErr(c, 400, e.NewErr(400, "下单失败")) return } c.Set("page_url", c.Request.Host+"/#/pay-state-page") var param = &md.AliPayPayParams{ Subject: "预存款充值", Amount: args["money"], OrderType: "money", OrdId: utils.Int64ToStr(ord.Oid), } pcUrl, err := AlipayPc(c, param) if err != nil { e.OutErr(c, 400, e.NewErr(400, err.Error())) return } res := map[string]string{ "oid": utils.Int64ToStr(ord.Oid), "url": pcUrl, } e.OutSuc(c, res, nil) return } func MoneyOrderList(c *gin.Context) { var args md.MoneyOrderList if err := c.ShouldBindJSON(&args); err != nil { e.OutErr(c, 200, e.ERR_INVALID_ARGS) return } storeId := svc.GetCampStoreId(c) list := make([]map[string]string, 0) var data = make([]models.CampTaskStoreUserAmountOrder, 0) sess := svc.MasterDb(c).Where("store_id=? and state=1", storeId) count, _ := sess.Limit(utils.StrToInt(args.Size), (utils.StrToInt(args.P)-1)*utils.StrToInt(args.Size)).OrderBy("id desc").FindAndCount(&data) for _, v := range data { tmp := map[string]string{ "money": v.Money, "channel": "支付宝", "create_time": v.CreateTime.Format("2006-01-02 15:04:05"), "oid": utils.Int64ToStr(v.Oid), } list = append(list, tmp) } res := map[string]interface{}{ "list": list, "total": count, } e.OutSuc(c, res, nil) return }