添加修改删除打印机接口
This commit is contained in:
@@ -1,15 +1,18 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"crypto/md5"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"github.com/astaxie/beego/server/web"
|
||||
"net/url"
|
||||
"reflect"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
type ApiController struct {
|
||||
@@ -23,9 +26,16 @@ const (
|
||||
keySign = "sign"
|
||||
)
|
||||
|
||||
const (
|
||||
keyPrintNo = "print_no"
|
||||
keyPrintKey = "print_key"
|
||||
keyName = "name"
|
||||
keyStatus = "status"
|
||||
keyOrderNo = "order_no"
|
||||
)
|
||||
|
||||
var (
|
||||
routerMap map[string]reflect.Value
|
||||
textChan chan string
|
||||
)
|
||||
|
||||
func Init() {
|
||||
@@ -60,16 +70,19 @@ func (c *ApiController) CallOpenAPI() {
|
||||
accessID = utils.GetUUID()
|
||||
requireParams []string
|
||||
dataMap = make(map[string]interface{})
|
||||
//now = time.Now().Unix()
|
||||
now = time.Now().Unix()
|
||||
parms, result []reflect.Value
|
||||
urls url.Values
|
||||
app = &model.Apps{}
|
||||
db = dao.GetDB()
|
||||
)
|
||||
var (
|
||||
appID, sign, method string
|
||||
//timestamp int64
|
||||
appID int
|
||||
sign, method string
|
||||
timestamp int64
|
||||
)
|
||||
//判断必传参数是否传入begin
|
||||
if appID = c.GetString(keyAppID); appID == "" {
|
||||
if appID, err = c.GetInt(keyAppID); err != nil {
|
||||
requireParams = append(requireParams, keyAppID)
|
||||
}
|
||||
if method = c.GetString(keyMethod); method == "" {
|
||||
@@ -78,9 +91,9 @@ func (c *ApiController) CallOpenAPI() {
|
||||
if sign = c.GetString(keySign); sign == "" {
|
||||
requireParams = append(requireParams, keySign)
|
||||
}
|
||||
//if timestamp, err = c.GetInt64("timestamp"); err != nil {
|
||||
// requireParams = append(requireParams, "timestamp")
|
||||
//}
|
||||
if timestamp, err = c.GetInt64(keyTimestamp); err != nil {
|
||||
requireParams = append(requireParams, keyTimestamp)
|
||||
}
|
||||
if len(requireParams) > 0 {
|
||||
err = buildParamRequiredErr(requireParams)
|
||||
}
|
||||
@@ -89,26 +102,43 @@ func (c *ApiController) CallOpenAPI() {
|
||||
goto end
|
||||
}
|
||||
//判断timestamp传入是否正确begin
|
||||
//if len(utils.Int64ToStr(timestamp)) != len(utils.Int64ToStr(now)) {
|
||||
// err = buildTimestampParamErr()
|
||||
// errCode = model.ErrCodeOpenAPIParamErrTimeStamp
|
||||
//}
|
||||
//if now-timestamp < 5 {
|
||||
// err = buildTimestampParamErr()
|
||||
// errCode = model.ErrCodeOpenAPIParamErrTimeStamp
|
||||
//}
|
||||
if len(utils.Int64ToStr(timestamp)) != len(utils.Int64ToStr(now)) {
|
||||
err = buildTimestampParamErr()
|
||||
errCode = model.ErrCodeOpenAPIParamErrTimeStamp
|
||||
}
|
||||
if now-timestamp < 5 {
|
||||
err = buildTimestampParamErr()
|
||||
errCode = model.ErrCodeOpenAPIParamErrTimeStamp
|
||||
}
|
||||
//判断timestamp传入是否正确end
|
||||
if err != nil {
|
||||
goto end
|
||||
}
|
||||
//判断app_id和sign匹配begin
|
||||
|
||||
//判断app_id和sign匹配begin ,sign = app_id + app_key + timestamp的MD5加密
|
||||
app.ID = appID
|
||||
if err = dao.GetEntity(db, app); err != nil {
|
||||
goto end
|
||||
} else {
|
||||
if app.Status != model.UserStatusNormal {
|
||||
errCode = model.ErrCodeGeneralFailed
|
||||
err = fmt.Errorf("很抱歉您的应用已失效!")
|
||||
goto end
|
||||
}
|
||||
appKey := app.AppKey
|
||||
signOrigin := fmt.Sprintf("%x", md5.Sum([]byte(utils.Int2Str(appID)+appKey+utils.Int64ToStr(timestamp))))
|
||||
if strings.Compare(sign, signOrigin) != 0 {
|
||||
errCode = model.ErrCodeOpenAPIParamErrSign
|
||||
err = buildMethodParamSign()
|
||||
goto end
|
||||
}
|
||||
}
|
||||
//判断app_id和sign匹配end
|
||||
//call
|
||||
urls, _ = c.Input()
|
||||
dataMap = utils.URLValues2Map(urls)
|
||||
delete(dataMap, keyMethod)
|
||||
delete(dataMap, keyTimestamp)
|
||||
delete(dataMap, keySign)
|
||||
parms = []reflect.Value{reflect.ValueOf(dataMap)}
|
||||
if routerMap[method] == reflect.ValueOf(nil) {
|
||||
errCode = model.ErrCodeOpenAPIParamErrMethod
|
||||
@@ -143,12 +173,75 @@ success:
|
||||
}
|
||||
}
|
||||
|
||||
func (c *ApiController) AddPrint(dataMap map[string]interface{}) (data, errCode string, err error) {
|
||||
if dataMap[keySign].(string) != "222" {
|
||||
return "", errCode, buildParamErr(keySign)
|
||||
func (c *ApiController) AddPrinter(dataMap map[string]interface{}) (data, errCode string, err error) {
|
||||
var (
|
||||
printNo, printKey, name string
|
||||
appID int
|
||||
)
|
||||
if _, ok := dataMap[keyPrintNo].(string); !ok {
|
||||
return buildParamErrCodeAndErr(keyPrintNo)
|
||||
} else {
|
||||
if printNo = dataMap[keyPrintNo].(string); printNo == "" {
|
||||
return buildParamErrCodeAndErr(keyPrintNo)
|
||||
}
|
||||
}
|
||||
data2, err := json.Marshal(dataMap)
|
||||
return string(data2), errCode, err
|
||||
if _, ok := dataMap[keyPrintKey].(string); !ok {
|
||||
return buildParamErrCodeAndErr(keyPrintKey)
|
||||
} else {
|
||||
if printKey = dataMap[keyPrintKey].(string); printKey == "" {
|
||||
return buildParamErrCodeAndErr(keyPrintKey)
|
||||
}
|
||||
}
|
||||
appID = dataMap[keyAppID].(int)
|
||||
name = dataMap[keyName].(string)
|
||||
if err = cms.AddPrinter(appID, printNo, printKey, name); err != nil {
|
||||
return "", model.ErrCodeGeneralFailed, err
|
||||
}
|
||||
return "", errCode, err
|
||||
}
|
||||
|
||||
func (c *ApiController) DelPrinter(dataMap map[string]interface{}) (data, errCode string, err error) {
|
||||
var (
|
||||
printNo string
|
||||
appID int
|
||||
)
|
||||
if _, ok := dataMap[keyPrintNo].(string); !ok {
|
||||
return buildParamErrCodeAndErr(keyPrintNo)
|
||||
} else {
|
||||
if printNo = dataMap[keyPrintNo].(string); printNo == "" {
|
||||
return buildParamErrCodeAndErr(keyPrintNo)
|
||||
}
|
||||
}
|
||||
appID = dataMap[keyAppID].(int)
|
||||
if err = cms.DelPrinter(appID, printNo); err != nil {
|
||||
return "", model.ErrCodeGeneralFailed, err
|
||||
}
|
||||
return "", errCode, err
|
||||
}
|
||||
func (c *ApiController) UpdatePrinter(dataMap map[string]interface{}) (data, errCode string, err error) {
|
||||
var (
|
||||
printNo, name string
|
||||
appID int
|
||||
)
|
||||
if _, ok := dataMap[keyPrintNo].(string); !ok {
|
||||
return buildParamErrCodeAndErr(keyPrintNo)
|
||||
} else {
|
||||
if printNo = dataMap[keyPrintNo].(string); printNo == "" {
|
||||
return buildParamErrCodeAndErr(keyPrintNo)
|
||||
}
|
||||
}
|
||||
if _, ok := dataMap[keyName].(string); !ok {
|
||||
return buildParamErrCodeAndErr(keyName)
|
||||
} else {
|
||||
if name = dataMap[keyName].(string); name == "" {
|
||||
return buildParamErrCodeAndErr(keyName)
|
||||
}
|
||||
}
|
||||
appID = dataMap[keyAppID].(int)
|
||||
if err = cms.UpdatePrinter(appID, printNo, name); err != nil {
|
||||
return "", model.ErrCodeGeneralFailed, err
|
||||
}
|
||||
return "", errCode, err
|
||||
}
|
||||
|
||||
func (c *ApiController) DoPrint(dataMap map[string]interface{}) (data, errCode string, err error) {
|
||||
@@ -169,7 +262,7 @@ func (c *ApiController) DoPrint(dataMap map[string]interface{}) (data, errCode s
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(printMsg, "")
|
||||
if err = dao.CreateEntity(db, printMsg); err != nil {
|
||||
return data, errCode, err
|
||||
return data, model.ErrCodeGeneralFailed, err
|
||||
}
|
||||
return data, errCode, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user