mirror of
https://github.com/kongyuebin1/dongfeng-pay.git
synced 2024-12-26 03:52:24 +08:00
593 lines
16 KiB
Go
593 lines
16 KiB
Go
/***************************************************
|
||
** @Desc : c file for ...
|
||
** @Time : 2019/8/16 9:49
|
||
** @Author : yuebin
|
||
** @File : update
|
||
** @Last Modified by : yuebin
|
||
** @Last Modified time: 2019/8/16 9:49
|
||
** @Software: GoLand
|
||
****************************************************/
|
||
package controllers
|
||
|
||
import (
|
||
"fmt"
|
||
"github.com/astaxie/beego/logs"
|
||
"github.com/astaxie/beego/validation"
|
||
"dongfeng-pay/service/common"
|
||
"dongfeng-pay/service/controller"
|
||
"dongfeng-pay/service/models"
|
||
"dongfeng-pay/service/utils"
|
||
"strconv"
|
||
"strings"
|
||
)
|
||
|
||
type UpdateController struct {
|
||
BaseController
|
||
}
|
||
|
||
/*
|
||
*更新密码
|
||
*/
|
||
func (c *UpdateController) UpdatePassword() {
|
||
oldPassword := c.GetString("oldPassword")
|
||
newPassword := c.GetString("newPassword")
|
||
twicePassword := c.GetString("twicePassword")
|
||
|
||
userID, ok := c.GetSession("userID").(string)
|
||
|
||
dataJSON := new(KeyDataJSON)
|
||
dataJSON.Code = -1
|
||
if !ok || userID == "" {
|
||
dataJSON.Code = 404
|
||
dataJSON.Msg = "请重新登录!"
|
||
} else {
|
||
userInfo := models.GetUserInfoByUserID(userID)
|
||
valid := validation.Validation{}
|
||
if userInfo.Passwd != utils.GetMD5Upper(oldPassword) {
|
||
dataJSON.Key = ".old-error"
|
||
dataJSON.Msg = "输入密码不正确"
|
||
} else if v := valid.Min(len(newPassword), 8, ".new-error"); !v.Ok {
|
||
dataJSON.Key = v.Error.Key
|
||
dataJSON.Msg = "新密码长度必须大于等于8个字符!"
|
||
} else if v := valid.Max(len(newPassword), 16, ".new-error"); !v.Ok {
|
||
dataJSON.Key = v.Error.Key
|
||
dataJSON.Msg = "新密码长度不能大于16个字符!"
|
||
} else if v := valid.AlphaNumeric(newPassword, ".new-error"); !v.Ok {
|
||
dataJSON.Key = v.Error.Key
|
||
dataJSON.Msg = "新密码必须有数字和字母组成!"
|
||
} else if newPassword != twicePassword {
|
||
dataJSON.Key = ".twice-error"
|
||
dataJSON.Msg = "两次密码不一致!"
|
||
} else {
|
||
dataJSON.Code = 200
|
||
dataJSON.Msg = "密码修改成功!"
|
||
//删除原先的session状态
|
||
c.DelSession("userID")
|
||
//更新数据库的密码
|
||
userInfo.Passwd = utils.GetMD5Upper(newPassword)
|
||
models.UpdateUserInfoPassword(userInfo)
|
||
}
|
||
}
|
||
c.GenerateJSON(dataJSON)
|
||
}
|
||
|
||
/*
|
||
* 更新菜单的排列顺序
|
||
*/
|
||
func (c *UpdateController) UpMenu() {
|
||
menuUid := c.GetString("menuUid")
|
||
menuInfo := models.GetMenuInfoByMenuUid(menuUid)
|
||
dataJSON := new(BaseDataJSON)
|
||
if menuInfo.MenuUid == "" {
|
||
dataJSON.Msg = "更改排列顺序失败"
|
||
dataJSON.Code = -1
|
||
} else {
|
||
exist := models.MenuOrderIsExists(menuInfo.MenuOrder - 1)
|
||
if !exist {
|
||
dataJSON.Msg = "已经是最高的顺序"
|
||
dataJSON.Code = -1
|
||
} else {
|
||
//如果他前面有菜单,那么交换他们的menuOrder
|
||
preMenuInfo := models.GetMenuInfoByMenuOrder(menuInfo.MenuOrder - 1)
|
||
menuInfo.MenuOrder = menuInfo.MenuOrder - 1
|
||
preMenuInfo.MenuOrder = preMenuInfo.MenuOrder + 1
|
||
preMenuInfo.UpdateTime = utils.GetBasicDateTime()
|
||
menuInfo.UpdateTime = utils.GetBasicDateTime()
|
||
//更新菜单表
|
||
models.UpdateMenuInfo(preMenuInfo)
|
||
models.UpdateMenuInfo(menuInfo)
|
||
//更新二级菜单表
|
||
SortSecondMenuOrder(preMenuInfo)
|
||
SortSecondMenuOrder(menuInfo)
|
||
dataJSON.Code = 200
|
||
}
|
||
}
|
||
c.GenerateJSON(dataJSON)
|
||
}
|
||
func (c *UpdateController) DownMenu() {
|
||
menuUid := c.GetString("menuUid")
|
||
menuInfo := models.GetMenuInfoByMenuUid(menuUid)
|
||
dataJSON := new(BaseDataJSON)
|
||
if menuInfo.MenuUid == "" {
|
||
dataJSON.Msg = "更改排列顺序失败"
|
||
dataJSON.Code = -1
|
||
} else {
|
||
exist := models.MenuOrderIsExists(menuInfo.MenuOrder + 1)
|
||
if !exist {
|
||
dataJSON.Msg = "已经是最高的顺序"
|
||
dataJSON.Code = -1
|
||
} else {
|
||
//如果他前面有菜单,那么交换他们的menuOrder
|
||
lastMenuInfo := models.GetMenuInfoByMenuOrder(menuInfo.MenuOrder + 1)
|
||
menuInfo.MenuOrder = menuInfo.MenuOrder + 1
|
||
lastMenuInfo.MenuOrder = lastMenuInfo.MenuOrder - 1
|
||
lastMenuInfo.UpdateTime = utils.GetBasicDateTime()
|
||
menuInfo.UpdateTime = utils.GetBasicDateTime()
|
||
//更新菜单表
|
||
models.UpdateMenuInfo(lastMenuInfo)
|
||
models.UpdateMenuInfo(menuInfo)
|
||
//更新二级菜单表
|
||
SortSecondMenuOrder(lastMenuInfo)
|
||
SortSecondMenuOrder(menuInfo)
|
||
dataJSON.Code = 200
|
||
}
|
||
}
|
||
c.GenerateJSON(dataJSON)
|
||
}
|
||
|
||
/*
|
||
* 提升二级菜单的顺序号
|
||
*/
|
||
func (c *UpdateController) UpSecondMenu() {
|
||
secondMenuUid := c.GetString("secondMenuUid")
|
||
secondMenuInfo := models.GetSecondMenuInfoBySecondMenuUid(secondMenuUid)
|
||
dataJSON := new(BaseDataJSON)
|
||
if secondMenuInfo.MenuOrder == 1 {
|
||
dataJSON.Code = -1
|
||
} else {
|
||
preSecondMenuInfo := models.GetSecondMenuInfoByMenuOrder(secondMenuInfo.MenuOrder-1, secondMenuInfo.FirstMenuUid)
|
||
preSecondMenuInfo.MenuOrder = preSecondMenuInfo.MenuOrder + 1
|
||
preSecondMenuInfo.UpdateTime = utils.GetBasicDateTime()
|
||
secondMenuInfo.MenuOrder = secondMenuInfo.MenuOrder - 1
|
||
secondMenuInfo.UpdateTime = utils.GetBasicDateTime()
|
||
//更新二级菜单项
|
||
models.UpdateSecondMenu(preSecondMenuInfo)
|
||
models.UpdateSecondMenu(secondMenuInfo)
|
||
|
||
dataJSON.Code = 200
|
||
}
|
||
c.GenerateJSON(dataJSON)
|
||
}
|
||
|
||
/*
|
||
* 降低二级菜单的顺序号
|
||
*/
|
||
func (c *UpdateController) DownSecondMenu() {
|
||
secondMenuUid := c.GetString("secondMenuUid")
|
||
secondMenuInfo := models.GetSecondMenuInfoBySecondMenuUid(secondMenuUid)
|
||
|
||
dataJSON := new(BaseDataJSON)
|
||
|
||
l := models.GetSecondMenuLenByFirstMenuUid(secondMenuInfo.FirstMenuUid)
|
||
if l == secondMenuInfo.MenuOrder {
|
||
dataJSON.Code = -1
|
||
} else {
|
||
lastSecondMenu := models.GetSecondMenuInfoByMenuOrder(secondMenuInfo.MenuOrder+1, secondMenuInfo.FirstMenuUid)
|
||
lastSecondMenu.MenuOrder = lastSecondMenu.MenuOrder - 1
|
||
lastSecondMenu.UpdateTime = utils.GetBasicDateTime()
|
||
|
||
secondMenuInfo.MenuOrder = secondMenuInfo.MenuOrder + 1
|
||
secondMenuInfo.UpdateTime = utils.GetBasicDateTime()
|
||
|
||
models.UpdateSecondMenu(lastSecondMenu)
|
||
models.UpdateSecondMenu(secondMenuInfo)
|
||
|
||
dataJSON.Code = 200
|
||
}
|
||
c.GenerateJSON(dataJSON)
|
||
}
|
||
|
||
func (c *UpdateController) FreezeOperator() {
|
||
userId := strings.TrimSpace(c.GetString("operatorName"))
|
||
|
||
dataJSON := new(BaseDataJSON)
|
||
|
||
if models.UpdateStauts("unactive", userId) {
|
||
dataJSON.Code = 200
|
||
dataJSON.Msg = "冻结成功"
|
||
} else {
|
||
dataJSON.Code = -1
|
||
dataJSON.Msg = "冻结失败"
|
||
}
|
||
|
||
c.GenerateJSON(dataJSON)
|
||
}
|
||
|
||
func (c *UpdateController) UnfreezeOperator() {
|
||
userId := strings.TrimSpace(c.GetString("operatorName"))
|
||
|
||
dataJSON := new(BaseDataJSON)
|
||
|
||
if models.UpdateStauts("active", userId) {
|
||
dataJSON.Code = 200
|
||
dataJSON.Msg = "解冻成功"
|
||
} else {
|
||
dataJSON.Code = -1
|
||
dataJSON.Msg = "解冻失败"
|
||
}
|
||
c.GenerateJSON(dataJSON)
|
||
}
|
||
|
||
func (c *UpdateController) EditOperator() {
|
||
userId := strings.TrimSpace(c.GetString("userId"))
|
||
password := strings.TrimSpace(c.GetString("password"))
|
||
changePassword := strings.TrimSpace(c.GetString("changePassword"))
|
||
role := strings.TrimSpace(c.GetString("role"))
|
||
nick := strings.TrimSpace(c.GetString("nick"))
|
||
remark := strings.TrimSpace(c.GetString("remark"))
|
||
|
||
keyDataJSON := new(KeyDataJSON)
|
||
|
||
if (len(password) > 0 || len(changePassword) > 0) && password != changePassword {
|
||
keyDataJSON.Code = -1
|
||
keyDataJSON.Key = ".veritfy-operator-password-error"
|
||
keyDataJSON.Msg = "*2次密码输入不一致"
|
||
c.GenerateJSON(keyDataJSON)
|
||
}
|
||
|
||
if role == "" || role == "none" {
|
||
keyDataJSON.Code = -1
|
||
keyDataJSON.Key = ".change-operator-role-error"
|
||
keyDataJSON.Msg = "*角色不能为空"
|
||
c.GenerateJSON(keyDataJSON)
|
||
}
|
||
|
||
userInfo := models.GetUserInfoByUserID(userId)
|
||
if userInfo.UserId == "" {
|
||
keyDataJSON.Code = -2
|
||
keyDataJSON.Msg = "该用户不存在"
|
||
} else {
|
||
userInfo.UpdateTime = utils.GetBasicDateTime()
|
||
userInfo.Remark = remark
|
||
roleInfo := models.GetRoleByRoleUid(role)
|
||
userInfo.RoleName = roleInfo.RoleName
|
||
userInfo.Role = role
|
||
if len(password) > 0 && len(changePassword) > 0 && password == changePassword {
|
||
userInfo.Passwd = utils.GetMD5Upper(password)
|
||
}
|
||
userInfo.Nick = nick
|
||
models.UpdateUserInfo(userInfo)
|
||
keyDataJSON.Code = 200
|
||
}
|
||
|
||
c.GenerateJSON(keyDataJSON)
|
||
}
|
||
|
||
/*
|
||
* 更新通道的状态
|
||
*/
|
||
func (c *UpdateController) UpdateRoadStatus() {
|
||
roadUid := strings.TrimSpace(c.GetString("roadUid"))
|
||
|
||
dataJSON := new(BaseDataJSON)
|
||
dataJSON.Code = 200
|
||
|
||
roadInfo := models.GetRoadInfoByRoadUid(roadUid)
|
||
if roadInfo.Status == "active" {
|
||
roadInfo.Status = "unactive"
|
||
} else {
|
||
roadInfo.Status = "active"
|
||
}
|
||
if models.UpdateRoadInfo(roadInfo) {
|
||
dataJSON.Code = 200
|
||
} else {
|
||
dataJSON.Code = -1
|
||
}
|
||
c.GenerateJSON(dataJSON)
|
||
}
|
||
|
||
/*
|
||
* 冻结商户
|
||
*/
|
||
func (c *UpdateController) UpdateMerchantStatus() {
|
||
merchantUid := strings.TrimSpace(c.GetString("merchantUid"))
|
||
keyDataJSON := new(KeyDataJSON)
|
||
if merchantUid == "" {
|
||
keyDataJSON.Code = -1
|
||
c.GenerateJSON(keyDataJSON)
|
||
return
|
||
}
|
||
|
||
merchantInfo := models.GetMerchantByUid(merchantUid)
|
||
|
||
if merchantInfo.MerchantUid == "" {
|
||
keyDataJSON.Code = -1
|
||
c.GenerateJSON(keyDataJSON)
|
||
return
|
||
}
|
||
|
||
if merchantInfo.Status == "active" {
|
||
merchantInfo.Status = "unactive"
|
||
} else {
|
||
merchantInfo.Status = "active"
|
||
}
|
||
merchantInfo.UpdateTime = utils.GetBasicDateTime()
|
||
|
||
if models.UpdateMerchant(merchantInfo) {
|
||
keyDataJSON.Code = 200
|
||
} else {
|
||
keyDataJSON.Code = -1
|
||
}
|
||
c.GenerateJSON(keyDataJSON)
|
||
}
|
||
|
||
/*
|
||
* 更新账户的状态
|
||
*/
|
||
func (c *UpdateController) UpdateAccountStatus() {
|
||
accountUid := strings.TrimSpace(c.GetString("accountUid"))
|
||
|
||
accountInfo := models.GetAccountByUid(accountUid)
|
||
if accountInfo.Status == "active" {
|
||
accountInfo.Status = "unactive"
|
||
} else {
|
||
accountInfo.Status = "active"
|
||
}
|
||
accountInfo.UpdateTime = utils.GetBasicDateTime()
|
||
|
||
dataJSON := new(BaseDataJSON)
|
||
if models.UpdateAccount(accountInfo) {
|
||
dataJSON.Code = 200
|
||
dataJSON.Msg = "更新账户状态成功"
|
||
} else {
|
||
dataJSON.Code = -1
|
||
dataJSON.Msg = "更新账户状态失败"
|
||
}
|
||
c.GenerateJSON(dataJSON)
|
||
}
|
||
func (c *UpdateController) OperatorAccount() {
|
||
accountUid := strings.TrimSpace(c.GetString("accountUid"))
|
||
accountOperator := strings.TrimSpace(c.GetString("accountOperator"))
|
||
amount := strings.TrimSpace(c.GetString("amount"))
|
||
|
||
accountDataJSON := new(AccountDataJSON)
|
||
switch accountOperator {
|
||
case common.PLUS_AMOUNT:
|
||
case common.SUB_AMOUNT:
|
||
case common.FREEZE_AMOUNT:
|
||
case common.UNFREEZE_AMOUNT:
|
||
default:
|
||
accountDataJSON.Code = -1
|
||
}
|
||
a, err := strconv.ParseFloat(amount, 64)
|
||
if err != nil {
|
||
accountDataJSON.Msg = "处理金额输入有误"
|
||
}
|
||
if accountDataJSON.Code == -1 {
|
||
c.GenerateJSON(accountDataJSON)
|
||
return
|
||
}
|
||
msg, flag := models.OperatorAccount(accountUid, accountOperator, a)
|
||
if flag {
|
||
accountDataJSON.Code = 200
|
||
accountDataJSON.Msg = "处理成功,请检查对应账户信息"
|
||
accountDataJSON.AccountList = append(accountDataJSON.AccountList, models.GetAccountByUid(accountUid))
|
||
} else {
|
||
accountDataJSON.Code = -1
|
||
accountDataJSON.Msg = msg
|
||
}
|
||
|
||
c.GenerateJSON(accountDataJSON)
|
||
}
|
||
|
||
func (c *UpdateController) UpdateAgentStatus() {
|
||
agentUid := strings.TrimSpace(c.GetString("agentUid"))
|
||
agentInfo := models.GetAgentInfoByAgentUid(agentUid)
|
||
|
||
keyDataJSON := new(KeyDataJSON)
|
||
|
||
if agentInfo.AgentUid == "" {
|
||
keyDataJSON.Code = -1
|
||
c.GenerateJSON(keyDataJSON)
|
||
}
|
||
|
||
if agentInfo.Status == "active" {
|
||
agentInfo.Status = "unactive"
|
||
} else {
|
||
agentInfo.Status = "active"
|
||
}
|
||
agentInfo.UpdateTime = utils.GetBasicDateTime()
|
||
if models.UpdateAgentInfo(agentInfo) {
|
||
keyDataJSON.Code = 200
|
||
} else {
|
||
keyDataJSON.Code = -1
|
||
}
|
||
c.GenerateJSON(keyDataJSON)
|
||
}
|
||
|
||
func (c *UpdateController) ResetAgentPassword() {
|
||
agentUid := strings.TrimSpace(c.GetString("agentUid"))
|
||
newPassword := strings.TrimSpace(c.GetString("newPassword"))
|
||
newVertifyPassword := strings.TrimSpace(c.GetString("newVertifyPassword"))
|
||
|
||
keyDataJSON := new(KeyDataJSON)
|
||
keyDataJSON.Code = 200
|
||
if agentUid == "" {
|
||
keyDataJSON.Code = -2
|
||
} else if newPassword == "" {
|
||
keyDataJSON.Code = -1
|
||
keyDataJSON.Key = "#agent-login-password-error-reset"
|
||
keyDataJSON.Msg = " *新密码不能为空"
|
||
} else if newVertifyPassword != newPassword {
|
||
keyDataJSON.Code = -1
|
||
keyDataJSON.Key = "#agent-vertify-password-error-reset"
|
||
keyDataJSON.Msg = " *两次密码输入不一致"
|
||
}
|
||
|
||
if keyDataJSON.Code != 200 {
|
||
c.GenerateJSON(keyDataJSON)
|
||
return
|
||
}
|
||
|
||
agentInfo := models.GetAgentInfoByAgentUid(agentUid)
|
||
agentInfo.UpdateTime = utils.GetBasicDateTime()
|
||
agentInfo.AgentPassword = utils.GetMD5Upper(newPassword)
|
||
if !models.UpdateAgentInfo(agentInfo) {
|
||
keyDataJSON.Code = -1
|
||
}
|
||
c.GenerateJSON(keyDataJSON)
|
||
}
|
||
|
||
/*
|
||
* 手动选择了打款通道
|
||
*/
|
||
func (c *UpdateController) ChoosePayForRoad() {
|
||
roadName := strings.TrimSpace(c.GetString("roadName"))
|
||
bankOrderId := strings.TrimSpace(c.GetString("bankOrderId"))
|
||
remark := strings.TrimSpace(c.GetString("remark"))
|
||
confirmType := strings.TrimSpace(c.GetString("confirmType"))
|
||
|
||
keyDataJSON := new(KeyDataJSON)
|
||
keyDataJSON.Code = 200
|
||
|
||
if confirmType == common.PAYFOR_ROAD && roadName == "" {
|
||
keyDataJSON.Msg = "打款通道不能为空"
|
||
keyDataJSON.Code = -1
|
||
c.GenerateJSON(keyDataJSON)
|
||
return
|
||
}
|
||
|
||
payForInfo := models.GetPayForByBankOrderId(bankOrderId)
|
||
roadInfo := models.GetRoadInfoByName(roadName)
|
||
|
||
if payForInfo.Status != common.PAYFOR_COMFRIM {
|
||
keyDataJSON.Msg = "结算状态错误,请刷新后确认"
|
||
} else {
|
||
payForInfo.UpdateTime = utils.GetBasicDateTime()
|
||
payForInfo.GiveType = confirmType
|
||
if confirmType == common.PAYFOR_REFUSE {
|
||
//拒绝打款
|
||
payForInfo.Status = common.PAYFOR_FAIL
|
||
} else {
|
||
payForInfo.Status = common.PAYFOR_SOLVING
|
||
}
|
||
payForInfo.RoadUid = roadInfo.RoadUid
|
||
payForInfo.RoadName = roadInfo.RoadName
|
||
payForInfo.Remark = remark
|
||
|
||
if !models.ForUpdatePayFor(payForInfo) {
|
||
keyDataJSON.Code = -1
|
||
keyDataJSON.Msg = "更新代付记录失败"
|
||
}
|
||
}
|
||
|
||
c.GenerateJSON(keyDataJSON)
|
||
}
|
||
|
||
/*
|
||
* 处理打款结果的处理
|
||
*/
|
||
func (c *UpdateController) ResultPayFor() {
|
||
resultType := strings.TrimSpace(c.GetString("resultType"))
|
||
bankOrderId := strings.TrimSpace(c.GetString("bankOrderId"))
|
||
|
||
keyDataJSON := new(KeyDataJSON)
|
||
keyDataJSON.Code = 200
|
||
|
||
if resultType == "" || bankOrderId == "" {
|
||
keyDataJSON.Code = -1
|
||
keyDataJSON.Msg = "提交的数据有误"
|
||
c.GenerateJSON(keyDataJSON)
|
||
return
|
||
}
|
||
|
||
payFor := models.GetPayForByBankOrderId(bankOrderId)
|
||
|
||
if payFor.Type == common.SELF_HELP {
|
||
//如果是管理员在后台提现,不用做任何的商户减款,只需要更新代付订单状态
|
||
payFor.UpdateTime = utils.GetBasicDateTime()
|
||
payFor.Status = resultType
|
||
|
||
if !models.ForUpdatePayFor(payFor) {
|
||
keyDataJSON.Code = -1
|
||
keyDataJSON.Msg = "系统处理失败"
|
||
}
|
||
c.GenerateJSON(keyDataJSON)
|
||
return
|
||
}
|
||
|
||
if payFor.Status == common.PAYFOR_FAIL || payFor.Status == common.PAYFOR_SUCCESS {
|
||
logs.Error(fmt.Sprintf("该代付订单=%s,状态有误....", bankOrderId))
|
||
keyDataJSON.Code = -1
|
||
keyDataJSON.Msg = "订单状态有误,请刷新重新判断"
|
||
c.GenerateJSON(keyDataJSON)
|
||
return
|
||
}
|
||
|
||
if resultType == common.PAYFOR_FAIL {
|
||
//处理代付失败的逻辑,减去相应的代付冻结金额
|
||
if !controller.PayForFail(payFor) {
|
||
logs.Error(fmt.Sprintf("商户uid=%s,处理代付失败逻辑出错", payFor.MerchantUid))
|
||
keyDataJSON.Msg = "代付失败逻辑,处理失败"
|
||
keyDataJSON.Code = -1
|
||
}
|
||
} else if resultType == common.PAYFOR_SUCCESS {
|
||
//代付成功,减去相应的代付冻结金额,并且余额减掉,可用金额减掉
|
||
if !controller.PayForSuccess(payFor) {
|
||
logs.Error(fmt.Sprintf("商户uid=%s,处理代付成功逻辑出错", payFor.MerchantUid))
|
||
keyDataJSON.Msg = "代付成功逻辑,处理失败"
|
||
keyDataJSON.Code = -1
|
||
}
|
||
}
|
||
|
||
if keyDataJSON.Code == 200 {
|
||
keyDataJSON.Msg = "处理成功"
|
||
}
|
||
|
||
c.GenerateJSON(keyDataJSON)
|
||
}
|
||
|
||
func (c *UpdateController) UpdateOrderStatus() {
|
||
bankOrderId := strings.TrimSpace(c.GetString("bankOrderId"))
|
||
solveType := strings.TrimSpace(c.GetString("solveType"))
|
||
|
||
keyDataJSON := new(KeyDataJSON)
|
||
orderInfo := models.GetOrderByBankOrderId(bankOrderId)
|
||
if orderInfo.BankOrderId == "" {
|
||
logs.Error("该订单不存在,bankOrderId=", bankOrderId)
|
||
keyDataJSON.Code = -1
|
||
} else {
|
||
paySolve := new(controller.PaySolveController)
|
||
flag := false
|
||
switch solveType {
|
||
case common.SUCCESS:
|
||
flag = paySolve.SolvePaySuccess(bankOrderId, orderInfo.FactAmount, common.SUCCESS)
|
||
case common.FAIL:
|
||
flag = paySolve.SolvePayFail(orderInfo, common.FAIL)
|
||
case common.FREEZE_AMOUNT:
|
||
//将这笔订单进行冻结
|
||
flag = paySolve.SolveOrderFreeze(bankOrderId)
|
||
case common.UNFREEZE_AMOUNT:
|
||
//将这笔订单金额解冻
|
||
flag = paySolve.SolveOrderUnfreeze(bankOrderId)
|
||
case common.REFUND:
|
||
if orderInfo.Status == common.SUCCESS {
|
||
flag = paySolve.SolveRefund(bankOrderId)
|
||
}
|
||
case common.ORDERROLL:
|
||
if orderInfo.Status == common.SUCCESS {
|
||
flag = paySolve.SolveOrderRoll(bankOrderId)
|
||
}
|
||
default:
|
||
logs.Error("不存在这样的处理类型")
|
||
}
|
||
if flag {
|
||
keyDataJSON.Code = 200
|
||
} else {
|
||
keyDataJSON.Code = -1
|
||
}
|
||
}
|
||
|
||
c.GenerateJSON(keyDataJSON)
|
||
}
|