|
@@ -180,6 +180,7 @@ func PayCashOut(c *gin.Context) {
|
|
app.Error(c, 400, errors.New("账号余额不够"), "账号余额不够")
|
|
app.Error(c, 400, errors.New("账号余额不够"), "账号余额不够")
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ cashOut.Fee = inData.Amount.Mul(decimal.NewFromFloat32(0.1))
|
|
} else if inData.AccountType == "merchant" {
|
|
} else if inData.AccountType == "merchant" {
|
|
merchantAccountSql.MerchantOpenID = inData.OpenId
|
|
merchantAccountSql.MerchantOpenID = inData.OpenId
|
|
merchantAccountInfo, err := merchantAccountSql.GetMerchantAccount()
|
|
merchantAccountInfo, err := merchantAccountSql.GetMerchantAccount()
|
|
@@ -191,6 +192,7 @@ func PayCashOut(c *gin.Context) {
|
|
app.Error(c, 400, errors.New("账号余额不够"), "账号余额不够")
|
|
app.Error(c, 400, errors.New("账号余额不够"), "账号余额不够")
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ cashOut.Fee = decimal.NewFromInt(0)
|
|
} else {
|
|
} else {
|
|
app.Error(c, 400, errors.New("账户类型错误"), "账户类型错误")
|
|
app.Error(c, 400, errors.New("账户类型错误"), "账户类型错误")
|
|
return
|
|
return
|
|
@@ -202,7 +204,6 @@ func PayCashOut(c *gin.Context) {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
- //clientV3.WxPublicKeyMap()
|
|
|
|
userName, err := clientV3.V3EncryptText(inData.UserName)
|
|
userName, err := clientV3.V3EncryptText(inData.UserName)
|
|
if err != nil {
|
|
if err != nil {
|
|
app.Error(c, 400, err, err.Error())
|
|
app.Error(c, 400, err, err.Error())
|
|
@@ -213,16 +214,10 @@ func PayCashOut(c *gin.Context) {
|
|
transDetail.TransferAmount = inData.Amount.Sub(cashOut.Fee).Mul(decimal.NewFromInt(100)).IntPart()
|
|
transDetail.TransferAmount = inData.Amount.Sub(cashOut.Fee).Mul(decimal.NewFromInt(100)).IntPart()
|
|
transDetail.UserName = userName
|
|
transDetail.UserName = userName
|
|
transDetail.Openid = inData.OpenId
|
|
transDetail.Openid = inData.OpenId
|
|
- transDetail.TransferRemark = "报销"
|
|
|
|
|
|
+ transDetail.TransferRemark = "提现"
|
|
|
|
|
|
trans = append(trans, transDetail)
|
|
trans = append(trans, transDetail)
|
|
|
|
|
|
- //transBody, err := json.Marshal(transDetail)
|
|
|
|
- //if err != nil {
|
|
|
|
- // app.Error(c, 500, err, err.Error())
|
|
|
|
- // return
|
|
|
|
- //}
|
|
|
|
-
|
|
|
|
partnerTradeNo := common.GetRandomString(32)
|
|
partnerTradeNo := common.GetRandomString(32)
|
|
var cashOutCreate shanghu.CashOut
|
|
var cashOutCreate shanghu.CashOut
|
|
//创建提现记录
|
|
//创建提现记录
|
|
@@ -233,23 +228,21 @@ func PayCashOut(c *gin.Context) {
|
|
cashOutCreate.CreatedAt = time.Now()
|
|
cashOutCreate.CreatedAt = time.Now()
|
|
cashOutCreate.UpdatedAt = time.Now()
|
|
cashOutCreate.UpdatedAt = time.Now()
|
|
cashOutCreate.PartnerTradeNo = partnerTradeNo
|
|
cashOutCreate.PartnerTradeNo = partnerTradeNo
|
|
- cashOutCreate.Fee = inData.Amount.Mul(decimal.NewFromFloat32(0.1))
|
|
|
|
|
|
+ cashOutCreate.Fee = cashOut.Fee
|
|
cashOutInfo, err := cashOutCreate.Create()
|
|
cashOutInfo, err := cashOutCreate.Create()
|
|
if err != nil {
|
|
if err != nil {
|
|
app.Error(c, 400, err, err.Error())
|
|
app.Error(c, 400, err, err.Error())
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
- //client := NewWechatServiceAppid(inData.Appid)
|
|
|
|
-
|
|
|
|
var bMap []gopay.BodyMap
|
|
var bMap []gopay.BodyMap
|
|
bm := make(gopay.BodyMap)
|
|
bm := make(gopay.BodyMap)
|
|
|
|
|
|
bm.Set("appid", inData.Appid)
|
|
bm.Set("appid", inData.Appid)
|
|
bm.Set("out_batch_no", partnerTradeNo)
|
|
bm.Set("out_batch_no", partnerTradeNo)
|
|
- bm.Set("batch_name", "报销")
|
|
|
|
- bm.Set("batch_remark", "报销")
|
|
|
|
- bm.Set("total_amount", inData.Amount.Sub(cashOutCreate.Fee).Mul(decimal.NewFromInt(100)).IntPart())
|
|
|
|
|
|
+ bm.Set("batch_name", "体现")
|
|
|
|
+ bm.Set("batch_remark", "提现")
|
|
|
|
+ bm.Set("total_amount", inData.Amount.Sub(cashOut.Fee).Mul(decimal.NewFromInt(100)).IntPart())
|
|
bm.Set("total_num", 1)
|
|
bm.Set("total_num", 1)
|
|
bMap = append(bMap, structToMap(&transDetail))
|
|
bMap = append(bMap, structToMap(&transDetail))
|
|
|
|
|
|
@@ -258,24 +251,6 @@ func PayCashOut(c *gin.Context) {
|
|
|
|
|
|
fmt.Println(bm.JsonBody())
|
|
fmt.Println(bm.JsonBody())
|
|
|
|
|
|
- //{
|
|
|
|
- // "appid": "wxf636efh567hg4356",
|
|
|
|
- // "out_batch_no": "plfk2020042013",
|
|
|
|
- // "batch_name": "2019年1月深圳分部报销单",
|
|
|
|
- // "batch_remark": "2019年1月深圳分部报销单",
|
|
|
|
- // "total_amount": 4000000,
|
|
|
|
- // "total_num": 200,
|
|
|
|
- // "transfer_detail_list": [
|
|
|
|
- //{
|
|
|
|
- //"out_detail_no": "x23zy545Bd5436",
|
|
|
|
- //"transfer_amount": 200000,
|
|
|
|
- //"transfer_remark": "2020年4月报销",
|
|
|
|
- //"openid": "o-MYE42l80oelYMDE34nYD456Xoy",
|
|
|
|
- //"user_name": "757b340b45ebef5467rter35gf464344v3542sdf4t6re4tb4f54ty45t4yyry45"
|
|
|
|
- //}
|
|
|
|
- //]
|
|
|
|
- //}
|
|
|
|
-
|
|
|
|
reply, err := clientV3.V3Transfer(c, bm)
|
|
reply, err := clientV3.V3Transfer(c, bm)
|
|
if err != nil {
|
|
if err != nil {
|
|
cashOut.ID = cashOutInfo.ID
|
|
cashOut.ID = cashOutInfo.ID
|
|
@@ -299,34 +274,6 @@ func PayCashOut(c *gin.Context) {
|
|
cashOut.PartnerTradeNo = reply.Response.OutBatchNo
|
|
cashOut.PartnerTradeNo = reply.Response.OutBatchNo
|
|
cashOut.UpdateCashOutWxBachNo()
|
|
cashOut.UpdateCashOutWxBachNo()
|
|
|
|
|
|
- //wxResp, err := client.Transfer(c, bm)
|
|
|
|
- //if err != nil {
|
|
|
|
- // cashOut.ID = cashOutInfo.ID
|
|
|
|
- // cashOut.FailRes = err.Error()
|
|
|
|
- // cashOut.Status = 2 //提现失败
|
|
|
|
- // cashOut.UpdateMerchantStatus()
|
|
|
|
- //
|
|
|
|
- // app.Error(c, 400, err, "提现失败")
|
|
|
|
- // return
|
|
|
|
- //}
|
|
|
|
- //
|
|
|
|
- //if wxResp.ReturnCode != "SUCCESS" {
|
|
|
|
- // cashOut.ID = cashOutInfo.ID
|
|
|
|
- // cashOut.FailRes = wxResp.ReturnMsg
|
|
|
|
- // cashOut.Status = 2 //提现失败
|
|
|
|
- // cashOut.UpdateMerchantStatus()
|
|
|
|
- // app.Error(c, 400, errors.New(wxResp.ReturnMsg), "提现")
|
|
|
|
- // return
|
|
|
|
- //}
|
|
|
|
- //if wxResp.ResultCode != "SUCCESS" {
|
|
|
|
- // cashOut.ID = cashOutInfo.ID
|
|
|
|
- // cashOut.FailRes = wxResp.ErrCode + "--" + wxResp.ErrCodeDes
|
|
|
|
- // cashOut.Status = 2 //提现失败
|
|
|
|
- // cashOut.UpdateMerchantStatus()
|
|
|
|
- // app.Error(c, 400, errors.New(wxResp.ErrCode+"--"+wxResp.ErrCodeDes), "提现")
|
|
|
|
- // return
|
|
|
|
- //}
|
|
|
|
-
|
|
|
|
app.OK(c, nil, app.Success)
|
|
app.OK(c, nil, app.Success)
|
|
|
|
|
|
}
|
|
}
|