123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- package db
- import (
- "time"
- "git.chuangxin1.com/cx/myth"
- )
- const (
- ErrOK = 0
- ErrException = 1
- ErrExists = 2
- ErrNotFound = 3
- ErrAuthorized = 4
- ErrNotConnect = 5
- ErrDataNotFound = 6
- ErrExpired = 7
- ErrInsufficientBalance = 8
- ErrCreditLimit = 9
- )
- type Config struct {
- Driver string
- DNS string
- MaxOpenConns int
- MaxIdle int
- MaxLifetime time.Duration
- }
- type Reply struct {
- OK bool
- Err error
- LastErr error
- ErrCode int
- LastID int64
- RowsAffected int64
- }
- func ReplyOk(rowsAffected, lastID int64) Reply {
- var reply Reply
- reply.OK = true
- reply.ErrCode = 0
- reply.LastID = lastID
- reply.RowsAffected = rowsAffected
- return reply
- }
- func ReplyFaild(errCode int, err, errText error) (reply Reply) {
- reply.OK = false
- reply.ErrCode = errCode
- reply.LastID = -1
- reply.RowsAffected = -1
- reply.Err = err
- reply.LastErr = errText
- return
- }
- func ReplyToReplyData(reply Reply) *myth.ReplyData {
- status := myth.ErrOk
- if !reply.OK {
- switch reply.ErrCode {
- case ErrException:
- status = myth.ErrException
- case ErrExists:
- status = myth.ErrDataExists
- case ErrNotFound:
- status = myth.ErrDataNotFound
- case ErrAuthorized:
- status = myth.ErrUnAuthorized
- case ErrNotConnect:
- status = myth.ErrNotFound
- case ErrExpired:
- status = myth.ErrNotAllowed
- case ErrInsufficientBalance:
- status = myth.ErrNotAllowed
- case ErrCreditLimit:
- status = myth.ErrNotAllowed
- }
- return myth.ReplyErr(status, reply.LastErr.Error())
- }
- return myth.ReplyOk()
- }
|