From 34f7ee039df588fe54fb97a651bbbd588355e0b0 Mon Sep 17 00:00:00 2001 From: li Date: Mon, 19 Dec 2022 10:51:22 +0800 Subject: [PATCH] fix: --- controller/game_card.go | 1 + controller/user.go | 33 ++++++++++++++++++++++----------- model/config.go | 35 +++++++++++++++++++++++++++++++++++ model/config_test.go | 14 ++++++++++++++ router/router_app.go | 4 +++- 5 files changed, 75 insertions(+), 12 deletions(-) diff --git a/controller/game_card.go b/controller/game_card.go index fbbe06c..74a009e 100644 --- a/controller/game_card.go +++ b/controller/game_card.go @@ -263,6 +263,7 @@ type ( } ) +// TODO两边都改 // 微信推送支付通知 func PushWXPayNotice(c *gin.Context) { fmt.Println("微信推送支付通知") diff --git a/controller/user.go b/controller/user.go index 8f988dd..7dda0cc 100644 --- a/controller/user.go +++ b/controller/user.go @@ -319,21 +319,32 @@ func OpenMember(c *gin.Context) { RespJson(c, status.InternalServerError, nil) return } - //webPay, err := wxpay.WebPay(orderSn, totalFee, user.WxOpenID, "N", wxpay.WxPayMember, configInfo.NotifyUrl) - //if err != nil { - // logger.Error(errors.New("WebPay err")) - // RespJson(c, status.InternalServerError, nil) - // return - //} - webPay, err := wxpay.HmJsPayUnifiedOrder(orderSn, totalFee, user.WxOpenID, configInfo.NotifyUrl) + genre, err := model.GetPaymentGenre() if err != nil { - logger.Error(errors.New("WebPay err")) - RespJson(c, status.InternalServerError, nil) - return + genre = 2 + logger.Error("payment method", err) + } + // + if genre == model.PaymentGenreWx { + webPay, err := wxpay.WebPay(orderSn, totalFee, user.WxOpenID, "N", wxpay.WxPayMember, configInfo.NotifyUrl) + if err != nil { + logger.Error(errors.New("WebPay err")) + RespJson(c, status.InternalServerError, nil) + return + } + RespOK(c, webPay) + } else { + webPay, err := wxpay.HmJsPayUnifiedOrder(orderSn, totalFee, user.WxOpenID, configInfo.NotifyUrl) + if err != nil { + logger.Error(errors.New("WebPay err")) + RespJson(c, status.InternalServerError, nil) + return + } + RespOK(c, webPay) } - RespOK(c, webPay) + return } func UpgradeMember(c *gin.Context) { diff --git a/model/config.go b/model/config.go index d42b296..426bfbd 100644 --- a/model/config.go +++ b/model/config.go @@ -4,6 +4,7 @@ import ( "encoding/json" "errors" "github.com/codinl/go-logger" + "time" ) //go:generate goqueryset -in config.go @@ -34,6 +35,7 @@ const ( ConfigActivityRenewal = "activity_renewal_config" // 活动配置 ConfigRecycleCard = "recycle_card_config" // 回收卡配置 ConfigPostagePackageFee = "postage_package_fee_config" // 运费包费 + ConfigPaymentGenre = "payment_genre_config" // 支付方式 ) func PayConfigInfo() (*PayConfig, error) { @@ -278,6 +280,39 @@ func GetPostagePackageMemberDuration(level uint32) uint32 { return 0 } +const ( + PaymentGenreWx = 1 + PaymentGenreHm = 2 +) + +type PaymentGenreConfig struct { + Ahead uint32 `json:"ahead"` + PointDate uint32 `json:"point_date"` + Post uint32 `json:"post"` +} + +func GetPaymentGenre() (uint32, error) { + paymentGenreFeeConfig := PaymentGenreConfig{} + var configAllocation Config + err := NewConfigQuerySet(DB).NameEq(ConfigPaymentGenre).One(&configAllocation) + if err != nil { + logger.Error("err:", err) + return 0, err + } + + err = json.Unmarshal([]byte(configAllocation.Value), &paymentGenreFeeConfig) + if err != nil { + logger.Error("err:", err) + return 0, err + } + + if time.Now().Day() < int(paymentGenreFeeConfig.PointDate) { + return paymentGenreFeeConfig.Ahead, nil + } else { + return paymentGenreFeeConfig.Post, nil + } +} + //type ConfigInterface interface { // Encode() string //} diff --git a/model/config_test.go b/model/config_test.go index caa699b..c73dc8d 100644 --- a/model/config_test.go +++ b/model/config_test.go @@ -112,3 +112,17 @@ func ImportPromotionalSales() { //黄金会员 1500(开通)、3000(邀新) //白金会员 2000(开通)、4000(邀新) //黑金会员 3000(开通)、6000(邀新) + +func TestPaymentMethod(t *testing.T) { + config := &PaymentGenreConfig{ + Ahead: 1, + PointDate: 15, + Post: 2, + } + bytes, err := json.Marshal(config) + if err != nil { + fmt.Println("err:", err) + } + + fmt.Println("bytes:", string(bytes)) +} diff --git a/router/router_app.go b/router/router_app.go index 5770f7e..3604c8b 100644 --- a/router/router_app.go +++ b/router/router_app.go @@ -31,7 +31,9 @@ func ConfigAppRouter(r gin.IRouter) { // api.POST("step/config", controller.StepConfig) // 步数配置 // //api.POST("upload_user_info", controller.UploadUserInfo) // 上传用户信息 //api.POST("wxpay/notice", controller.PushWXPayNotice) // 微信推送支付通知 - api.GET("wxpay/notice", controller.HmPushWXPayNotice) // 微信推送支付通知 + // TODO两边都改 + api.GET("wxpay/notice", controller.HmPushWXPayNotice) // 河马推送支付通知 + api.POST("wxpay/notice", controller.PushWXPayNotice) // 微信推送支付通知 api.POST("wxpay_refund/notice", controller.PushWXPayRefundNotice) // 微信推送支付退款通知 api.POST("aliyun/sts_token", controller.AliyunStsTokenGet) // 阿里云上传图片token api.POST("auto_reply/focus", controller.AutoReplyFocusMsg) // 自动回复