|
- package main
-
- import (
- "errors"
-
- "github.com/go-sql-driver/mysql"
- )
-
- type LeanworkRequest struct {
- Id int64
- PickupUrl string
- ReceiveUrl string
- SignType string
- OrderNo string
- OrderAmount string
- OrderCurrency string
- CustomerId string
- Sign string
- Valid bool
- Ts mysql.NullTime
- Ip4 uint32
- Ip4Location string
- }
-
- //
- func lrIsIdMatchSign(id string, sign string) bool {
- _, err := getRequestRowByIdAndSign(id, sign)
- return err == nil
- }
-
- func getRequestRowByIdAndSign(id string, sign string) (row LeanworkRequest, err error) {
- //retrieve form DB
- row = LeanworkRequest{}
- db.conn(Config)
- selDB, err := db.h.Query("SELECT * FROM request WHERE id=? and sign=?", id, sign)
- if err != nil {
- return
- }
- count := 0
- for selDB.Next() {
- err = selDB.Scan(&row.Id, &row.PickupUrl, &row.ReceiveUrl, &row.SignType,
- &row.OrderNo, &row.OrderAmount, &row.OrderCurrency, &row.CustomerId,
- &row.Sign, &row.Valid, &row.Ts, &row.Ip4, &row.Ip4Location)
- if err != nil {
- return
- }
- count++
- }
-
- if count <= 0 {
- err = errors.New("no record found by the given id (" + id + ") and sign(" + sign + ")")
- }
- return
- }
|