package controller import ( "fmt" "github.com/gin-gonic/gin" "github.com/sirupsen/logrus" "youngee_b_api/app/service" "youngee_b_api/app/util" "youngee_b_api/app/vo" ) type FinanceController struct{} // 充值管理——对公转账 func (t FinanceController) TransferToPublic(c *gin.Context) { param := &vo.RechargeTransferParam{} err := c.BindJSON(param) if err != nil { logrus.Errorf("Request bind err:%+v\n", err) returnError(c, 40000, "参数错误") return } rechargeId, err := service.RechargeService{}.TransferToPublic(param) if err != nil { logrus.Errorf("[TransferToPublic] call Show err:%+v\n", err) returnError(c, 40000, "error") return } resultMap := make(map[string]string) resultMap["rechargeId"] = *rechargeId returnSuccess(c, 20000, resultMap) } // 获取微信支付CodeUrl func (t FinanceController) GetCodeUrl(c *gin.Context) { param := &vo.GetCodeUrlParam{} err := c.BindJSON(param) if err != nil { logrus.Errorf("Request bind err:%+v\n", err) returnError(c, 40000, "参数错误") return } tradeId := util.GetRandomString(32) fmt.Println("amount:", param.Amount) codeUrl, timeExpire, err := service.RechargeService{}.NativeApiServicePrepay(tradeId, param.Amount) if err != nil { logrus.Errorf("[GetCodeUrl] call Show err:%+v\n", err) returnError(c, 40000, err.Error()) return } reCodeUrl := vo.ReCodeUrl{ CodeUrl: codeUrl, TradeId: tradeId, TimeExpire: timeExpire.Format("2006-01-02 15:04:05"), } returnSuccess(c, 20000, reCodeUrl) } // 根据交易id查询微信是否扫码付款 func (t FinanceController) QueryOrderByTradeId(c *gin.Context) { param := &vo.QueryOrderByTradeIdParam{} err := c.BindJSON(param) if err != nil { logrus.Errorf("Request bind err:%+v\n", err) returnError(c, 40000, "参数错误") return } tradeState, err := service.RechargeService{}.QueryOrderByTradeId(param.TradeId) if err != nil { logrus.Errorf("[QueryOrderByTradeId] call Show err:%+v\n", err) returnError(c, 40000, err.Error()) return } resultMap := make(map[string]string) resultMap["tradeState"] = tradeState returnSuccess(c, 20000, resultMap) } // 余额管理——总金额、可用余额、冻结金额 func (t FinanceController) ShowBalance(c *gin.Context) { param := &vo.BalanceParam{} err := c.BindJSON(param) if err != nil { logrus.Errorf("Request bind err:%+v\n", err) returnError(c, 40000, "参数错误") return } reBalanceShow, err := service.RechargeService{}.ShowBalance(param) if err != nil { logrus.Errorf("[ShowBalance] call Show err:%+v\n", err) returnError(c, 40000, err.Error()) return } returnSuccess(c, 20000, reBalanceShow) } // 余额管理——冻结记录 func (t FinanceController) FrozenInfoList(c *gin.Context) { param := &vo.BalanceParam{} err := c.BindJSON(param) if err != nil { logrus.Errorf("Request bind err:%+v\n", err) returnError(c, 40000, "参数错误") return } result, err := service.RechargeService{}.FrozenInfoList(param) if err != nil { logrus.Errorf("[FrozenInfoList] call Show err:%+v\n", err) returnError(c, 40000, err.Error()) return } returnSuccess(c, 20000, result) } // 充值管理——累计充值金额、确认中金额 func (t FinanceController) ShowRecharge(c *gin.Context) { param := &vo.RechargeParam{} err := c.BindJSON(param) if err != nil { logrus.Errorf("Request bind err:%+v\n", err) returnError(c, 40000, "参数错误") return } reRechargeShow, err := service.RechargeService{}.ShowRecharge(param) if err != nil { logrus.Errorf("[ShowRecharge] call Show err:%+v\n", err) returnError(c, 40000, err.Error()) return } returnSuccess(c, 20000, reRechargeShow) } // 充值管理——充值记录 func (t FinanceController) RechargeInfoList(c *gin.Context) { param := &vo.RechargeParam{} err := c.BindJSON(param) if err != nil { logrus.Errorf("Request bind err:%+v\n", err) returnError(c, 40000, "参数错误") return } result, err := service.RechargeService{}.RechargeInfoList(param) if err != nil { logrus.Errorf("[RechargeInfoList] call Show err:%+v\n", err) returnError(c, 40000, err.Error()) return } returnSuccess(c, 20000, result) }