Commit 40a19fed authored by wangp's avatar wangp

update

parent 2b79841b
...@@ -52,10 +52,10 @@ log: ...@@ -52,10 +52,10 @@ log:
max_age: 30 max_age: 30
max_backups: 7 max_backups: 7
sms: #sms:
smskey: 'dbc2021888000000' # smskey: 'dbc2021888000000'
sendsmsurl: 'https://tsms.pet-dbc.cn/v1/send' # sendsmsurl: 'https://tsms.pet-dbc.cn/v1/send'
smscontent: '【谛宝医生】登录验证码为:%s' # smscontent: '【谛宝医生】登录验证码为:%s'
# 支付 # 支付
#payurl: #payurl:
...@@ -73,33 +73,33 @@ sms: ...@@ -73,33 +73,33 @@ sms:
# port: '80' # port: '80'
#图片上传目录 #图片上传目录
uploadimage: #uploadimage:
upload_dir: 'credit_shop' # upload_dir: 'credit_shop'
max_file_size: 50000000 # max_file_size: 50000000
image_types: '(jpg|jpeg|png|pdf|gif|zip|rar)' # image_types: '(jpg|jpeg|png|pdf|gif|zip|rar)'
accept_file_types: 'IMAGE_TYPES' # accept_file_types: 'IMAGE_TYPES'
#OSS配置 #OSS配置
oss: #oss:
oss_url: 'https://dbc-static.oss-cn-beijing.aliyuncs.com/' # oss_url: 'https://dbc-static.oss-cn-beijing.aliyuncs.com/'
accesskeyid: 'LTAIDfwPBC9AnsRt' # accesskeyid: 'LTAIDfwPBC9AnsRt'
accesskeysecret: 'Z6FtUptrAk0Sl6H8vrVBGZLbBzXEpO' # accesskeysecret: 'Z6FtUptrAk0Sl6H8vrVBGZLbBzXEpO'
endpoint: 'oss-cn-beijing.aliyuncs.com' # endpoint: 'oss-cn-beijing.aliyuncs.com'
bucket: 'dbc-static' # bucket: 'dbc-static'
#阿里云 - 全国快递物流查询 #阿里云 - 全国快递物流查询
alicloud: #alicloud:
appcode: '6d1da9eb15b540688a505c1814e0c25f' # appcode: '6d1da9eb15b540688a505c1814e0c25f'
#time_duration: 7200 #time_duration: 7200
#e签宝 #e签宝
esign: #esign:
project_id: "5111575783" # project_id: "5111575783"
project_secret: "5255e7159b6262b92b03c4e307a23ed2" # project_secret: "5255e7159b6262b92b03c4e307a23ed2"
organ_auth_url: "https://openapi2.tsign.cn:8444/realname/rest/external/organ/orgAuth" # organ_auth_url: "https://openapi2.tsign.cn:8444/realname/rest/external/organ/orgAuth"
info_auth_url: "https://openapi2.tsign.cn:8444/realname/rest/external/organ/infoAuth-special" # info_auth_url: "https://openapi2.tsign.cn:8444/realname/rest/external/organ/infoAuth-special"
# jwt 与 des解密 # jwt 与 des解密
jwtsecret: 'Rtg8BPKNEf5mo4mgvKONGPZZQSaJWNLijxJ52qRgq0iBb7' #jwtsecret: 'Rtg8BPKNEf5mo4mgvKONGPZZQSaJWNLijxJ52qRgq0iBb7'
deskey: 'yaoll123' #deskey: 'yaoll123'
#system_pay777 #system_pay777
...@@ -12,10 +12,22 @@ import ( ...@@ -12,10 +12,22 @@ import (
"errors" "errors"
"fmt" "fmt"
"github.com/astaxie/beego/httplib" "github.com/astaxie/beego/httplib"
rand2 "math/rand"
"strings" "strings"
"system_pay/models" "system_pay/models"
"time"
) )
func RandomString(n int) string {
var letters = []byte("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")
result := make([]byte, n)
rand2.Seed(time.Now().Unix())
for i := range result {
result[i] = letters[rand2.Intn(len(letters))]
}
return string(result)
}
// 拉卡拉支付 // 拉卡拉支付
func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) { func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) {
...@@ -52,15 +64,18 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) { ...@@ -52,15 +64,18 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) {
// "extend_info": "自动化测试", // "extend_info": "自动化测试",
// "callback_url": "" // "callback_url": ""
data2 := make(map[string]interface{}) data2 := make(map[string]interface{})
data2["out_trade_no"] = "FD660E1FAA3A4470933CDEDAE1EC1DEE" //data2["out_trade_no"] = "FD660E1FAA3A4470933CDEDAE1EC1DUU"
data2["out_trade_no"] = RandomString(32)
data2["merchant_no"] = "822290070111135" data2["merchant_no"] = "822290070111135"
data2["term_no"] = "29034705" data2["term_no"] = "29034705"
//data2["merchant_no"] = "8222900581201QB"
//data2["term_no"] = "D0027598"
data2["auth_code"] = "135178236713755038" data2["auth_code"] = "135178236713755038"
data2["total_amount"] = "0.01" data2["total_amount"] = "123"
data2["out_order_no"] = "08F4542EEC6A4497BC419161747A92EE" //data2["out_order_no"] = "08F4542EEC6A4497BC419161747A92UU"
data2["out_order_no"] = RandomString(32)
data2["order_efficient_time"] = "20230620130000" //订单有效期 格式yyyyMMddHHmmss,最大支持下单时间+2天 data2["order_efficient_time"] = "20230620130000" //订单有效期 格式yyyyMMddHHmmss,最大支持下单时间+2天
data2["notify_url"] = input.NoticeURL //订单支付成功后商户接收订单通知的地址 http://xxx.xxx.com data2["notify_url"] = input.NoticeURL //订单支付成功后商户接收订单通知的地址 http://xxx.xxx.com
...@@ -227,108 +242,115 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) { ...@@ -227,108 +242,115 @@ func UnifiedOrder(input *models.PlaceAnOrderParamInput) (interface{}, error) {
//return nil, nil //return nil, nil
} }
// @Title func UnifiedOrder2(input *models.PlaceAnOrderParamInput) (interface{}, error) {
// @Description 拉卡拉统一支付
// @Param data body model.PlaceAnOrderParamInput true "输入项" //Params
// @Success 200 //var input model.PlaceAnOrderParamInput
// @router /unified_order [post] //if err := json.Unmarshal(this.Ctx.Input.RequestBody, &input); err != nil {
//func (this *PayController)UnifiedOrder() { // this.Data["json"] = utils.CheckError(err, "")
// // this.ServeJSON()
// //Params // return
// var input model.PlaceAnOrderParamInput // //this.Data["json"] = utils.CheckError(errors.New(languages.ParamsError), languages.SystemError)
// if err := json.Unmarshal(this.Ctx.Input.RequestBody, &input); err != nil { // //this.ServeJSON()
// this.Data["json"] = utils.CheckError(err, "") // //return
// this.ServeJSON() //}
// return //
// //this.Data["json"] = utils.CheckError(errors.New(languages.ParamsError), languages.SystemError) ////validate
// //this.ServeJSON() //if err := input.ValidPlaceAnOrderParamInput(); err != nil {
// //return // this.Data["json"] = utils.CheckError(err,"")
// } // this.ServeJSON()
// // return
// //validate //}
// if err := input.ValidPlaceAnOrderParamInput(); err != nil {
// this.Data["json"] = utils.CheckError(err,"") //if input.PayType==1 {
// this.ServeJSON() //
// return //}
// }
// data := make(map[string]interface{})
// if input.PayType==1 { data["req_time"] = "20220714160009"
// data["version"] = "3.0"
// } data["out_org_code"] = "OP00000003"
//
// data := make(map[string]interface{}) data2 := make(map[string]interface{})
// data["req_time"] = "20220714160009" data2["merchant_no"] = "822290070111135"
// data["version"] = "3.0" data2["term_no"] = "29034705"
// data["out_org_code"] = "OP00000003" //data2["out_trade_no"] = "FD660E1FAA3A4470933CDEDAE1EC1D8E"
// data2["out_trade_no"] = "FD660E1FAA3A4470933CDEDAE1EC1D8E"
// data2 := make(map[string]interface{}) data2["auth_code"] = "135178236713755038"
// data2["merchant_no"] = "822290070111135" data2["total_amount"] = "123"
// data2["term_no"] = "29034705" //data2["out_order_no"] = "08F4542EEC6A4497BC419161747A92FA"
// //data2["out_trade_no"] = "FD660E1FAA3A4470933CDEDAE1EC1D8E" data2["out_order_no"] = "08F4542EEC6A4497BC419161747A92FA"
// data2["out_trade_no"] = "FD660E1FAA3A4470933CDEDAE1EC1D8E" data["req_data"] = make(map[string]interface{})
// data2["auth_code"] = "135178236713755038" data["req_data"] = data2
// data2["total_amount"] = "123"
// //data2["out_order_no"] = "08F4542EEC6A4497BC419161747A92FA" data3 := make(map[string]interface{})
// data2["out_order_no"] = "08F4542EEC6A4497BC419161747A92FA" data3["request_ip"] = "10.176.1.192"
// data["req_data"] = make(map[string]interface{}) data3["location"] = "+37.123456789,-121.123456789"
// data["req_data"] = data2 data2["location_info"] = make(map[string]interface{})
// data2["location_info"] = data3
// data3 := make(map[string]interface{})
// data3["request_ip"] = "10.176.1.192" //data2["out_order_no"] = input.AttachInfo //商户订单号
// data3["location"] = "+37.123456789,-121.123456789" //data2["total_amount"] = input.AttachInfo //订单金额,单位:分
// data2["location_info"] = make(map[string]interface{}) //data2["order_efficient_time"] = input.AttachInfo //订单有效期 格式yyyyMMddHHmmss,最大支持下单时间+2天
// data2["location_info"] = data3
// //data2["notify_url"] = input.AttachInfo //订单支付成功后商户接收订单通知的地址 http://xxx.xxx.com
// //data2["out_order_no"] = input.AttachInfo //商户订单号 //data2["callback_url"] = input.AttachInfo //商户订单号
// //data2["total_amount"] = input.AttachInfo //订单金额,单位:分 //data2["order_info"] = input.AttachInfo //订单标题,在使用收银台扫码支付时必输入,交易时送往账户端
// //data2["order_efficient_time"] = input.AttachInfo //订单有效期 格式yyyyMMddHHmmss,最大支持下单时间+2天 //data2["goods_mark"] = input.AttachInfo //商品信息标识 (1:含商品信息,不填默认不含商品信息)
//
// //data2["notify_url"] = input.AttachInfo //订单支付成功后商户接收订单通知的地址 http://xxx.xxx.com //var data model.LakalaParamInput
// //data2["callback_url"] = input.AttachInfo //商户订单号 //data.Version = "3.0"
// //data2["order_info"] = input.AttachInfo //订单标题,在使用收银台扫码支付时必输入,交易时送往账户端 //data.ReqTime = "20220714160009"
// //data2["goods_mark"] = input.AttachInfo //商品信息标识 (1:含商品信息,不填默认不含商品信息)
// //data.ReqData.OutOrderNo = input.AttachInfo //商户订单号
// //var data model.LakalaParamInput ////data.ReqData.MerchantNo = //银联商户号
// //data.Version = "3.0" //data.ReqData.TotalAmount = input.GoodsPrice //订单金额,单位:分
// //data.ReqTime = "20220714160009" ////data.ReqData.OrderEfficientTime = //订单有效期 格式yyyyMMddHHmmss,最大支持下单时间+2天
//
// //data.ReqData.OutOrderNo = input.AttachInfo //商户订单号 //data.ReqData.NotifyUrl = input.NoticeURL //订单支付成功后商户接收订单通知的地址 http://xxx.xxx.com
// ////data.ReqData.MerchantNo = //银联商户号 //data.ReqData.CallbackUrl = input.ReturnURL //客户端下单完成支付后返回的商户网页跳转地址
// //data.ReqData.TotalAmount = input.GoodsPrice //订单金额,单位:分 ////data.ReqData.OrderInfo = input.OrderId //订单标题,在使用收银台扫码支付时必输入,交易时送往账户端
// ////data.ReqData.OrderEfficientTime = //订单有效期 格式yyyyMMddHHmmss,最大支持下单时间+2天 //data.ReqData.GoodsMark = input.GoodsDes //商品信息标识 (1:含商品信息,不填默认不含商品信息)
// //数据重组 - end
// //data.ReqData.NotifyUrl = input.NoticeURL //订单支付成功后商户接收订单通知的地址 http://xxx.xxx.com
// //data.ReqData.CallbackUrl = input.ReturnURL //客户端下单完成支付后返回的商户网页跳转地址 ////var data = input.ReqData
// ////data.ReqData.OrderInfo = input.OrderId //订单标题,在使用收银台扫码支付时必输入,交易时送往账户端 //fmt.Println(111)
// //data.ReqData.GoodsMark = input.GoodsDes //商品信息标识 (1:含商品信息,不填默认不含商品信息) //fmt.Println(data)
// //数据重组 - end
// data_json, err := json.Marshal(data)
// ////var data = input.ReqData if err != nil {
// //fmt.Println(111) //this.Data["json"] = utils.CheckError(errors.New("Map转化为byte数组失败"),"异常")
// //fmt.Println(data) //this.ServeJSON()
// return nil, err
// data_json, err := json.Marshal(data) }
// if err != nil {
// this.Data["json"] = utils.CheckError(errors.New("Map转化为byte数组失败"),"异常") //url := "https://test.wsmsd.cn/sit/api/v3/labs/trans/preorder" //聚合主扫url
// this.ServeJSON() url := "https://test.wsmsd.cn/sit/api/v3/labs/trans/micropay" //聚合被扫url
// return //url := "https://test.wsmsd.cn/sit/api/v3/ccss/counter/order/create" //拉卡拉收银台订单创建url
// }
// //调拉卡拉接口
// //url := "https://test.wsmsd.cn/sit/api/v3/labs/trans/preorder" //聚合主扫url err, _ = lakala_post(url, data_json)
// //url := "https://test.wsmsd.cn/sit/api/v3/labs/trans/micropay" //聚合被扫url if err != nil {
// url := "https://test.wsmsd.cn/sit/api/v3/ccss/counter/order/create" //拉卡拉收银台订单创建url //this.Data["json"] = utils.CheckError(err,"拉卡拉错误")
// //this.ServeJSON()
// //调拉卡拉接口 return nil, err
// err = lakala_post(url, data_json) }
// if err != nil {
// this.Data["json"] = utils.CheckError(err,"拉卡拉错误") return nil, nil
// this.ServeJSON() //response := make(map[string]string)
// return //response["m_web_url"] = m_web_url
// }
// //调拉卡拉接口
// this.Data["json"] = utils.Success(nil) //err = lakala_post(url, data_json)
// this.ServeJSON() //if err != nil {
//} // this.Data["json"] = utils.CheckError(err,"拉卡拉错误")
// this.ServeJSON()
// return
//}
//
//this.Data["json"] = utils.Success(nil)
//this.ServeJSON()
}
func lakala_post(url string, data_json []byte) (error, string) { func lakala_post(url string, data_json []byte) (error, string) {
...@@ -366,13 +388,15 @@ func lakala_post(url string, data_json []byte) (error, string) { ...@@ -366,13 +388,15 @@ func lakala_post(url string, data_json []byte) (error, string) {
//this.ServeJSON() //this.ServeJSON()
return errors.New(temp["msg"].(string)), "" return errors.New(temp["msg"].(string)), ""
} }
//return nil, temp["resp_data"]["counter_url"]
temp2, _ := temp["resp_data"].(map[string]string) temp2, _ := temp["resp_data"].(map[string]interface{})
if temp2["counter_url"]=="" { if temp2["counter_url"]=="" {
fmt.Println(temp2)
return errors.New("拉卡拉返回值「counter_url」为空错误"), "" return errors.New("拉卡拉返回值「counter_url」为空错误"), ""
} }
return nil, temp2["counter_url"] return nil, temp2["counter_url"].(string)
} }
func getAuthorization(body string) (string, error) { func getAuthorization(body string) (string, error) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment