Browse Source

银行接口测试

yuedefeng 6 years ago
parent
commit
0402698ee9

+ 89 - 0
src/dashoo.cn/backend/api/business/bankapi/ICBCService.go

@@ -0,0 +1,89 @@
+package bankapi
+
+import (
+	"bufio"
+	"encoding/json"
+	"fmt"
+	"io/ioutil"
+	"log"
+	"net/http"
+	"os"
+	"strconv"
+	"strings"
+	"time"
+
+	"dashoo.cn/utils"
+
+	"models"
+
+	. "dashoo.cn/utils/db"
+	"github.com/go-xorm/xorm"
+	. "github.com/linxGnu/goseaweedfs"
+)
+
+type ICBCService struct {
+	BaseUrl  string
+	Username string
+	Password string
+	ServiceBase
+}
+
+func GetICBCService(xormEngine *xorm.Engine) *ICBCService {
+	s := new(ICBCService)
+	s.DBE = xormEngine
+	s.BaseUrl = "http://localhost:10091/api/"
+	s.UserName = "yanshi"
+	s.Password = "gf123456"
+	return s
+}
+
+func (this *ActivitiService) Post(url string, params string, token string) *http.Response {
+	client := &http.Client{}
+	req, err := http.NewRequest("POST", this.BaseUrl+url, strings.NewReader(params))
+	req.Header.Add("Content-Type", "application/json")
+	req.Header.Add("Authorization", "Bearer "+token)
+	resp, err := client.Do(req)
+	if err != nil {
+		log.Println("err= ", err)
+	}
+	log.Println("resp= ", resp)
+	return resp
+}
+
+func (this *ActivitiService) Get(url string, params string, token string) *http.Response {
+	client := &http.Client{}
+	req, err := http.NewRequest("Get", this.BaseUrl+url, strings.NewReader(params))
+	req.Header.Add("Content-Type", "application/json")
+	req.Header.Add("Authorization", "Bearer "+token)
+	resp, err := client.Do(req)
+	if err != nil {
+		log.Println("err= ", err)
+	}
+	log.Println("resp= ", resp)
+	return resp
+}
+
+func (this *ActivitiService) GetBillList(commercialNo string) string {
+	
+	if err != nil {
+		fmt.Println(err, "生成json字符串错误")
+	}
+	fmt.Println(params)
+
+	var user4CreateToken models.User4CreateToken
+	user4CreateToken.Username = this.Username
+	user4CreateToken.Password = this.Password
+\	//先登录
+	var tokenData map[interface{}]interface{}
+	tokenParams, err := json.Marshal(user4CreateToken)	
+	retToken := this.Post("/", tokenParams, "")
+	json.Unmarshal(this.Ctx.Input.RequestBody, &tokenData)
+	//后获取账单列表返回
+	var billQueryParam ICBCBillQueryParam
+	billQueryParam.CommercialNo = commercialNo
+	queryJson, err := json.Marshal(billQueryParam)
+	queryParams := string(queryJson)
+	retToken := this.Post("/bill_list", queryParams, tokenData["json"])
+	p, _ := ioutil.ReadAll(retVal.Body)
+	return string(p)
+}

+ 21 - 0
src/dashoo.cn/backend/api/business/bankapi/icbc.go

@@ -0,0 +1,21 @@
+package bankapi
+
+//"time"
+
+type ICBCBillVM struct {
+	Id             int       `json:"id"`
+	CommercialNo   string    `json:"commercialNo"`
+	SupplierId     int       `json:"supplierId"`
+	SupplierCertId int       `json:"supplierCertId"`
+	Amount         string    `json:"amount"`
+	IsPay          string    `json:"isPay"`
+	PayMode        string    `json:"payMode"`
+	PayType        string    `json:"payType"`
+	PayDate        time.Time `json:"payDate"`
+	BankSerialNum  string    `json:"bankSerialNum"`
+	BankName       string    `json:"bankName"`
+}
+
+type ICBCBillQueryParam struct {
+	CommercialNo string `json:"commercialNo"`
+}

+ 33 - 0
src/dashoo.cn/backend/api/controllers/bankapi/icbc.go

@@ -0,0 +1,33 @@
+package bankapi
+
+import (
+	"encoding/json"
+	//	"fmt"
+
+	. "dashoo.cn/backend/api/controllers"
+	"dashoo.cn/business2/district"
+	"dashoo.cn/utils"
+)
+
+// Operations about Users
+type ICBCController struct {
+	BaseController
+}
+
+// @Title 获取银行支付所需账单信息
+// @Description post bills by token
+// @Success 200 {object} BILLs
+// @router /bill_list [post]
+func (this *ICBCController) GetBillList() {
+
+	var icbcBillQueryParam ICBCBillQueryParam
+	json.Unmarshal(this.Ctx.Input.RequestBody, &icbcBillQueryParam)
+	svc := GetICBCService(utils.DBE)
+	ret := svc.GetBillList(icbcBillQueryParam.CommercialNo)
+
+	var datainfo DataInfo
+	// datainfo.Items = users
+	// datainfo.CurrentItemCount = total
+	this.Data["json"] = ret
+	this.ServeJSON()
+}