12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package public
- import (
- "fmt"
- "sync"
- )
- func PageNumParse(pageNum, pageSize, maxNum int64) (num, size int64, err error) {
- if pageNum < 1 {
- pageNum = 1
- }
- if pageSize < 1 {
- pageSize = 1
- }
- if maxNum > 0 && pageNum*pageSize > maxNum {
- err = fmt.Errorf("超出检索限制")
- }
- num = pageNum
- size = pageSize
- return
- }
- func PageRange(num, min, max int64) int64 {
- if num < min {
- return min
- }
- if num > max {
- return max
- }
- return num
- }
- var (
- PLock *DocBuyLock
- )
- type DocBuyLock struct {
- sync.Mutex
- UserLock map[string]*sync.Mutex
- }
- func NewDocBuyLock() *DocBuyLock {
- return &DocBuyLock{
- UserLock: make(map[string]*sync.Mutex),
- }
- }
- func init() {
- PLock = NewDocBuyLock()
- }
- func GetNewDocBuyLock(str string) *sync.Mutex {
- PLock.Lock()
- if PLock.UserLock[str] == nil {
- PLock.UserLock[str] = &sync.Mutex{}
- }
- PLock.Unlock()
- return PLock.UserLock[str]
- }
|