Explorar o código

ICBC 接口demo

yuedefeng %!s(int64=6) %!d(string=hai) anos
pai
achega
8e17d2ffba

+ 26 - 30
src/dashoo.cn/backend/api/business/bankapi/ICBCService.go

@@ -1,24 +1,18 @@
 package bankapi
 
 import (
-	"bufio"
+	"dashoo.cn/backend/api/models"
 	"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 {
@@ -31,15 +25,15 @@ type ICBCService struct {
 func GetICBCService(xormEngine *xorm.Engine) *ICBCService {
 	s := new(ICBCService)
 	s.DBE = xormEngine
-	s.BaseUrl = "http://localhost:10091/api/"
-	s.UserName = "yanshi"
+	s.BaseUrl = utils.Cfg.MustValue("bank", "callbackHost")
+	s.Username = "yanshi"
 	s.Password = "gf123456"
 	return s
 }
 
-func (this *ActivitiService) Post(url string, params string, token string) *http.Response {
+func (s *ICBCService) Post(url string, params string, token string) *http.Response {
 	client := &http.Client{}
-	req, err := http.NewRequest("POST", this.BaseUrl+url, strings.NewReader(params))
+	req, err := http.NewRequest("POST", s.BaseUrl+url, strings.NewReader(params))
 	req.Header.Add("Content-Type", "application/json")
 	req.Header.Add("Authorization", "Bearer "+token)
 	resp, err := client.Do(req)
@@ -50,9 +44,9 @@ func (this *ActivitiService) Post(url string, params string, token string) *http
 	return resp
 }
 
-func (this *ActivitiService) Get(url string, params string, token string) *http.Response {
+func (s *ICBCService) Get(url string, params string, token string) *http.Response {
 	client := &http.Client{}
-	req, err := http.NewRequest("Get", this.BaseUrl+url, strings.NewReader(params))
+	req, err := http.NewRequest("Get", s.BaseUrl+url, strings.NewReader(params))
 	req.Header.Add("Content-Type", "application/json")
 	req.Header.Add("Authorization", "Bearer "+token)
 	resp, err := client.Do(req)
@@ -63,27 +57,29 @@ func (this *ActivitiService) Get(url string, params string, token string) *http.
 	return resp
 }
 
-func (this *ActivitiService) GetBillList(commercialNo string) string {
-	
-	if err != nil {
-		fmt.Println(err, "生成json字符串错误")
-	}
-	fmt.Println(params)
-
+func (s *ICBCService) AuthToken() string {
+	var userToken models.UserToken
 	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)
-	//后获取账单列表返回
+	user4CreateToken.Username = s.Username
+	user4CreateToken.Password = s.Password
+	//先登录
+	tokenParams, _ := json.Marshal(user4CreateToken)
+	strTokenParams := string(tokenParams)
+	retToken := s.Post("/", strTokenParams, "")
+	p, _ := ioutil.ReadAll(retToken.Body)
+	json.Unmarshal(p, &userToken)
+	return userToken.Token
+}
+
+func (s *ICBCService) GetBillList(commercialNo string) string {
+	fmt.Println(commercialNo)
+	myToken := s.AuthToken()
+
 	var billQueryParam ICBCBillQueryParam
 	billQueryParam.CommercialNo = commercialNo
-	queryJson, err := json.Marshal(billQueryParam)
+	queryJson, _ := json.Marshal(billQueryParam)
 	queryParams := string(queryJson)
-	retToken := this.Post("/bill_list", queryParams, tokenData["json"])
+	retVal := s.Post("/get-bill-list", queryParams, myToken)
 	p, _ := ioutil.ReadAll(retVal.Body)
 	return string(p)
 }

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

@@ -1,6 +1,6 @@
 package bankapi
 
-//"time"
+import "time"
 
 type ICBCBillVM struct {
 	Id             int       `json:"id"`

+ 7 - 4
src/dashoo.cn/backend/api/conf/app.conf

@@ -20,9 +20,9 @@ type=mysql
 
 #本地测试服务器
 name=supplier_system
-             host=47.92.212.59
-             user=root
-             pwd=zks123456
+host=47.92.212.59
+user=root
+pwd=zks123456
 #host=192.168.0.252
 #user=ixcell
 #pwd=ixcell123456
@@ -85,4 +85,7 @@ basisModuleHost=http://weed1.labsop.cn:9390/6,255cf143a0f3
 techModuleHost=http://weed1.labsop.cn:9390/5,255d5b2ece8c
 OriginUrl=http://47.92.212.59:8080/acti-api/api		
 AposeUrl=http://47.92.212.59:8080/acti-api/api/apose		
-BaseUrl=http://47.92.212.59:8080/acti-api/api/acti
+BaseUrl=http://47.92.212.59:8080/acti-api/api/acti
+
+[bank]
+callbackHost=http://localhost:10091/api/

+ 4 - 7
src/dashoo.cn/backend/api/controllers/bankapi/icbc.go

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