Explorar o código

银行对账接口

lining %!s(int64=5) %!d(string=hai) anos
pai
achega
f940281f4f

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

@@ -1,6 +1,7 @@
 package bankapi
 package bankapi
 
 
 import (
 import (
+	"dashoo.cn/backend/api/business/paymentinfo"
 	"dashoo.cn/backend/api/models"
 	"dashoo.cn/backend/api/models"
 	"encoding/json"
 	"encoding/json"
 	"fmt"
 	"fmt"
@@ -95,6 +96,17 @@ func (s *ICBCService) ReceiveMoneyBillList(billIds BillReceiveMoneyParams) []byt
 	return p
 	return p
 }
 }
 
 
+func (s *ICBCService) ReceiveVerifyBillList(billIds []paymentinfo.OilVerifyBill) []byte {
+	myToken := s.AuthToken()
+	queryJson, _ := json.Marshal(billIds)
+	queryParams := string(queryJson)
+	fmt.Println(queryParams)
+	retVal := s.Post("/paymentinfo/receive-verify-bill-list", queryParams, myToken)
+	p, _ := ioutil.ReadAll(retVal.Body)
+	fmt.Println(string(p))
+	return p
+}
+
 func (s *ICBCService) ReceiveMoneyAgain(billIds BillReceiveMoneyAgainParams) []byte {
 func (s *ICBCService) ReceiveMoneyAgain(billIds BillReceiveMoneyAgainParams) []byte {
 	myToken := s.AuthToken()
 	myToken := s.AuthToken()
 	queryJson, _ := json.Marshal(billIds)
 	queryJson, _ := json.Marshal(billIds)

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

@@ -74,3 +74,24 @@ type BillCheckMoneyRet struct {
 	PaymentInfos    	[] paymentinfo.OilPaymentInfo
 	PaymentInfos    	[] paymentinfo.OilPaymentInfo
 	PaymentBankInfos    [] paymentbankinfo.OilPaymentBankInfo
 	PaymentBankInfos    [] paymentbankinfo.OilPaymentBankInfo
 }
 }
+
+type VerifyBillItem struct {
+	VerifyBillItem  []OilVerifyBillICBC  `json:"items"`
+}
+
+type OilVerifyBillICBC struct {
+	USCCode        string     `json:"USCCode"`
+	BillIds        string    `json:"billIds"`
+	ReceiveAmount  string    `json:"receiveAmount"`
+	PayDate        string    `json:"payDate"`
+	VerifyDate     string    `json:"verifyDate"`
+	BankSerialNum  string    `json:"bankSerialNum"`
+}
+
+type OilVerifyBill struct {
+	BillIds        string       `json:"billIds"`
+	ReceiveAmount  float64      `json:"receiveAmount"`
+	PayDate        time.Time    `json:"payDate"`
+	VerifyDate     time.Time    `json:"verifyDate"`
+	BankSerialNum  string       `json:"bankSerialNum"`
+}

+ 12 - 0
src/dashoo.cn/backend/api/business/paymentinfo/paymentinfo.go

@@ -12,9 +12,11 @@ type OilPaymentInfo struct {
 	ProjectName    string    `xorm:"comment('项目名称') VARCHAR(100)"`
 	ProjectName    string    `xorm:"comment('项目名称') VARCHAR(100)"`
 	Amount         string    `xorm:"comment('缴费金额') DECIMAL(10,2)"`
 	Amount         string    `xorm:"comment('缴费金额') DECIMAL(10,2)"`
 	IsPay          string    `xorm:"comment('是否缴费 1 是 2否') VARCHAR(5)"`
 	IsPay          string    `xorm:"comment('是否缴费 1 是 2否') VARCHAR(5)"`
+	IsVerify       string    `xorm:"comment('是否对账 1 是 0否') VARCHAR(5) DEFAULT '0'"`
 	PayMode        string    `xorm:"comment('缴费方式') VARCHAR(10)"`
 	PayMode        string    `xorm:"comment('缴费方式') VARCHAR(10)"`
 	PayType        string    `xorm:"comment('缴费类型 1 准入缴费 2 年审缴费') VARCHAR(10)"`
 	PayType        string    `xorm:"comment('缴费类型 1 准入缴费 2 年审缴费') VARCHAR(10)"`
 	PayDate        time.Time `xorm:"comment('缴费日期') DATETIME"`
 	PayDate        time.Time `xorm:"comment('缴费日期') DATETIME"`
+	VerifyDate     time.Time `xorm:"comment('对账时间') DATETIME"`
 	BankSerialNum  string    `xorm:"comment('银行流水号') VARCHAR(50)"`
 	BankSerialNum  string    `xorm:"comment('银行流水号') VARCHAR(50)"`
 	BankName       string    `xorm:"comment('银行名称') VARCHAR(100)"`
 	BankName       string    `xorm:"comment('银行名称') VARCHAR(100)"`
 	Remark         string    `xorm:"comment('备注') VARCHAR(255)"`
 	Remark         string    `xorm:"comment('备注') VARCHAR(255)"`
@@ -62,3 +64,13 @@ type PaymentinfoList struct {
 	SupplierName     string
 	SupplierName     string
 	CommercialNo     string
 	CommercialNo     string
 }
 }
+
+type OilVerifyBill struct {
+	Id            int       `xorm:"not null pk autoincr INT(11)"`
+	BillIds       string    `xorm:"comment('账单ID') VARCHAR(2000)"`
+	BankSerialNum string    `xorm:"comment('银行流水号') VARCHAR(50)"`
+	ReceiveAmount float64    `xorm:"comment('交费总金额') DECIMAL(10,2)"`
+	PayDate       time.Time `xorm:"comment('交费时间') DATETIME"`
+	VerifyDate    time.Time `xorm:"comment('对账时间') DATETIME"`
+	CreateOn      time.Time `xorm:"DATETIME"`
+}

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

@@ -1,6 +1,7 @@
 package bankapi
 package bankapi
 
 
 import (
 import (
+	"dashoo.cn/backend/api/business/paymentinfo"
 	"dashoo.cn/backend/api/models"
 	"dashoo.cn/backend/api/models"
 	"encoding/json"
 	"encoding/json"
 	"fmt"
 	"fmt"
@@ -126,3 +127,30 @@ func (this *ICBCController) GetAuthToken() {
 		this.ServeJSON()
 		this.ServeJSON()
 	}
 	}
 }
 }
+
+// @Title 对账
+// @Description 对账
+// @Success	200	{object} controllers.Request
+// @router /check-bill-list [post]
+func (this *ICBCController) CheckBillList() {
+	var VerifyBillItem []bankapi.OilVerifyBillICBC
+
+	fmt.Println("RequestBody:= " + string(this.Ctx.Input.RequestBody))
+	json.Unmarshal(this.Ctx.Input.RequestBody, &VerifyBillItem)
+
+	var Oilverifybill = make([]paymentinfo.OilVerifyBill, len(VerifyBillItem))
+	for idx,item := range VerifyBillItem {
+		Oilverifybill[idx].BillIds = item.BillIds
+		Oilverifybill[idx].BankSerialNum = item.BankSerialNum
+		Oilverifybill[idx].ReceiveAmount,_ = strconv.ParseFloat(item.ReceiveAmount, 64)
+		Oilverifybill[idx].PayDate,_ = time.Parse("2006-01-02 15:04:05", item.PayDate)
+		Oilverifybill[idx].VerifyDate,_ = time.Parse("2006-01-02 15:04:05", item.VerifyDate)
+	}
+
+	svc := bankapi.GetICBCService(utils.DBE)
+	var errinfo ErrorInfo
+	ret := svc.ReceiveVerifyBillList(Oilverifybill)
+	json.Unmarshal(ret, &errinfo)
+	this.Data["json"] = &errinfo
+	this.ServeJSON()
+}

+ 41 - 10
src/dashoo.cn/backend/api/controllers/oilsupplier/paymentinfo.go

@@ -345,16 +345,6 @@ func (this *PaymentInfoController) SureEntity() {
 	this.ServeJSON()
 	this.ServeJSON()
 }
 }
 
 
-const (
-	timeFormat = "2006-01-02 15:04:05"
-)
-type Time time.Time
-func (t *Time) UnmarshalJSON(data []byte) (err error) {
-	now, err := time.ParseInLocation(`"`+timeFormat+`"`, string(data), time.Local)
-	*t = Time(now)
-	return
-}
-
 // @Title 确认缴费单--回调
 // @Title 确认缴费单--回调
 // @Description 确认缴费单
 // @Description 确认缴费单
 // @Success	200	{object} controllers.Request
 // @Success	200	{object} controllers.Request
@@ -750,4 +740,45 @@ func (this *PaymentInfoController) GetDictList() {
 	datainfo.Items = dictList
 	datainfo.Items = dictList
 	this.Data["json"] = &datainfo
 	this.Data["json"] = &datainfo
 	this.ServeJSON()
 	this.ServeJSON()
+}
+
+// @Title 银行对账单
+// @Description 银行对账单
+// @Success	200	{object} controllers.Request
+// @router /receive-verify-bill-list [post]
+func (this *PaymentInfoController) ReceiveVerifyBillList() {
+	var VerifyBills []paymentinfo.OilVerifyBill
+	var jsonBlob = this.Ctx.Input.RequestBody
+	json.Unmarshal(jsonBlob, &VerifyBills)
+
+	fmt.Println(VerifyBills)
+	svc := paymentinfo.GetPaymentService(utils.DBE)
+	for _,item := range VerifyBills {
+		var Oilverifybill paymentinfo.OilVerifyBill
+		Oilverifybill.BillIds = strings.Trim(item.BillIds, ",")
+		Oilverifybill.BankSerialNum = item.BankSerialNum
+		Oilverifybill.ReceiveAmount = item.ReceiveAmount
+		Oilverifybill.VerifyDate = item.VerifyDate
+		Oilverifybill.PayDate = item.PayDate
+		Oilverifybill.CreateOn = time.Now()
+		svc.InsertEntity(&Oilverifybill)
+		ids := strings.Split(item.BillIds, ",")
+		for _,id := range ids {
+			var payinfo paymentinfo.OilPaymentInfo
+			//where := "Id= " + id + " and BankSerialNum='" + item.BankSerialNum +"'" + " and IsPay='2'"
+			//has := svc.GetEntity(&payinfo, where)
+			cols := []string{"IsPay", "IsVerify", "VerifyDate", "BankSerialNum"}
+			payinfo.IsPay = "2"
+			payinfo.IsVerify = "1"
+			payinfo.BankSerialNum = item.BankSerialNum
+			payinfo.VerifyDate = item.PayDate
+			svc.UpdateEntityByIdCols(id, &payinfo, cols)
+		}
+	}
+
+	var errinfo ErrorInfo
+	errinfo.Message = "对账完成!"
+	errinfo.Code = 0
+	this.Data["json"] = &errinfo
+	this.ServeJSON()
 }
 }