Browse Source

fix:bug

master
黄梓健 5 years ago
parent
commit
ba179f6e33
  1. 15
      controllers/client/sign.go
  2. 32
      log/hdzj.log
  3. 2
      models/sign_history.go
  4. 26
      models/sign_up.go
  5. 82
      services/pay/bindata.go
  6. 6
      services/pay/client.go
  7. 114
      services/pay/loop.go
  8. 122
      services/pay/transfer.go
  9. 20
      utils/define/define.go

15
controllers/client/sign.go

@ -195,10 +195,17 @@ func (t *SignCtl) RealSign() {
} else if sign.RealSignJsonForm != nil && len(sign.RealSignJsonForm) != 0 {
var params = make(map[string]string, 0)
var extSql string
for _, name := range sign.RealSignJsonForm {
for _, v := range sign.RealSignJsonForm {
m, ok := v.(map[string]interface{})
if !ok {
continue
}
name, _ := m["name"].(string)
if value, ok := t.Get(name); ok {
params[value] = name
params[name] = value
extSql += "and json_list like \"%" + value + "%\" "
} else {
t.ERROR(fmt.Sprintf("%v不能为空", m["val"]), code.MSG_ERR_Param)
}
}
if len(extSql) == 0 || len(params) == 0 {
@ -212,6 +219,8 @@ func (t *SignCtl) RealSign() {
body, err = json.Marshal(params)
t.CheckErr(err)
history.SignRuleId = sign.Id
history.SignMethod = 2
history.ActivityId = activityId
history.UserId = userId
history.Nickname = user.Nickname
@ -236,7 +245,7 @@ func (t *SignCtl) RealSign() {
t.SUCCESS("实名签到成功")
return
} else {
t.ERROR("实名签到活动不存在", code.MSG_SIGN_REAL_NOT_EXIST)
t.ERROR("实名签到活动未上传名单", code.MSG_SIGN_REAL_NOT_EXIST)
return
}
}

32
log/hdzj.log

@ -440,3 +440,35 @@
2020-06-02 11:17:47.365 ERROR logger/logger.go:87 客户订单异常
2020-06-02 11:17:47.410 ERROR logger/logger.go:87 客户订单异常
2020-06-02 11:17:47.413 ERROR logger/logger.go:87 客户订单异常
2020-06-03 11:25:50.403 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-03 11:55:50.487 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-03 12:25:50.492 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-03 12:55:51.045 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-03 13:25:51.139 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-03 13:55:50.397 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-03 14:25:50.600 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-03 14:55:50.588 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-03 15:25:51.147 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-03 15:55:50.439 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-03 16:25:50.689 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-03 16:55:50.967 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-03 17:25:50.753 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-03 17:55:50.515 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-03 18:25:50.682 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ERROR</err_code><err_code_des>订单已全额退款</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-04 13:52:28.959 ERROR controllers/base.go:209 check err{error 25 0 sql: converting argument $8 type: unsupported type map[string]string, a map}
2020-06-04 13:52:30.042 ERROR controllers/base.go:209 check err{error 25 0 sql: converting argument $8 type: unsupported type map[string]string, a map}
2020-06-04 14:31:12.125 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ORDERNOTEXIST</err_code><err_code_des>订单不存在</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-04 15:01:11.765 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ORDERNOTEXIST</err_code><err_code_des>订单不存在</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-04 15:31:11.803 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ORDERNOTEXIST</err_code><err_code_des>订单不存在</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-04 16:01:11.724 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ORDERNOTEXIST</err_code><err_code_des>订单不存在</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-04 16:31:11.735 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ORDERNOTEXIST</err_code><err_code_des>订单不存在</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-04 16:54:33.883 ERROR controllers/base.go:209 check err{error 25 0 sql: converting argument $8 type: unsupported type map[string]string, a map}
2020-06-04 16:55:35.003 ERROR controllers/base.go:209 check err{error 25 0 sql: converting argument $8 type: unsupported type map[string]string, a map}
2020-06-04 17:26:24.788 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ORDERNOTEXIST</err_code><err_code_des>订单不存在</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-04 17:56:25.004 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ORDERNOTEXIST</err_code><err_code_des>订单不存在</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-04 18:26:24.956 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ORDERNOTEXIST</err_code><err_code_des>订单不存在</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-04 18:56:24.850 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ORDERNOTEXIST</err_code><err_code_des>订单不存在</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-04 19:26:24.938 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ORDERNOTEXIST</err_code><err_code_des>订单不存在</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-04 19:56:25.166 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ORDERNOTEXIST</err_code><err_code_des>订单不存在</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-04 20:26:26.117 ERROR utils/utils.go:155 定时任务错误原因欧轩互动打赏过期退款错误: <xml><result_code>FAIL</result_code><err_code>ORDERNOTEXIST</err_code><err_code_des>订单不存在</err_code_des></xml>, out_trade_no: FWH6rL0SZcDY5ensh9ge5iFXGlA7bsOw
2020-06-05 09:27:30.973 ERROR utils/utils.go:155 定时任务错误原因获取过期打赏错误原因: dial tcp: lookup gz-cdb-onvbcfqn.sql.tencentcdb.com: no such host

2
models/sign_history.go

@ -17,7 +17,7 @@ type SignHistory struct {
Type int `json:"type" xorm:"not null default 0 comment('普通签到') TINYINT(1)"`
UserId int64 `json:"user_id" xorm:"not null default 0 comment('用户表id') TINYINT(11)"`
SignMethod int `json:"sign_method" xorm:"not null default 0 comment('1扫码签到2实名签到3人脸签到') TINYINT(1)"`
Content string `json:"content" xorm:"not null comment('提交审核的内容') TEXT"`
Content string `json:"content" xorm:"json comment('提交审核的内容') TEXT"`
Nickname string `json:"nickname" xorm:"not null default('') comment('微信昵称') VARCHAR(128)"`
Status int64 `json:"status" xorm:"not null default 0 comment('是否通过审核[0未通过审核1申请审核2通过审核]') TINYINT(1)"`
IsDelete bool `json:"is_delete" xorm:"not null default(0) comment('删除') TINYINT(1)"`

26
models/sign_up.go

@ -8,19 +8,19 @@ import (
const SignUpTN = TableNamePrefix + "sign_up"
type SignUp struct {
Id int64 `json:"id" xorm:"not null pk autoincr INT(11)"`
ActivityId int64 `json:"activity_id" xorm:"not null default(0) comment('主活动id') INT(11)"`
Title string `json:"title"`
MaxModel string `json:"max_model"`
OnlyInvitation int `json:"only_invitation"`
LogoUrl string `json:"logo_url"`
RealSignJsonForm []string `json:"real_sign_json_form"`
RealSignJsonTitle string `json:"real_sign_json_title"`
SignMethod int `json:"sign_method"`
RealSignListPath string `json:"real_sign_list_path"`
IsDelete bool `json:"is_delete" xorm:"default(0)" description:"是否删除"`
CreatedAt time.Time `json:"created_at" xorm:"created" description:"创建时间"`
UpdatedAt time.Time `json:"updated_at" xorm:"updated" description:"更新时间"`
Id int64 `json:"id" xorm:"not null pk autoincr INT(11)"`
ActivityId int64 `json:"activity_id" xorm:"not null default(0) comment('主活动id') INT(11)"`
Title string `json:"title"`
MaxModel string `json:"max_model"`
OnlyInvitation int `json:"only_invitation"`
LogoUrl string `json:"logo_url"`
RealSignJsonForm []interface{} `json:"real_sign_json_form"`
RealSignJsonTitle string `json:"real_sign_json_title"`
SignMethod int `json:"sign_method"`
RealSignListPath string `json:"real_sign_list_path"`
IsDelete bool `json:"is_delete" xorm:"default(0)" description:"是否删除"`
CreatedAt time.Time `json:"created_at" xorm:"created" description:"创建时间"`
UpdatedAt time.Time `json:"updated_at" xorm:"updated" description:"更新时间"`
}
func (t *SignUp) TableName() string {

82
services/pay/bindata.go
File diff suppressed because it is too large
View File

6
services/pay/client.go

@ -12,15 +12,15 @@ import (
// 配置 client
func Client() (*core.Client, error) {
certP12, err := Asset("apiclient_cert.p12")
certP12, err := Asset("cacert/apiclient_cert.p12")
if err != nil {
return nil, err
}
certPem, err := Asset("apiclient_cert.pem")
certPem, err := Asset("cacert/apiclient_cert.pem")
if err != nil {
return nil, err
}
keyPem, err := Asset("apiclient_key.pem")
keyPem, err := Asset("cacert/apiclient_key.pem")
if err != nil {
return nil, err
}

114
services/pay/loop.go

@ -1,6 +1,7 @@
package pay_service
import (
"go.uber.org/zap"
"hudongzhuanjia/logger"
"hudongzhuanjia/models"
"hudongzhuanjia/utils/define"
@ -92,3 +93,116 @@ func HandleTimeout(order *models.UserOrder) error {
}
return nil
}
func init() {
//go loopTransfer()
}
var transferDelayQueue = make(chan *transferDelayQueueParam, math.MaxInt8)
type transferDelayQueueParam struct {
first bool // 首次跳过
Retries int `json:"retries"` // 尝试次数
Delay int `json:"delay"` // 延迟时间, 单位second
Amount int `json:"amount"` // 转账金额
Desc string `json:"desc"` // 转账描述
OpenId string `json:"open_id"` // 被转账人
PartnerTradeNo string `json:"partner_trade_no"` // 转账账单单号
}
func loopTransfer() {
//初始化
transfers, err := models.GetUserTransferByStatus(0, 1, 3)
if err != nil {
panic(err)
}
transferDelayQueue = make(chan *transferDelayQueueParam, math.MaxInt8)
for _, transfer := range transfers {
transferDelayQueue <- &transferDelayQueueParam{
first: true,
Retries: 5,
Delay: 2 * 60,
Amount: transfer.PaymentAmount,
Desc: transfer.Desc,
OpenId: transfer.OpenId,
PartnerTradeNo: transfer.PartnerTradeNo,
}
}
defer func() {
if errRec := recover(); errRec != nil {
logger.Error("转账轮询 loop transfer panic", zap.Any("错误原因", errRec))
}
loopTransfer()
}()
for {
select {
case param, ok := <-transferDelayQueue:
if !ok {
panic("转账延迟通道异常关闭")
}
// 尝试次数
if param.Retries <= 0 {
logger.Info("微信转账尝试3次失败", zap.String("转账账单单号", param.PartnerTradeNo))
userTransfer := new(models.UserTransfer)
userTransfer.Status = 4
_, err = userTransfer.UpdateByPartnerTradeNo(param.PartnerTradeNo)
if err != nil {
logger.Info("微信转账更新状态失败", zap.String("失败原因", err.Error()),
zap.String("转账账单单号", param.PartnerTradeNo))
}
continue
} else {
param.Retries--
}
if !param.first {
time.Sleep(time.Duration(param.Delay) * time.Second)
}
param.first = false
res, err := TransferInfo(param.PartnerTradeNo)
if err != nil {
logger.Error("微信转账查询出现的错误", zap.String("错误原因", err.Error()),
zap.String("转账账单", param.PartnerTradeNo))
transferDelayQueue <- param
continue
}
if res.Status == define.CODE_SUCCESS {
continue
} else if res.Status == define.CODE_TRANSFER_PROCESSING {
transferDelayQueue <- param
continue
} else {
//失败 --> 重新转账
_, err = Transfer(param.Desc, param.OpenId, param.PartnerTradeNo, param.Amount)
if err != nil {
logger.Error("微信转账出现的错误", zap.String("错误原因", err.Error()),
zap.String("转账账单", param.PartnerTradeNo))
}
transferDelayQueue <- param // 重新确认
continue
}
}
}
}
func PutTransferDelayQueue(desc, openId, partnerTradeNo string, amount, retries, delay int) {
if retries <= 0 {
retries = 3
}
if delay == 0 {
delay = 30
}
transferDelayQueue <- &transferDelayQueueParam{
first: true,
Retries: retries,
Delay: delay,
Amount: amount,
Desc: desc,
OpenId: openId,
PartnerTradeNo: partnerTradeNo,
}
}

122
services/pay/transfer.go

@ -4,111 +4,13 @@ import (
"fmt"
"github.com/chanxuehong/wechat/mch/mmpaymkttransfers"
"github.com/chanxuehong/wechat/mch/mmpaymkttransfers/promotion"
"go.uber.org/zap"
"hudongzhuanjia/logger"
"hudongzhuanjia/models"
"hudongzhuanjia/utils"
"hudongzhuanjia/utils/define"
"math"
"strconv"
"time"
)
func init() {
//go loopTransfer()
}
var transferDelayQueue = make(chan *transferDelayQueueParam, math.MaxInt8)
type transferDelayQueueParam struct {
first bool // 首次跳过
Retries int `json:"retries"` // 尝试次数
Delay int `json:"delay"` // 延迟时间, 单位second
Amount int `json:"amount"` // 转账金额
Desc string `json:"desc"` // 转账描述
OpenId string `json:"open_id"` // 被转账人
PartnerTradeNo string `json:"partner_trade_no"` // 转账账单单号
}
func loopTransfer() {
//初始化
transfers, err := models.GetUserTransferByStatus(0, 1, 3)
if err != nil {
panic(err)
}
transferDelayQueue = make(chan *transferDelayQueueParam, math.MaxInt8)
for _, transfer := range transfers {
transferDelayQueue <- &transferDelayQueueParam{
first: true,
Retries: 5,
Delay: 2 * 60,
Amount: transfer.PaymentAmount,
Desc: transfer.Desc,
OpenId: transfer.OpenId,
PartnerTradeNo: transfer.PartnerTradeNo,
}
}
defer func() {
if errRec := recover(); errRec != nil {
logger.Error("转账轮询 loop transfer panic", zap.Any("错误原因", errRec))
}
loopTransfer()
}()
for {
select {
case param, ok := <-transferDelayQueue:
if !ok {
panic("转账延迟通道异常关闭")
}
// 尝试次数
if param.Retries <= 0 {
logger.Info("微信转账尝试3次失败", zap.String("转账账单单号", param.PartnerTradeNo))
userTransfer := new(models.UserTransfer)
userTransfer.Status = 4
_, err = userTransfer.UpdateByPartnerTradeNo(param.PartnerTradeNo)
if err != nil {
logger.Info("微信转账更新状态失败", zap.String("失败原因", err.Error()),
zap.String("转账账单单号", param.PartnerTradeNo))
}
continue
} else {
param.Retries--
}
if !param.first {
time.Sleep(time.Duration(param.Delay) * time.Second)
}
param.first = false
res, err := TransferInfo(param.PartnerTradeNo)
if err != nil {
logger.Error("微信转账查询出现的错误", zap.String("错误原因", err.Error()),
zap.String("转账账单", param.PartnerTradeNo))
transferDelayQueue <- param
continue
}
if res.Status == define.CODE_SUCCESS {
continue
} else if res.Status == define.CODE_TRANSFER_PROCESSING {
transferDelayQueue <- param
continue
} else {
//失败 --> 重新转账
_, err = Transfer(param.Desc, param.OpenId, param.PartnerTradeNo, param.Amount)
if err != nil {
logger.Error("微信转账出现的错误", zap.String("错误原因", err.Error()),
zap.String("转账账单", param.PartnerTradeNo))
}
transferDelayQueue <- param // 重新确认
continue
}
}
}
}
// 企业向微信用户个人付款(不支持沙箱环境)
type TransferResponse struct {
DeviceInfo string `xml:"device_info,omitempty" json:"device_info,omitempty"`
@ -118,24 +20,6 @@ type TransferResponse struct {
PaymentTime string `xml:"payment_time,omitempty" json:"payment_time,omitempty"`
}
func PutTransferDelayQueue(desc, openId, partnerTradeNo string, amount, retries, delay int) {
if retries <= 0 {
retries = 3
}
if delay == 0 {
delay = 30
}
transferDelayQueue <- &transferDelayQueueParam{
first: true,
Retries: retries,
Delay: delay,
Amount: amount,
Desc: desc,
OpenId: openId,
PartnerTradeNo: partnerTradeNo,
}
}
func Transfer(desc, openId, partnerTradeNo string, amount int) (*TransferResponse, error) {
client, err := Client()
if err != nil {
@ -280,9 +164,9 @@ func SendRedPack(sendName, openId, wishing, actName, remark string, totalAmount,
body := make(map[string]string, 0)
body["mch_id"] = client.MchId()
body["sub_mch_id"] = client.SubMchId()
//body["sub_mch_id"] = client.SubMchId()
body["wxappid"] = client.AppId()
body["msgappid"] = define.WxAppId
//body["msgappid"] = define.WxAppId
body["nonce_str"] = nonceStr
body["mch_billno"] = mchBillNo
body["send_name"] = sendName
@ -293,7 +177,7 @@ func SendRedPack(sendName, openId, wishing, actName, remark string, totalAmount,
body["client_ip"] = define.ClientIp
body["act_name"] = actName
body["remark"] = remark
//body["scene_id"] = fmt.Sprintf("PRODUCT_%d", scene)
body["scene_id"] = fmt.Sprintf("PRODUCT_%d", scene)
m, err := mmpaymkttransfers.SendRedPack(client, body)
if err != nil {

20
utils/define/define.go

@ -90,21 +90,21 @@ var DefaultOrderNo = 10000000000
// 微信常量
const (
// 欧轩互动 -> 普通商户
//ApiKey = `2c82c64ceec6ba89ffc9f593c671a12f`
WxAppId = `wx7b0bcf476552c5e9`
Secret = `f6aabdd40ea25272f4442603a7dc8028`
//AppId = `wx7b0bcf476552c5e9`
//MchId = `1394404502`
//SubMchId = ``
ApiKey = `2c82c64ceec6ba89ffc9f593c671a12f`
WxAppId = `wx7b0bcf476552c5e9`
Secret = `f6aabdd40ea25272f4442603a7dc8028`
AppId = `wx7b0bcf476552c5e9`
MchId = `1394404502`
SubMchId = ``
// 欧轩 -> 服务商
ApiKey = `6e281c8b5430c674034594cab789334F`
AppId = `wx662a1633304bfd42`
//ApiKey = `6e281c8b5430c674034594cab789334F`
//AppId = `wx662a1633304bfd42`
//WxAppId = `wx662a1633304bfd42`
//Secret = `7e4ecfe06ad1e075c210059d5b0162a3`
MchId = `1441266702`
//MchId = `1441266702`
//SubMchId = `1394404502`
SubMchId = `1594049151`
//SubMchId = `1594049151`
// 认证服务号:欧轩(用于申请微信服务商)
// AppID:wx662a1633304bfd42
// 密钥:7e4ecfe06ad1e075c210059d5b0162a3

Loading…
Cancel
Save