Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Jisan Ahmed
My APIs
Commits
a25c9f3e
Commit
a25c9f3e
authored
Aug 21, 2024
by
Jisan Ahmed
Browse files
clear:a trip request with bidders
parent
6d0d3e8b
Changes
26
Expand all
Hide whitespace changes
Inline
Side-by-side
RequestTrip/RequestTrip/RequestTrip
0 → 100755
View file @
a25c9f3e
File added
RequestTrip/RequestTrip/conf/app.conf
0 → 100644
View file @
a25c9f3e
appname
=
RequestTrip
httpport
=
8081
runmode
=
dev
autorender
=
false
copyrequestbody
=
true
EnableDocs
=
true
sqlconn
=
tl
-
g
-
developer
:
G33p33a55_dataChai
@
tcp
(
103
.
199
.
168
.
130
:
3306
)/
trucklagbe_db
?
charset
=
utf8
&
loc
=
Asia
%
2
FDhaka
RequestTrip/RequestTrip/controllers/bid_status_details_controller.go
0 → 100644
View file @
a25c9f3e
package
controllers
import
(
"RequestTrip/models"
"strconv"
"github.com/beego/beego/logs"
"github.com/beego/beego/orm"
"github.com/beego/beego/v2/server/web"
)
type
BidStatusDetailsController
struct
{
web
.
Controller
}
// Get retrieves all bid status details
func
(
c
*
BidStatusDetailsController
)
Get
()
{
// Create a new ORM instance
o
:=
orm
.
NewOrm
()
var
bidStatusDetails
[]
models
.
BidStatusDetails
// Define the raw SQL query to fetch all records from bid_status_details table
sql
:=
"SELECT * FROM bid_status_details"
// Execute the raw SQL query
_
,
err
:=
o
.
Raw
(
sql
)
.
QueryRows
(
&
bidStatusDetails
)
if
err
!=
nil
{
c
.
Data
[
"json"
]
=
map
[
string
]
string
{
"error"
:
err
.
Error
()}
}
else
{
c
.
Data
[
"json"
]
=
bidStatusDetails
}
// Serve the JSON response
c
.
ServeJSON
()
}
// GetByBidID retrieves bid status details by bid_id
func
(
c
*
BidStatusDetailsController
)
GetByBidID
()
{
// Retrieve the bid_id from the URL parameters
bidIDStr
:=
c
.
Ctx
.
Input
.
Param
(
":bid_id"
)
bidID
,
err
:=
strconv
.
Atoi
(
bidIDStr
)
if
err
!=
nil
{
c
.
Data
[
"json"
]
=
map
[
string
]
string
{
"error"
:
"Invalid bid_id"
}
c
.
ServeJSON
()
return
}
// Create a new ORM instance
o
:=
orm
.
NewOrm
()
// Define the raw SQL query to fetch the latest record by bid_id
sql
:=
`
SELECT * FROM bid_status_details
WHERE bid_id = ?
ORDER BY status_details_id DESC
LIMIT 1
`
// Execute the raw SQL query
var
bidStatusDetails
models
.
BidStatusDetails
err
=
o
.
Raw
(
sql
,
bidID
)
.
QueryRow
(
&
bidStatusDetails
)
if
err
==
orm
.
ErrNoRows
{
c
.
Data
[
"json"
]
=
map
[
string
]
string
{
"error"
:
"No data found for the provided bid_id"
}
}
else
if
err
!=
nil
{
c
.
Data
[
"json"
]
=
map
[
string
]
string
{
"error"
:
err
.
Error
()}
}
else
{
// Check the fetched data
logs
.
Info
(
"Fetched bid status details: %v"
,
bidStatusDetails
)
c
.
Data
[
"json"
]
=
bidStatusDetails
}
// Serve the JSON response
c
.
ServeJSON
()
}
RequestTrip/RequestTrip/controllers/bidding_request_bid_details_controller.go
0 → 100644
View file @
a25c9f3e
package
controllers
import
(
"RequestTrip/models"
"github.com/beego/beego/orm"
"github.com/beego/beego/v2/core/logs"
"github.com/beego/beego/v2/server/web"
)
type
BiddingRequestBidDetailsController
struct
{
web
.
Controller
}
// GetAll returns all bidding request bid details
func
(
c
*
BiddingRequestBidDetailsController
)
GetAll
()
{
// Create a new ORM instance
o
:=
orm
.
NewOrm
()
var
biddingDetails
[]
models
.
BiddingRequestBidDetails
// Define the raw SQL query to fetch all records from bidding_request_bid_details table
sql
:=
"SELECT * FROM bidding_request_bid_details"
// Execute the raw SQL query
_
,
err
:=
o
.
Raw
(
sql
)
.
QueryRows
(
&
biddingDetails
)
if
err
!=
nil
{
logs
.
Error
(
"Error fetching bidding request bid details: %v"
,
err
)
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
err
.
Error
()}
c
.
ServeJSON
()
return
}
// If successful, return the bidding details as JSON
c
.
Data
[
"json"
]
=
biddingDetails
c
.
ServeJSON
()
}
// GetByRequestID returns bidding request bid details by request_id
func
(
c
*
BiddingRequestBidDetailsController
)
GetByRequestID
()
{
requestID
,
err
:=
c
.
GetInt
(
":request_id"
)
if
err
!=
nil
{
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
"Invalid request_id"
}
c
.
ServeJSON
()
return
}
o
:=
orm
.
NewOrm
()
var
biddingDetails
[]
models
.
BiddingRequestBidDetails
// Raw SQL query to ensure ordering works as expected
query
:=
`
SELECT * FROM bidding_request_bid_details
WHERE request_id = ?
ORDER BY rate Desc
`
_
,
err
=
o
.
Raw
(
query
,
requestID
)
.
QueryRows
(
&
biddingDetails
)
if
err
!=
nil
{
logs
.
Error
(
"Error fetching bidding request bid details by request_id: %v"
,
err
)
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
err
.
Error
()}
c
.
ServeJSON
()
return
}
c
.
Data
[
"json"
]
=
biddingDetails
c
.
ServeJSON
()
}
// GetByBidID returns bidding request bid details by bid_id
func
(
c
*
BiddingRequestBidDetailsController
)
GetByBidID
()
{
// Retrieve the bid_id from the URL parameters
bidID
,
err
:=
c
.
GetInt
(
":bid_id"
)
if
err
!=
nil
{
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
"Invalid bid_id"
}
c
.
ServeJSON
()
return
}
// Create a new ORM instance
o
:=
orm
.
NewOrm
()
var
biddingDetail
models
.
BiddingRequestBidDetails
// Define the raw SQL query to fetch the record by bid_id
sql
:=
"SELECT * FROM bidding_request_bid_details WHERE bid_id = ?"
// Execute the raw SQL query
err
=
o
.
Raw
(
sql
,
bidID
)
.
QueryRow
(
&
biddingDetail
)
if
err
==
orm
.
ErrNoRows
{
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
"No data found for the provided bid_id"
}
c
.
ServeJSON
()
return
}
else
if
err
!=
nil
{
logs
.
Error
(
"Error fetching bidding request bid details by bid_id: %v"
,
err
)
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
err
.
Error
()}
c
.
ServeJSON
()
return
}
// If successful, return the bidding detail as JSON
c
.
Data
[
"json"
]
=
biddingDetail
c
.
ServeJSON
()
}
RequestTrip/RequestTrip/controllers/bidding_request_status_details_controller.go
0 → 100644
View file @
a25c9f3e
package
controllers
import
(
"RequestTrip/models"
"github.com/beego/beego/orm"
"github.com/beego/beego/v2/core/logs"
"github.com/beego/beego/v2/server/web"
)
type
BiddingRequestStatusDetailsController
struct
{
web
.
Controller
}
// Get retrieves all records from the bidding_request_status_details table
func
(
c
*
BiddingRequestStatusDetailsController
)
Get
()
{
// Create a new ORM instance
o
:=
orm
.
NewOrm
()
var
statusDetails
[]
models
.
BiddingRequestStatusDetails
// Define the raw SQL query to fetch all records from bidding_request_status_details table
sql
:=
"SELECT * FROM bidding_request_status_details"
// Execute the raw SQL query
_
,
err
:=
o
.
Raw
(
sql
)
.
QueryRows
(
&
statusDetails
)
if
err
!=
nil
{
c
.
Data
[
"json"
]
=
map
[
string
]
string
{
"error"
:
err
.
Error
()}
c
.
ServeJSON
()
return
}
// If successful, return the status details as JSON
c
.
Data
[
"json"
]
=
statusDetails
c
.
ServeJSON
()
}
func
(
c
*
BiddingRequestStatusDetailsController
)
GetByRequestID
()
{
// Retrieve the request_id from the URL parameters
requestID
,
err
:=
c
.
GetInt
(
":request_id"
)
if
err
!=
nil
{
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
"Invalid request_id"
}
c
.
ServeJSON
()
return
}
// Create a new ORM instance
o
:=
orm
.
NewOrm
()
var
statusDetails
[]
models
.
BiddingRequestStatusDetails
// Define the raw SQL query to fetch records by request_id, ordered by StatusDetailsID descending
sql
:=
"SELECT * FROM bidding_request_status_details WHERE request_id = ? ORDER BY status_details_id DESC limit 1"
// Execute the raw SQL query
_
,
err
=
o
.
Raw
(
sql
,
requestID
)
.
QueryRows
(
&
statusDetails
)
if
err
!=
nil
{
logs
.
Error
(
"Error fetching bidding request status details by request_id: %v"
,
err
)
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
err
.
Error
()}
c
.
ServeJSON
()
return
}
// If successful, return the status details as JSON
c
.
Data
[
"json"
]
=
statusDetails
c
.
ServeJSON
()
}
RequestTrip/RequestTrip/controllers/bidding_trip_additional_details_controller.go
0 → 100644
View file @
a25c9f3e
package
controllers
import
(
"RequestTrip/models"
"github.com/beego/beego/orm"
"github.com/beego/beego/v2/core/logs"
"github.com/beego/beego/v2/server/web"
)
type
BiddingTripAdditionalDetailsController
struct
{
web
.
Controller
}
// Get retrieves all records from the bidding_trip_additional_details table
func
(
c
*
BiddingTripAdditionalDetailsController
)
Get
()
{
// Create a new ORM instance
o
:=
orm
.
NewOrm
()
var
tripAdditionalDetails
[]
models
.
BiddingTripAdditionalDetails
// Define the raw SQL query to fetch all records from bidding_trip_additional_details table
sql
:=
"SELECT * FROM bidding_trip_additional_details"
// Execute the raw SQL query
_
,
err
:=
o
.
Raw
(
sql
)
.
QueryRows
(
&
tripAdditionalDetails
)
if
err
!=
nil
{
c
.
Data
[
"json"
]
=
map
[
string
]
string
{
"error"
:
err
.
Error
()}
c
.
ServeJSON
()
return
}
// If successful, return the trip additional details as JSON
c
.
Data
[
"json"
]
=
tripAdditionalDetails
c
.
ServeJSON
()
}
// GetWithTripRequestDetails returns joined bidding trip additional details with trip request details by request_id
func
(
c
*
BiddingTripAdditionalDetailsController
)
GetWithTripRequestDetails
()
{
requestID
,
err
:=
c
.
GetInt
(
":request_id"
)
if
err
!=
nil
{
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
"Invalid request_id"
}
c
.
ServeJSON
()
return
}
o
:=
orm
.
NewOrm
()
var
result
[]
struct
{
BiddingTripAdditionalDetails
models
.
BiddingTripAdditionalDetails
`json:"bidding_trip_additional_details"`
TripRequestDetails
models
.
TripRequestDetails
`json:"trip_request_details"`
}
_
,
err
=
o
.
Raw
(
`
SELECT b.*, t.*
FROM bidding_trip_additional_details b
JOIN trip_request_details t ON b.request_id = t.request_id
WHERE b.request_id = ?
`
,
requestID
)
.
QueryRows
(
&
result
)
if
err
!=
nil
{
logs
.
Error
(
"Error fetching joined details by request_id: %v"
,
err
)
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
err
.
Error
()}
c
.
ServeJSON
()
return
}
c
.
Data
[
"json"
]
=
result
c
.
ServeJSON
()
}
RequestTrip/RequestTrip/controllers/trip_request_details_controller.go
0 → 100644
View file @
a25c9f3e
package
controllers
import
(
"RequestTrip/models"
"github.com/beego/beego/orm"
"github.com/beego/beego/v2/core/logs"
"github.com/beego/beego/v2/server/web"
)
type
TripRequestDetailsController
struct
{
web
.
Controller
}
// GetAll returns all trip request details
func
(
c
*
TripRequestDetailsController
)
GetAll
()
{
o
:=
orm
.
NewOrm
()
var
tripRequests
[]
models
.
TripRequestDetails
// Raw SQL query
sql
:=
"SELECT * FROM trip_request_details"
_
,
err
:=
o
.
Raw
(
sql
)
.
QueryRows
(
&
tripRequests
)
if
err
!=
nil
{
logs
.
Error
(
"Error fetching trip request details: %v"
,
err
)
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
err
.
Error
()}
c
.
ServeJSON
()
return
}
c
.
Data
[
"json"
]
=
tripRequests
c
.
ServeJSON
()
}
// GetByID returns trip request details by request_id
func
(
c
*
TripRequestDetailsController
)
GetByID
()
{
// Retrieve the request_id from the URL parameters
requestID
,
err
:=
c
.
GetInt
(
":request_id"
)
if
err
!=
nil
{
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
"Invalid request_id"
}
c
.
ServeJSON
()
return
}
// Create a new ORM instance
o
:=
orm
.
NewOrm
()
var
tripRequest
models
.
TripRequestDetails
// Define the raw SQL query to fetch the trip request by request_id
sql
:=
"SELECT * FROM trip_request_details WHERE request_id = ?"
// Execute the raw SQL query
err
=
o
.
Raw
(
sql
,
requestID
)
.
QueryRow
(
&
tripRequest
)
if
err
==
orm
.
ErrNoRows
{
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
"No data found for the provided request_id"
}
c
.
ServeJSON
()
return
}
else
if
err
!=
nil
{
logs
.
Error
(
"Error fetching trip request details by ID: %v"
,
err
)
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
err
.
Error
()}
c
.
ServeJSON
()
return
}
// If successful, return the trip request as JSON
c
.
Data
[
"json"
]
=
tripRequest
c
.
ServeJSON
()
}
RequestTrip/RequestTrip/controllers/trip_request_details_with_bids_controller.go
0 → 100644
View file @
a25c9f3e
package
controllers
import
(
"RequestTrip/models"
"github.com/beego/beego/orm"
"github.com/beego/beego/v2/core/logs"
"github.com/beego/beego/v2/server/web"
)
type
TripDetailsWithBidsController
struct
{
web
.
Controller
}
func
(
c
*
TripDetailsWithBidsController
)
GetTripDetailsWithBids
()
{
// Retrieve request_id from the URL parameter
requestID
,
err
:=
c
.
GetInt
(
":request_id"
)
if
err
!=
nil
{
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
"Invalid request_id"
}
c
.
ServeJSON
()
return
}
o
:=
orm
.
NewOrm
()
// Define the SQL query to fetch trip request details
sqlTripDetails
:=
`
SELECT *
FROM trip_request_details
WHERE request_id = ?
`
var
tripDetails
models
.
TripRequestDetails
err
=
o
.
Raw
(
sqlTripDetails
,
requestID
)
.
QueryRow
(
&
tripDetails
)
if
err
==
orm
.
ErrNoRows
{
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
"No data found for the provided request_id"
}
c
.
ServeJSON
()
return
}
else
if
err
!=
nil
{
logs
.
Error
(
"Error fetching trip request details: %v"
,
err
)
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
err
.
Error
()}
c
.
ServeJSON
()
return
}
// Fetch the status details
sqlStatus
:=
`
SELECT *
FROM bidding_request_status_details
WHERE request_id = ?
ORDER BY status_details_id DESC
`
// Execute the raw SQL query
var
statusDetails
[]
models
.
BiddingRequestStatusDetails
_
,
err
=
o
.
Raw
(
sqlStatus
,
requestID
)
.
QueryRows
(
&
statusDetails
)
if
err
!=
nil
{
logs
.
Error
(
"Error fetching bidding request status details: %v"
,
err
)
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
err
.
Error
()}
c
.
ServeJSON
()
return
}
// Determine the trip status
var
tripStatus
string
if
len
(
statusDetails
)
>
0
{
tripStatus
=
statusDetails
[
0
]
.
Status
}
// Fetch the bid details
sqlBids
:=
`
SELECT *
FROM bidding_request_bid_details
WHERE request_id = ?
`
var
bids
[]
models
.
BiddingRequestBidDetails
_
,
err
=
o
.
Raw
(
sqlBids
,
requestID
)
.
QueryRows
(
&
bids
)
if
err
!=
nil
{
logs
.
Error
(
"Error fetching bidding request bid details: %v"
,
err
)
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
err
.
Error
()}
c
.
ServeJSON
()
return
}
// Prepare bid details and include bid status from BidStatusDetails
var
bidDetails
[]
map
[
string
]
interface
{}
for
_
,
bid
:=
range
bids
{
sqlBidStatus
:=
`
SELECT *
FROM bid_status_details
WHERE bid_id = ?
ORDER BY status_details_id DESC
`
var
bidStatus
models
.
BidStatusDetails
err
=
o
.
Raw
(
sqlBidStatus
,
bid
.
BidID
)
.
QueryRow
(
&
bidStatus
)
if
err
!=
nil
{
logs
.
Error
(
"Error fetching bid status details: %v"
,
err
)
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
err
.
Error
()}
c
.
ServeJSON
()
return
}
bidDetails
=
append
(
bidDetails
,
map
[
string
]
interface
{}{
"user_details_id"
:
bid
.
OwnerID
,
"bid_id"
:
bid
.
BidID
,
"truck_no"
:
bid
.
TruckNo
,
"truck_id"
:
bid
.
TruckID
,
"bid_status"
:
bidStatus
.
Status
,
// Fetching bid status from BidStatusDetails
"status_details_id"
:
bidStatus
.
StatusDetailsID
,
})
}
// If the trip status is active, sort the bid details by rate in ascending order
/* if tripStatus == "active" {
sort.Slice(bidDetails, func(i, j int) bool {
return bids[i].Rate < bids[j].Rate
})
} */
response
:=
map
[
string
]
interface
{}{
"trip_details"
:
map
[
string
]
interface
{}{
"trip_id"
:
tripDetails
.
RequestID
,
"trip_status"
:
tripStatus
,
"pick_address"
:
tripDetails
.
PickAdd
,
"drop_address"
:
tripDetails
.
DropAdd
,
"pickup_time"
:
tripDetails
.
PickTime
,
},
"bid_details"
:
bidDetails
,
}
c
.
Data
[
"json"
]
=
response
c
.
ServeJSON
()
}
RequestTrip/RequestTrip/controllers/trip_request_status_conroller.go
0 → 100644
View file @
a25c9f3e
package
controllers
import
(
"github.com/beego/beego/v2/core/logs"
"github.com/beego/beego/orm"
"github.com/beego/beego/v2/server/web"
)
// TripRequestStatusController handles requests for trip request and status details
type
TripRequestStatusController
struct
{
web
.
Controller
}
// GetStatusByRequestID retrieves trip request details and status based on request_id
func
(
c
*
TripRequestStatusController
)
GetStatusByRequestID
()
{
requestID
,
err
:=
c
.
GetInt
(
":request_id"
)
if
err
!=
nil
{
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
"Invalid request_id"
}
c
.
ServeJSON
()
return
}
o
:=
orm
.
NewOrm
()
var
result
[]
orm
.
Params
// Define the raw SQL query to join tables and select the necessary fields
query
:=
`
SELECT t.request_id, s.status, s.admin_user, s.cancellation_reason
FROM trip_request_details t
LEFT JOIN bidding_request_status_details s ON t.request_id = s.request_id
WHERE t.request_id = ?
`
// Execute the query
_
,
err
=
o
.
Raw
(
query
,
requestID
)
.
Values
(
&
result
)
if
err
!=
nil
{
logs
.
Error
(
"Error fetching trip request and status details: %v"
,
err
)
c
.
Data
[
"json"
]
=
map
[
string
]
interface
{}{
"error"
:
err
.
Error
()}
c
.
ServeJSON
()
return
}
c
.
Data
[
"json"
]
=
result
c
.
ServeJSON
()
}
RequestTrip/RequestTrip/error.log
0 → 100755
View file @
a25c9f3e
This diff is collapsed.
Click to expand it.
RequestTrip/RequestTrip/go.mod
0 → 100644
View file @
a25c9f3e
module RequestTrip
go 1.22
require github.com/beego/beego/v2 v2.3.0
require github.com/smartystreets/goconvey v1.6.4
require (
filippo.io/edwards25519 v1.1.0 // indirect
github.com/pkg/errors v0.9.1 // indirect
)
require (
github.com/beego/beego v1.12.13
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/go-sql-driver/mysql v1.8.1
github.com/hashicorp/golang-lru v0.5.4 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/prometheus/client_golang v1.19.0 // indirect
github.com/prometheus/client_model v0.5.0 // indirect
github.com/prometheus/common v0.48.0 // indirect
github.com/prometheus/procfs v0.12.0 // indirect
github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18 // indirect
golang.org/x/crypto v0.24.0 // indirect
golang.org/x/net v0.23.0 // indirect
golang.org/x/sys v0.21.0 // indirect
golang.org/x/text v0.16.0 // indirect
google.golang.org/protobuf v1.34.1 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
RequestTrip/RequestTrip/go.sum
0 → 100644
View file @
a25c9f3e
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/Knetic/govaluate v3.0.0+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alicebob/gopher-json v0.0.0-20180125190556-5a6b3ba71ee6/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc=
github.com/alicebob/miniredis v2.5.0+incompatible/go.mod h1:8HZjEj4yU0dwhYHky+DxYx+6BMjkBbe5ONFIF1MXffk=
github.com/beego/beego v1.12.13 h1:g39O1LGLTiPejWVqQKK/TFGrroW9BCZQz6/pf4S8IRM=
github.com/beego/beego v1.12.13/go.mod h1:QURFL1HldOcCZAxnc1cZ7wrplsYR5dKPHFjmk6WkLAs=
github.com/beego/beego/v2 v2.3.0 h1:iECVwzm6egw6iw6tkWrEDqXG4NQtKLQ6QBSYqlM6T/I=
github.com/beego/beego/v2 v2.3.0/go.mod h1:Ob/5BJ9fIKZLd4s9ZV3o9J6odkkIyL83et+p98gyYXo=
github.com/beego/goyaml2 v0.0.0-20130207012346-5545475820dd/go.mod h1:1b+Y/CofkYwXMUU0OhQqGvsY2Bvgr4j6jfT699wyZKQ=
github.com/beego/x2j v0.0.0-20131220205130-a0352aadc542/go.mod h1:kSeGC/p1AbBiEp5kat81+DSQrZenVBZXklMLaELspWU=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bradfitz/gomemcache v0.0.0-20180710155616-bc664df96737/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60=
github.com/casbin/casbin v1.7.0/go.mod h1:c67qKN6Oum3UF5Q1+BByfFxkwKvhwW57ITjqwtzR1KE=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58/go.mod h1:EOBUe0h4xcZ5GoxqC5SDxFQ8gwyZPKQoEzownBlhI80=
github.com/couchbase/go-couchbase v0.0.0-20201216133707-c04035124b17/go.mod h1:+/bddYDxXsf9qt0xpDUtRR47A2GjaXmGGAqQ/k3GJ8A=
github.com/couchbase/gomemcached v0.1.2-0.20201224031647-c432ccf49f32/go.mod h1:mxliKQxOv84gQ0bJWbI+w9Wxdpt9HjDvgW9MjCym5Vo=
github.com/couchbase/goutils v0.0.0-20210118111533-e33d3ffb5401/go.mod h1:BQwMFlJzDjFDG3DJUdU0KORxn88UlsOULuxLExMh3Hs=
github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76/go.mod h1:vYwsqCOLxGiisLwp9rITslkFNpZD5rz43tf41QFkTWY=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
github.com/elastic/go-elasticsearch/v6 v6.8.5/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI=
github.com/elazarl/go-bindata-assetfs v1.0.0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/glendc/gopher-json v0.0.0-20170414221815-dc4743023d0c/go.mod h1:Gja1A+xZ9BoviGJNA2E9vFkPjjsl+CoJxSXiQM1UXtw=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-redis/redis v6.14.2+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/ledisdb/ledisdb v0.0.0-20200510135210-d35789ec47e6/go.mod h1:n931TsDuKuq+uX4v1fulaMbA/7ZLLhjc85h7chZGBCQ=
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/pelletier/go-toml v1.0.1/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/peterh/liner v1.0.1-0.20171122030339-3681c2a91233/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.7.0/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU=
github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw=
github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI=
github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
github.com/prometheus/common v0.48.0 h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE=
github.com/prometheus/common v0.48.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644/go.mod h1:nkxAfR/5quYxwPZhyDxgasBMnRtBZd0FCEpawpjMUFg=
github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18 h1:DAYUYH5869yV94zvCES9F51oYtN5oGlwjxJJz7ZCnik=
github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18/go.mod h1:nkxAfR/5quYxwPZhyDxgasBMnRtBZd0FCEpawpjMUFg=
github.com/siddontang/go v0.0.0-20170517070808-cb568a3e5cc0/go.mod h1:3yhqj7WBBfRhbBlzyOC3gUxftwsU0u8gqevxwIHQpMw=
github.com/siddontang/goredis v0.0.0-20150324035039-760763f78400/go.mod h1:DDcKzU3qCuvj/tPnimWSsZZzvk9qvkvrIL5naVBPh5s=
github.com/siddontang/rdb v0.0.0-20150307021120-fc89ed2e418d/go.mod h1:AMEsy7v5z92TR1JKMkLLoaOQk++LVnOKL3ScbJ8GNGA=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/ssdb/gossdb v0.0.0-20180723034631-88f6b59b84ec/go.mod h1:QBvMkMya+gXctz3kmljlUCu/yB3GZ6oee+dUozsezQE=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/syndtr/goleveldb v0.0.0-20160425020131-cfa635847112/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0=
github.com/ugorji/go v0.0.0-20171122102828-84cb69a8af83/go.mod h1:hnLbHMwcvSihnDhEfx2/BzKp2xb0Y+ErdfYcrs9tkJQ=
github.com/wendal/errors v0.0.0-20181209125328-7f31f4b264ec/go.mod h1:Q12BUT7DqIlHRmgv3RskH+UCM/4eqVMgI0EMmlSpAXc=
github.com/yuin/gopher-lua v0.0.0-20171031051903-609c9cd26973/go.mod h1:aEV29XrmTYFr3CiRxZeGHpkvbwq+prZduBqMaascyCU=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
RequestTrip/RequestTrip/main.go
0 → 100644
View file @
a25c9f3e
package
main
import
(
_
"RequestTrip/routers"
"log"
"github.com/beego/beego/orm"
"github.com/beego/beego/v2/core/logs"
"github.com/beego/beego/v2/server/web"
_
"github.com/go-sql-driver/mysql"
)
// dbConnection establishes a connection to the database.
func
dbConnection
()
{
sqlconn
,
err
:=
web
.
AppConfig
.
String
(
"sqlconn"
)
if
err
!=
nil
{
logs
.
Error
(
"Failed to retrieve SQL connection string from config: %v"
,
err
)
log
.
Fatal
(
err
)
return
}
err
=
orm
.
RegisterDataBase
(
"default"
,
"mysql"
,
sqlconn
)
if
err
!=
nil
{
logs
.
Error
(
"Failed to register database: %v"
,
err
)
return
}
logs
.
Info
(
"Database connection established successfully"
)
}
// init initializes the database connection and logging settings.
func
init
()
{
logs
.
Info
(
"Starting database connection setup..."
)
err
:=
orm
.
RegisterDriver
(
"mysql"
,
orm
.
DRMySQL
)
if
err
!=
nil
{
logs
.
Error
(
"Failed to register MySQL driver: %v"
,
err
)
return
}
dbConnection
()
// Configure logging
logConfig
:=
`{"filename":"error.log","perm":"777","level":7,"maxlines":0,"maxsize":0,"daily":true,"maxdays":10,"color":true}`
err
=
logs
.
SetLogger
(
logs
.
AdapterFile
,
logConfig
)
if
err
!=
nil
{
logs
.
Error
(
"Failed to configure logging: %v"
,
err
)
return
}
logs
.
Info
(
"Logging configured successfully"
)
}
func
main
()
{
web
.
Run
()
}
RequestTrip/RequestTrip/models/models.go
0 → 100644
View file @
a25c9f3e
package
models
import
(
"time"
"github.com/beego/beego/orm"
)
func
init
()
{
orm
.
RegisterModel
(
new
(
TripRequestDetails
),
new
(
BiddingTripAdditionalDetails
),
new
(
BiddingRequestBidDetails
),
new
(
BiddingRequestStatusDetails
),
new
(
BidStatusDetails
))
}
// TripRequestDetails model
type
TripRequestDetails
struct
{
RequestID
int
`orm:"pk;column(request_id)" json:"request_id"`
ShipperID
int
`orm:"column(shipper_id)" json:"shipper_id"`
ShipperType
string
`orm:"column(shipper_type)" json:"shipper_type"`
PickAddBookID
*
int
`orm:"column(pick_add_book_id)" json:"pick_add_book_id"`
PickThanaID
*
int
`orm:"column(pick_thana_id)" json:"pick_thana_id"`
PickUnionID
int
`orm:"column(pick_union_id)" json:"pick_union_id"`
PickAreaID
int
`orm:"column(pick_area_id)" json:"pick_area_id"`
PickAdd
*
string
`orm:"column(pick_add)" json:"pick_add"`
DropAddBookID
*
int
`orm:"column(drop_add_book_id)" json:"drop_add_book_id"`
CustomFullPickAddEng
*
string
`orm:"column(custom_full_pick_add_eng)" json:"custom_full_pick_add_eng"`
CustomFullPickAddBng
*
string
`orm:"column(custom_full_pick_add_bng)" json:"custom_full_pick_add_bng"`
CustomFullDropAddEng
*
string
`orm:"column(custom_full_drop_add_eng)" json:"custom_full_drop_add_eng"`
CustomFullDropAddBng
*
string
`orm:"column(custom_full_drop_add_bng)" json:"custom_full_drop_add_bng"`
DropThanaID
*
int
`orm:"column(drop_thana_id)" json:"drop_thana_id"`
DropUnionID
int
`orm:"column(drop_union_id)" json:"drop_union_id"`
DropAreaID
int
`orm:"column(drop_area_id)" json:"drop_area_id"`
DropAdd
*
string
`orm:"column(drop_add)" json:"drop_add"`
PickTime
*
string
`orm:"column(pick_time)" json:"pick_time"`
MultiplePickDrop
*
int
`orm:"column(multiple_pick_drop)" json:"multiple_pick_drop"`
AdditionalService
*
int
`orm:"column(additional_service)" json:"additional_service"`
TTCategory
int
`orm:"column(tt_category)" json:"tt_category"`
TTOpenCover
string
`orm:"column(tt_open_cover)" json:"tt_open_cover"`
ProductType
*
string
`orm:"column(product_type)" json:"product_type"`
ProductCategoryEng
string
`orm:"column(product_category_eng)" json:"product_category_eng"`
ProductCategoryBng
string
`orm:"column(product_category_bng)" json:"product_category_bng"`
AddedPromoID
*
int
`orm:"column(added_promo_id)" json:"added_promo_id"`
TripPrice
*
float64
`orm:"column(trip_price)" json:"trip_price"`
TripPriceBeforeAccountCharges
float64
`orm:"column(trip_price_before_account_charges)" json:"trip_price_before_account_charges"`
ShipperBudget
*
float64
`orm:"column(shipper_budget)" json:"shipper_budget"`
FraudHappened
string
`orm:"column(fraud_happened)" json:"fraud_happened"`
TripReferredFrom
*
string
`orm:"column(trip_referred_from)" json:"trip_referred_from"`
IsCreditTrip
*
int
`orm:"column(is_credit_trip)" json:"is_credit_trip"`
IsCashTrip
int
`orm:"column(is_cash_trip)" json:"is_cash_trip"`
SubType
string
`orm:"column(sub_type)" json:"sub_type"`
IsProjectTrip
int
`orm:"column(is_project_trip)" json:"is_project_trip"`
PickLat
float64
`orm:"column(pick_lat)" json:"pick_lat"`
PickLng
float64
`orm:"column(pick_lng)" json:"pick_lng"`
DropLat
float64
`orm:"column(drop_lat)" json:"drop_lat"`
DropLng
float64
`orm:"column(drop_lng)" json:"drop_lng"`
CreateDate
*
string
`orm:"column(create_date)" json:"create_date"`
UpdateBy
*
string
`orm:"column(update_by)" json:"update_by"`
UpdateDate
*
string
`orm:"column(update_date)" json:"update_date"`
ProjectID
int
`orm:"column(project_id)" json:"project_id"`
OrderID
*
string
`orm:"column(order_id)" json:"order_id"`
}
type
BiddingTripAdditionalDetails
struct
{
TripDetailsID
int
`orm:"pk;column(trip_details_id)" json:"trip_details_id"`
RequestID
int
`orm:"column(request_id)" json:"request_id"`
CompanyName
*
string
`orm:"column(company_name)" json:"company_name"`
ShipperName
string
`orm:"column(shipper_name)" json:"shipper_name"`
ShipperPhone
string
`orm:"column(shipper_phone)" json:"shipper_phone"`
PickContactPersonName
*
string
`orm:"column(pick_contact_person_name)" json:"pick_contact_person_name"`
PickContactPersonPhone
*
string
`orm:"column(pick_contact_person_phone)" json:"pick_contact_person_phone"`
PickAddressName
*
string
`orm:"column(pick_address_name)" json:"pick_address_name"`
DropContactPersonName
*
string
`orm:"column(drop_contact_person_name)" json:"drop_contact_person_name"`
DropContactPersonPhone
*
string
`orm:"column(drop_contact_person_phone)" json:"drop_contact_person_phone"`
DropAddressName
*
string
`orm:"column(drop_address_name)" json:"drop_address_name"`
PromoCode
*
string
`orm:"column(promo_code)" json:"promo_code"`
PromoID
*
int
`orm:"column(promo_id)" json:"promo_id"`
PromoAppliedBidID
*
int
`orm:"column(promo_applied_bid_id)" json:"promo_applied_bid_id"`
PromoAmount
*
float64
`orm:"column(promo_amount)" json:"promo_amount"`
PromoRate
*
float64
`orm:"column(promo_rate)" json:"promo_rate"`
ShipperRating
string
`orm:"column(shipper_rating)" json:"shipper_rating"`
ServiceName
*
string
`orm:"column(service_name)" json:"service_name"`
ServiceNameBng
*
string
`orm:"column(service_name_bng)" json:"service_name_bng"`
ReflectionToOwner
*
string
`orm:"column(reflection_to_owner)" json:"reflection_to_owner"`
ReflectionToShipper
*
string
`orm:"column(reflection_to_shipper)" json:"reflection_to_shipper"`
MultipleDropDetails
*
string
`orm:"column(multiple_drop_details)" json:"multiple_drop_details"`
MultipleDropCount
*
int
`orm:"column(multiple_drop_count)" json:"multiple_drop_count"`
IsRoundTrip
*
int
`orm:"column(is_round_trip)" json:"is_round_trip"`
HasAdditionalCharge
*
int
`orm:"column(has_additional_charge)" json:"has_additional_charge"`
CreatedFrom
*
string
`orm:"column(created_from)" json:"created_from"`
AppType
*
string
`orm:"column(app_type)" json:"app_type"`
CreateDate
*
string
`orm:"column(create_date)" json:"create_date"`
UpdateDate
*
string
`orm:"column(update_date)" json:"update_date"`
KamName
*
string
`orm:"column(kam_name)" json:"kam_name"`
KamPhone
*
string
`orm:"column(kam_phone)" json:"kam_phone"`
LowerPriceRange
float64
`orm:"column(lower_price_range)" json:"lower_price_range"`
UpperPriceRange
float64
`orm:"column(upper_price_range)" json:"upper_price_range"`
}
type
BiddingRequestBidDetails
struct
{
BidID
int
`orm:"pk;column(bid_id)" json:"bid_id"`
RequestID
int
`orm:"column(request_id)" json:"request_id"`
OwnerID
int
`orm:"column(owner_id)" json:"owner_id"`
OwnerUsername
*
string
`orm:"column(owner_username)" json:"owner_username"`
OwnerPhone
*
string
`orm:"column(owner_phone)" json:"owner_phone"`
OwnerRating
*
string
`orm:"column(owner_rating)" json:"owner_rating"`
TruckRating
*
string
`orm:"column(truck_rating)" json:"truck_rating"`
TruckID
int
`orm:"column(truck_id)" json:"truck_id"`
TruckNo
*
string
`orm:"column(truck_no)" json:"truck_no"`
TruckCategory
*
int
`orm:"column(truck_category)" json:"truck_category"`
TruckCategoryText
*
string
`orm:"column(truck_category_text)" json:"truck_category_text"`
TruckShape
*
string
`orm:"column(truck_shape)" json:"truck_shape"`
Model
*
string
`orm:"column(model)" json:"model"`
ImeiID
*
int64
`orm:"column(imei_id)" json:"imei_id"`
Rate
float64
`orm:"column(rate)" json:"rate"`
RateWithoutCommission
*
float64
`orm:"column(rate_without_commission)" json:"rate_without_commission"`
RateBeforeAccountCharges
float64
`orm:"column(rate_before_account_charges)" json:"rate_before_account_charges"`
RateUpdateCount
uint
`orm:"column(rate_update_count)" json:"rate_update_count"`
CreateDate
*
string
`orm:"column(create_date)" json:"create_date"`
UpdateBy
*
string
`orm:"column(update_by)" json:"update_by"`
UpdateDate
*
string
`orm:"column(update_date)" json:"update_date"`
IsFavourite
*
int
`orm:"column(is_favourite)" json:"is_favourite"`
IsBan
*
int
`orm:"column(is_ban)" json:"is_ban"`
CreatedFrom
*
string
`orm:"column(created_from)" json:"created_from"`
}
type
BiddingRequestStatusDetails
struct
{
StatusDetailsID
int
`orm:"pk;column(status_details_id)" json:"status_details_id"`
RequestID
int
`orm:"column(request_id)" json:"request_id"`
Status
string
`orm:"column(status)" json:"status"`
AdminUser
*
string
`orm:"column(admin_user)" json:"admin_user"`
UpdatedBy
*
string
`orm:"column(updated_by)" json:"updated_by"`
CancellationReasonID
*
int
`orm:"column(cancellation_reason_id)" json:"cancellation_reason_id"`
CancellationReason
*
string
`orm:"column(cancellation_reason)" json:"cancellation_reason"`
CancelledByWhom
*
string
`orm:"column(cancelled_by_whom)" json:"cancelled_by_whom"`
ReactiveBy
*
string
`orm:"column(reactive_by)" json:"reactive_by"`
CreateDate
*
string
`orm:"column(create_date)" json:"create_date"`
}
type
BidStatusDetails
struct
{
StatusDetailsID
int
`orm:"pk;column(status_details_id)" json:"status_details_id"`
BidID
int
`orm:"column(bid_id)" json:"bid_id"`
Price
float64
`orm:"column(price)" json:"price"`
Status
string
`orm:"column(status)" json:"status"`
AdminUser
*
string
`orm:"column(admin_user)" json:"admin_user"`
CancellationReasonID
*
int
`orm:"column(cancellation_reason_id)" json:"cancellation_reason_id"`
CancellationReason
*
string
`orm:"column(cancellation_reason)" json:"cancellation_reason"`
CancelledByWhom
*
string
`orm:"column(cancelled_by_whom)" json:"cancelled_by_whom"`
UpdatedBy
*
string
`orm:"column(updated_by)" json:"updated_by"`
CreateDate
time
.
Time
`orm:"column(create_date);type(datetime);auto_now_add" json:"create_date"`
}
// TableName sets the name of the table in the database.
func
(
t
*
TripRequestDetails
)
TableName
()
string
{
return
"trip_request_details"
}
func
(
b
*
BiddingTripAdditionalDetails
)
TableName
()
string
{
return
"bidding_trip_additional_details"
}
func
(
b
*
BiddingRequestBidDetails
)
TableName
()
string
{
return
"bidding_request_bid_details"
}
func
(
b
*
BiddingRequestStatusDetails
)
TableName
()
string
{
return
"bidding_request_status_details"
}
func
(
b
*
BidStatusDetails
)
TableName
()
string
{
return
"bid_status_details"
}
\ No newline at end of file
RequestTrip/RequestTrip/routers/routers.go
0 → 100644
View file @
a25c9f3e
package
routers
import
(
"RequestTrip/controllers"
"github.com/beego/beego/v2/server/web"
)
func
init
()
{
//sob trip eksathe dekhay
web
.
Router
(
"/triprequestdetails"
,
&
controllers
.
TripRequestDetailsController
{},
"get:GetAll"
)
//request id diye trip dekhay
web
.
Router
(
"/triprequestdetails/:request_id"
,
&
controllers
.
TripRequestDetailsController
{},
"get:GetByID"
)
//bid status dekhay
web
.
Router
(
"/triprequeststatus/:request_id"
,
&
controllers
.
TripRequestStatusController
{},
"get:GetStatusByRequestID"
)
//request id diye bidding request status dekhay
web
.
Router
(
"/biddingrequestbiddetails/request_id/:request_id"
,
&
controllers
.
BiddingRequestBidDetailsController
{},
"get:GetByRequestID"
)
//bid id diye bidding request status dekhay
web
.
Router
(
"/biddingrequestbiddetails/bid_id/:bid_id"
,
&
controllers
.
BiddingRequestBidDetailsController
{},
"get:GetByBidID"
)
//Addiitonal details dekhay
web
.
Router
(
"/biddingtripadditionaldetails"
,
&
controllers
.
BiddingTripAdditionalDetailsController
{},
"get:Get"
)
//Addition details dekhay request id diye
web
.
Router
(
"/biddingtripadditionaldetails/request_id/:request_id"
,
&
controllers
.
BiddingTripAdditionalDetailsController
{},
"get:GetWithTripRequestDetails"
)
//bidding request status using request id
web
.
Router
(
"/biddingrequeststatusdetails"
,
&
controllers
.
BiddingRequestStatusDetailsController
{},
"get:Get"
)
web
.
Router
(
"/biddingrequeststatusdetails/request_id/:request_id"
,
&
controllers
.
BiddingRequestStatusDetailsController
{},
"get:GetByRequestID"
)
//Bid status details dekhay using bid id
web
.
Router
(
"/bidstatusdetails"
,
&
controllers
.
BidStatusDetailsController
{},
"get:Get"
)
web
.
Router
(
"/bidstatusdetails/bid_id/:bid_id"
,
&
controllers
.
BidStatusDetailsController
{},
"get:GetByBidID"
)
// New route for trip details with bids
web
.
Router
(
"/tripdetailswithbids/:request_id"
,
&
controllers
.
TripDetailsWithBidsController
{},
"get:GetTripDetailsWithBids"
)
}
RequestTrip/RequestTrip/tests/default_test.go
0 → 100644
View file @
a25c9f3e
package
test
import
(
"net/http"
"net/http/httptest"
"testing"
"runtime"
"path/filepath"
_
"RequestTrip/routers"
beego
"github.com/beego/beego/v2/server/web"
"github.com/beego/beego/v2/core/logs"
.
"github.com/smartystreets/goconvey/convey"
)
func
init
()
{
_
,
file
,
_
,
_
:=
runtime
.
Caller
(
0
)
apppath
,
_
:=
filepath
.
Abs
(
filepath
.
Dir
(
filepath
.
Join
(
file
,
".."
+
string
(
filepath
.
Separator
))))
beego
.
TestBeegoInit
(
apppath
)
}
// TestGet is a sample to run an endpoint test
func
TestGet
(
t
*
testing
.
T
)
{
r
,
_
:=
http
.
NewRequest
(
"GET"
,
"/v1/object"
,
nil
)
w
:=
httptest
.
NewRecorder
()
beego
.
BeeApp
.
Handlers
.
ServeHTTP
(
w
,
r
)
logs
.
Info
(
"testing"
,
"TestGet"
,
"Code[%d]
\n
%s"
,
w
.
Code
,
w
.
Body
.
String
())
Convey
(
"Subject: Test Station Endpoint
\n
"
,
t
,
func
()
{
Convey
(
"Status Code Should Be 200"
,
func
()
{
So
(
w
.
Code
,
ShouldEqual
,
200
)
})
Convey
(
"The Result Should Not Be Empty"
,
func
()
{
So
(
w
.
Body
.
Len
(),
ShouldBeGreaterThan
,
0
)
})
})
}
Todo_Using_Beego/Todo/conf/app.conf
0 → 100644
View file @
a25c9f3e
appname
=
Todo
httpport
=
8080
runmode
=
dev
autorender
=
false
copyrequestbody
=
true
EnableDocs
=
true
sqlconn
=
Todo_Using_Beego/Todo/controllers/object.go
0 → 100644
View file @
a25c9f3e
package
controllers
import
(
"Todo/models"
"encoding/json"
beego
"github.com/beego/beego/v2/server/web"
)
// Operations about object
type
ObjectController
struct
{
beego
.
Controller
}
// @Title Create
// @Description create object
// @Param body body models.Object true "The object content"
// @Success 200 {string} models.Object.Id
// @Failure 403 body is empty
// @router / [post]
func
(
o
*
ObjectController
)
Post
()
{
var
ob
models
.
Object
json
.
Unmarshal
(
o
.
Ctx
.
Input
.
RequestBody
,
&
ob
)
objectid
:=
models
.
AddOne
(
ob
)
o
.
Data
[
"json"
]
=
map
[
string
]
string
{
"ObjectId"
:
objectid
}
o
.
ServeJSON
()
}
// @Title Get
// @Description find object by objectid
// @Param objectId path string true "the objectid you want to get"
// @Success 200 {object} models.Object
// @Failure 403 :objectId is empty
// @router /:objectId [get]
func
(
o
*
ObjectController
)
Get
()
{
objectId
:=
o
.
Ctx
.
Input
.
Param
(
":objectId"
)
if
objectId
!=
""
{
ob
,
err
:=
models
.
GetOne
(
objectId
)
if
err
!=
nil
{
o
.
Data
[
"json"
]
=
err
.
Error
()
}
else
{
o
.
Data
[
"json"
]
=
ob
}
}
o
.
ServeJSON
()
}
// @Title GetAll
// @Description get all objects
// @Success 200 {object} models.Object
// @Failure 403 :objectId is empty
// @router / [get]
func
(
o
*
ObjectController
)
GetAll
()
{
obs
:=
models
.
GetAll
()
o
.
Data
[
"json"
]
=
obs
o
.
ServeJSON
()
}
// @Title Update
// @Description update the object
// @Param objectId path string true "The objectid you want to update"
// @Param body body models.Object true "The body"
// @Success 200 {object} models.Object
// @Failure 403 :objectId is empty
// @router /:objectId [put]
func
(
o
*
ObjectController
)
Put
()
{
objectId
:=
o
.
Ctx
.
Input
.
Param
(
":objectId"
)
var
ob
models
.
Object
json
.
Unmarshal
(
o
.
Ctx
.
Input
.
RequestBody
,
&
ob
)
err
:=
models
.
Update
(
objectId
,
ob
.
Score
)
if
err
!=
nil
{
o
.
Data
[
"json"
]
=
err
.
Error
()
}
else
{
o
.
Data
[
"json"
]
=
"update success!"
}
o
.
ServeJSON
()
}
// @Title Delete
// @Description delete the object
// @Param objectId path string true "The objectId you want to delete"
// @Success 200 {string} delete success!
// @Failure 403 objectId is empty
// @router /:objectId [delete]
func
(
o
*
ObjectController
)
Delete
()
{
objectId
:=
o
.
Ctx
.
Input
.
Param
(
":objectId"
)
models
.
Delete
(
objectId
)
o
.
Data
[
"json"
]
=
"delete success!"
o
.
ServeJSON
()
}
Todo_Using_Beego/Todo/controllers/user.go
0 → 100644
View file @
a25c9f3e
package
controllers
import
(
"Todo/models"
"encoding/json"
beego
"github.com/beego/beego/v2/server/web"
)
// Operations about Users
type
UserController
struct
{
beego
.
Controller
}
// @Title CreateUser
// @Description create users
// @Param body body models.User true "body for user content"
// @Success 200 {int} models.User.Id
// @Failure 403 body is empty
// @router / [post]
func
(
u
*
UserController
)
Post
()
{
var
user
models
.
User
json
.
Unmarshal
(
u
.
Ctx
.
Input
.
RequestBody
,
&
user
)
uid
:=
models
.
AddUser
(
user
)
u
.
Data
[
"json"
]
=
map
[
string
]
string
{
"uid"
:
uid
}
u
.
ServeJSON
()
}
// @Title GetAll
// @Description get all Users
// @Success 200 {object} models.User
// @router / [get]
func
(
u
*
UserController
)
GetAll
()
{
users
:=
models
.
GetAllUsers
()
u
.
Data
[
"json"
]
=
users
u
.
ServeJSON
()
}
// @Title Get
// @Description get user by uid
// @Param uid path string true "The key for staticblock"
// @Success 200 {object} models.User
// @Failure 403 :uid is empty
// @router /:uid [get]
func
(
u
*
UserController
)
Get
()
{
uid
:=
u
.
GetString
(
":uid"
)
if
uid
!=
""
{
user
,
err
:=
models
.
GetUser
(
uid
)
if
err
!=
nil
{
u
.
Data
[
"json"
]
=
err
.
Error
()
}
else
{
u
.
Data
[
"json"
]
=
user
}
}
u
.
ServeJSON
()
}
// @Title Update
// @Description update the user
// @Param uid path string true "The uid you want to update"
// @Param body body models.User true "body for user content"
// @Success 200 {object} models.User
// @Failure 403 :uid is not int
// @router /:uid [put]
func
(
u
*
UserController
)
Put
()
{
uid
:=
u
.
GetString
(
":uid"
)
if
uid
!=
""
{
var
user
models
.
User
json
.
Unmarshal
(
u
.
Ctx
.
Input
.
RequestBody
,
&
user
)
uu
,
err
:=
models
.
UpdateUser
(
uid
,
&
user
)
if
err
!=
nil
{
u
.
Data
[
"json"
]
=
err
.
Error
()
}
else
{
u
.
Data
[
"json"
]
=
uu
}
}
u
.
ServeJSON
()
}
// @Title Delete
// @Description delete the user
// @Param uid path string true "The uid you want to delete"
// @Success 200 {string} delete success!
// @Failure 403 uid is empty
// @router /:uid [delete]
func
(
u
*
UserController
)
Delete
()
{
uid
:=
u
.
GetString
(
":uid"
)
models
.
DeleteUser
(
uid
)
u
.
Data
[
"json"
]
=
"delete success!"
u
.
ServeJSON
()
}
// @Title Login
// @Description Logs user into the system
// @Param username query string true "The username for login"
// @Param password query string true "The password for login"
// @Success 200 {string} login success
// @Failure 403 user not exist
// @router /login [get]
func
(
u
*
UserController
)
Login
()
{
username
:=
u
.
GetString
(
"username"
)
password
:=
u
.
GetString
(
"password"
)
if
models
.
Login
(
username
,
password
)
{
u
.
Data
[
"json"
]
=
"login success"
}
else
{
u
.
Data
[
"json"
]
=
"user not exist"
}
u
.
ServeJSON
()
}
// @Title logout
// @Description Logs out current logged in user session
// @Success 200 {string} logout success
// @router /logout [get]
func
(
u
*
UserController
)
Logout
()
{
u
.
Data
[
"json"
]
=
"logout success"
u
.
ServeJSON
()
}
Todo_Using_Beego/Todo/go.mod
0 → 100644
View file @
a25c9f3e
module Todo
go 1.22
require github.com/beego/beego/v2 v2.3.0
require github.com/smartystreets/goconvey v1.6.4
require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/hashicorp/golang-lru v0.5.4 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/prometheus/client_golang v1.19.0 // indirect
github.com/prometheus/client_model v0.5.0 // indirect
github.com/prometheus/common v0.48.0 // indirect
github.com/prometheus/procfs v0.12.0 // indirect
github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18 // indirect
golang.org/x/crypto v0.24.0 // indirect
golang.org/x/net v0.23.0 // indirect
golang.org/x/sys v0.21.0 // indirect
golang.org/x/text v0.16.0 // indirect
google.golang.org/protobuf v1.34.1 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment