fix version 1
This commit is contained in:
@@ -23,26 +23,27 @@ func ByCharge(ctx context.Context, in *pb.ChargeRequest) (reply *pb.PaymentReply
|
||||
return nil, ok
|
||||
}
|
||||
|
||||
if in.Amount == 0 || in.Desc == "" {
|
||||
if in.Amount <= 0 || in.Desc == "" {
|
||||
return nil, errcode.ErrInvalidArgument
|
||||
}
|
||||
|
||||
var (
|
||||
myWallet, wErr = models.GetWalletByPassportIdentity(auth.ID, auth.Identity)
|
||||
orderNo = utils.RandomString(32)
|
||||
paymentRecrod = models.WalletPayment{
|
||||
WalletIdentity: myWallet.Identity,
|
||||
Type: 1, //1充值,2为订单
|
||||
OrderNo: orderNo,
|
||||
PayChannel: int8(in.PayChannel),
|
||||
PayType: in.PayType,
|
||||
Amount: in.Amount,
|
||||
}
|
||||
)
|
||||
if wErr != nil || myWallet.Identity == "" {
|
||||
if wErr != nil || myWallet == nil || myWallet.Identity == "" {
|
||||
return nil, errcode.ErrNotFound(404, "wallet")
|
||||
}
|
||||
|
||||
paymentRecrod := models.WalletPayment{
|
||||
WalletIdentity: myWallet.Identity,
|
||||
Type: 1, //1充值,2为订单
|
||||
OrderNo: orderNo,
|
||||
PayChannel: int8(in.PayChannel),
|
||||
PayType: in.PayType,
|
||||
Amount: in.Amount,
|
||||
}
|
||||
|
||||
paymentRecrod.Identity = utils.UUID()
|
||||
paymentRecrod.PassportID = auth.ID
|
||||
paymentRecrod.PassportIdentity = auth.Identity
|
||||
@@ -93,30 +94,34 @@ func ByCharge(ctx context.Context, in *pb.ChargeRequest) (reply *pb.PaymentReply
|
||||
}
|
||||
|
||||
case 2:
|
||||
var result string
|
||||
var (
|
||||
result string
|
||||
productCode string
|
||||
)
|
||||
switch in.PayType {
|
||||
case "WAP":
|
||||
productCode = "QUICK_WAP_WAY"
|
||||
case "APP":
|
||||
productCode = "QUICK_MSECURITY_PAY"
|
||||
default:
|
||||
return nil, excode.ErrPayType
|
||||
}
|
||||
|
||||
alipay, err := alipay.NewAlipay()
|
||||
if err != nil {
|
||||
printer.Error(err.Error())
|
||||
return nil, excode.ErrAlipayInit
|
||||
}
|
||||
alipay.SetBody(payBodyAttach.String(), orderNo, in.Amount)
|
||||
alipay.SetBody(payBodyAttach.String(), orderNo, in.Amount, productCode)
|
||||
|
||||
switch in.PayType {
|
||||
case "WAP":
|
||||
result, err = alipay.TradeWapPay()
|
||||
if err != nil {
|
||||
printer.Error(err.Error())
|
||||
return nil, excode.ErrAlipayGetResp
|
||||
}
|
||||
|
||||
case "APP":
|
||||
if productCode == "QUICK_MSECURITY_PAY" {
|
||||
result, err = alipay.TradeAppPay()
|
||||
if err != nil {
|
||||
printer.Error(err.Error())
|
||||
return nil, excode.ErrAlipayGetResp
|
||||
}
|
||||
default:
|
||||
return nil, excode.ErrPayType
|
||||
} else {
|
||||
result, err = alipay.TradeWapPay()
|
||||
}
|
||||
if err != nil {
|
||||
printer.Error(err.Error())
|
||||
return nil, excode.ErrAlipayGetResp
|
||||
}
|
||||
|
||||
replyResult["payUrl"] = result
|
||||
|
||||
Reference in New Issue
Block a user