mirror of
https://github.com/kongyuebin1/dongfeng-pay.git
synced 2024-11-22 18:29:25 +08:00
修复商户后台的bugs,可正常运行
This commit is contained in:
parent
5c43b3108a
commit
ba02a72f55
@ -1,25 +0,0 @@
|
|||||||
/***************************************************
|
|
||||||
** @Desc : This file for ...
|
|
||||||
** @Time : 2019/11/6 11:37
|
|
||||||
** @Author : yuebin
|
|
||||||
** @File : mq_config
|
|
||||||
** @Last Modified by : yuebin
|
|
||||||
** @Last Modified time: 2019/11/6 11:37
|
|
||||||
** @Software: GoLand
|
|
||||||
****************************************************/
|
|
||||||
package common
|
|
||||||
|
|
||||||
import "net"
|
|
||||||
|
|
||||||
const (
|
|
||||||
mqHost = "127.0.0.1"
|
|
||||||
mqPort = "61613"
|
|
||||||
|
|
||||||
MqOrderQuery = "order_query"
|
|
||||||
MQ_PAYFOR_QUERY = "payfor_query"
|
|
||||||
MqOrderNotify = "order_notify"
|
|
||||||
)
|
|
||||||
|
|
||||||
func GetMQAddress() string {
|
|
||||||
return net.JoinHostPort(mqHost, mqPort)
|
|
||||||
}
|
|
@ -15,3 +15,10 @@ filepath= ./logs/jhmerchant.log
|
|||||||
separate="["emergency","alert","critical","error","warning","notice","info","debug"]"
|
separate="["emergency","alert","critical","error","warning","notice","info","debug"]"
|
||||||
#日志保存最大天数
|
#日志保存最大天数
|
||||||
maxdays=10
|
maxdays=10
|
||||||
|
|
||||||
|
[mysql]
|
||||||
|
dbhost = localhost
|
||||||
|
dbport = 3306
|
||||||
|
dbuser = root
|
||||||
|
dbpasswd = Kyb^15273031604
|
||||||
|
dbbase = juhe_pay
|
@ -1,18 +0,0 @@
|
|||||||
/***************************************************
|
|
||||||
** @Desc : This file for ...
|
|
||||||
** @Time : 2019/10/26 15:30
|
|
||||||
** @Author : yuebin
|
|
||||||
** @File : conf_pro
|
|
||||||
** @Last Modified by : yuebin
|
|
||||||
** @Last Modified time: 2019/10/26 15:30
|
|
||||||
** @Software: GoLand
|
|
||||||
****************************************************/
|
|
||||||
package conf
|
|
||||||
|
|
||||||
const (
|
|
||||||
DB_HOST = "localhost"
|
|
||||||
DB_PORT = "3306"
|
|
||||||
DB_USER = "root"
|
|
||||||
DB_PASSWORD = "Kyb^15273031604"
|
|
||||||
DB_BASE = "juhe_pay"
|
|
||||||
)
|
|
@ -28,7 +28,7 @@ func (c *History) ShowHistoryListUI() {
|
|||||||
ranMd5 := encrypt.EncodeMd5([]byte(pubMethod.RandomString(46)))
|
ranMd5 := encrypt.EncodeMd5([]byte(pubMethod.RandomString(46)))
|
||||||
c.Ctx.SetCookie(enum.UserCookie, ranMd5, enum.CookieExpireTime)
|
c.Ctx.SetCookie(enum.UserCookie, ranMd5, enum.CookieExpireTime)
|
||||||
c.Ctx.SetSecureCookie(ranMd5, enum.UserCookie, ranMd5, enum.CookieExpireTime)
|
c.Ctx.SetSecureCookie(ranMd5, enum.UserCookie, ranMd5, enum.CookieExpireTime)
|
||||||
c.SetSession(enum.UserCookie, ranMd5)
|
_ = c.SetSession(enum.UserCookie, ranMd5)
|
||||||
|
|
||||||
c.Data["payType"] = enum.GetHistoryStatus()
|
c.Data["payType"] = enum.GetHistoryStatus()
|
||||||
c.Data["userName"] = u.MerchantName
|
c.Data["userName"] = u.MerchantName
|
||||||
|
@ -98,7 +98,7 @@ func (c *Login) UserLogin() {
|
|||||||
|
|
||||||
stopRun:
|
stopRun:
|
||||||
c.Data["json"] = pubMethod.JsonFormat(flag, "", msg, url)
|
c.Data["json"] = pubMethod.JsonFormat(flag, "", msg, url)
|
||||||
c.ServeJSON()
|
_ = c.ServeJSON()
|
||||||
c.StopRun()
|
c.StopRun()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,15 +6,14 @@ import (
|
|||||||
_ "merchant/models"
|
_ "merchant/models"
|
||||||
_ "merchant/routers"
|
_ "merchant/routers"
|
||||||
"merchant/sys"
|
"merchant/sys"
|
||||||
|
"merchant/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
|
||||||
// 初始化数据库
|
|
||||||
|
|
||||||
// 初始化Session
|
// 初始化Session
|
||||||
sys.InitSession()
|
sys.InitSession()
|
||||||
|
utils.InitLogs()
|
||||||
// 如果是开发模式,则显示命令信息
|
// 如果是开发模式,则显示命令信息
|
||||||
s, _ := beego.AppConfig.String("runmode")
|
s, _ := beego.AppConfig.String("runmode")
|
||||||
isDev := !(s != "dev")
|
isDev := !(s != "dev")
|
||||||
|
@ -13,22 +13,22 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"github.com/beego/beego/v2/adapter/orm"
|
"github.com/beego/beego/v2/adapter/orm"
|
||||||
"github.com/beego/beego/v2/core/logs"
|
"github.com/beego/beego/v2/core/logs"
|
||||||
"merchant/conf"
|
"github.com/beego/beego/v2/server/web"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Init() {
|
func init() {
|
||||||
dbHost := conf.DB_HOST
|
dbHost, _ := web.AppConfig.String("mysql::dbhost")
|
||||||
dbUser := conf.DB_USER
|
dbUser, _ := web.AppConfig.String("mysql::dbuser")
|
||||||
dbPassword := conf.DB_PASSWORD
|
dbPassword, _ := web.AppConfig.String("mysql::dbpasswd")
|
||||||
dbBase := conf.DB_BASE
|
dbBase, _ := web.AppConfig.String("mysql::dbbase")
|
||||||
dbPort := conf.DB_PORT
|
dbPort, _ := web.AppConfig.String("mysql::dbport")
|
||||||
|
|
||||||
link := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8", dbUser, dbPassword, dbHost, dbPort, dbBase)
|
link := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8", dbUser, dbPassword, dbHost, dbPort, dbBase)
|
||||||
|
|
||||||
logs.Info("mysql init.....", link)
|
logs.Info("mysql init.....", link)
|
||||||
|
|
||||||
orm.RegisterDriver("mysql", orm.DRMySQL)
|
_ = orm.RegisterDriver("mysql", orm.DRMySQL)
|
||||||
orm.RegisterDataBase("default", "mysql", link, 30, 30)
|
_ = orm.RegisterDataBase("default", "mysql", link, 30, 30)
|
||||||
orm.RegisterModel(new(UserInfo), new(MenuInfo), new(SecondMenuInfo),
|
orm.RegisterModel(new(UserInfo), new(MenuInfo), new(SecondMenuInfo),
|
||||||
new(PowerInfo), new(RoleInfo), new(BankCardInfo), new(RoadInfo),
|
new(PowerInfo), new(RoleInfo), new(BankCardInfo), new(RoadInfo),
|
||||||
new(RoadPoolInfo), new(AgentInfo), new(MerchantInfo), new(MerchantDeployInfo),
|
new(RoadPoolInfo), new(AgentInfo), new(MerchantInfo), new(MerchantDeployInfo),
|
||||||
|
@ -1,90 +0,0 @@
|
|||||||
/***************************************************
|
|
||||||
** @Desc : This file for ...
|
|
||||||
** @Time : 2019/10/19 14:17
|
|
||||||
** @Author : yuebin
|
|
||||||
** @File : transaction
|
|
||||||
** @Last Modified by : yuebin
|
|
||||||
** @Last Modified time: 2019/10/19 14:17
|
|
||||||
** @Software: GoLand
|
|
||||||
****************************************************/
|
|
||||||
package models
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/beego/beego/v2/adapter/orm"
|
|
||||||
"github.com/beego/beego/v2/core/logs"
|
|
||||||
"merchant/common"
|
|
||||||
"merchant/utils"
|
|
||||||
)
|
|
||||||
|
|
||||||
func OperatorAccount(accountUid, operatorType string, amount float64) (string, bool) {
|
|
||||||
o := orm.NewOrm()
|
|
||||||
o.Begin()
|
|
||||||
|
|
||||||
defer func(interface{}) {
|
|
||||||
if r := recover(); r != nil {
|
|
||||||
o.Rollback()
|
|
||||||
logs.Error("operator account fail")
|
|
||||||
}
|
|
||||||
}(o)
|
|
||||||
|
|
||||||
msg := ""
|
|
||||||
//处理事务
|
|
||||||
accountInfo := new(AccountInfo)
|
|
||||||
if err := o.Raw("select * from account_info where account_uid = ? for update", accountUid).QueryRow(accountInfo); err != nil || accountInfo.AccountUid == "" {
|
|
||||||
logs.Error("operator account get account info for update fail: ", err)
|
|
||||||
o.Rollback()
|
|
||||||
return msg, false
|
|
||||||
}
|
|
||||||
|
|
||||||
accountInfo.UpdateTime = utils.GetBasicDateTime()
|
|
||||||
flag := true
|
|
||||||
|
|
||||||
switch operatorType {
|
|
||||||
case common.PLUS_AMOUNT: //处理加款操作
|
|
||||||
accountInfo.Balance = accountInfo.Balance + amount
|
|
||||||
accountInfo.SettleAmount = accountInfo.SettleAmount + amount
|
|
||||||
case common.SUB_AMOUNT: //处理减款
|
|
||||||
if accountInfo.Balance >= amount && accountInfo.SettleAmount >= amount {
|
|
||||||
accountInfo.Balance = accountInfo.Balance - amount
|
|
||||||
accountInfo.SettleAmount = accountInfo.SettleAmount - amount
|
|
||||||
} else {
|
|
||||||
msg = "账户余额不够减"
|
|
||||||
flag = false
|
|
||||||
}
|
|
||||||
case common.FREEZE_AMOUNT: //处理冻结款
|
|
||||||
accountInfo.FreezeAmount = accountInfo.FreezeAmount + amount
|
|
||||||
case common.UNFREEZE_AMOUNT: //处理解冻款
|
|
||||||
if accountInfo.FreezeAmount >= amount {
|
|
||||||
accountInfo.FreezeAmount = accountInfo.FreezeAmount - amount
|
|
||||||
} else {
|
|
||||||
msg = "账户冻结金额不够解冻款"
|
|
||||||
flag = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if !flag {
|
|
||||||
o.Rollback()
|
|
||||||
return msg, false
|
|
||||||
}
|
|
||||||
|
|
||||||
if _, err := o.Update(accountInfo); err != nil {
|
|
||||||
logs.Error("operator account update account fail: ", err)
|
|
||||||
o.Rollback()
|
|
||||||
return msg, false
|
|
||||||
}
|
|
||||||
//往account_history表中插入一条动账记录
|
|
||||||
accountHistory := AccountHistoryInfo{AccountUid: accountUid, AccountName: accountInfo.AccountName, Type: operatorType,
|
|
||||||
Amount: amount, Balance: accountInfo.Balance, CreateTime: utils.GetBasicDateTime(), UpdateTime: utils.GetBasicDateTime()}
|
|
||||||
|
|
||||||
if _, err := o.Insert(&accountHistory); err != nil {
|
|
||||||
logs.Error("operator account insert account history fail: ", err)
|
|
||||||
o.Rollback()
|
|
||||||
return msg, false
|
|
||||||
}
|
|
||||||
if err := o.Commit(); err != nil {
|
|
||||||
logs.Error("operator account commit fail: ", err)
|
|
||||||
return msg, false
|
|
||||||
} else {
|
|
||||||
logs.Info("操作账户成功")
|
|
||||||
return "", true
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user