12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package controllers
- import (
- "encoding/json"
- "eta/eta_mini_crm_ht/models"
- "fmt"
- )
- type SysConfigController struct {
- BaseAuthController
- }
- type Config struct {
- ConfigId int
- ConfigType string
- Json bool
- }
- const (
- ConfigTypeInt = "int"
- ConfigTypeStr = "string"
- ConfigTypeByte = "byte"
- )
- const (
- // configCode
- PaymentWayCode string = "paymentWay"
- )
- // SysConfigMap 用于存储错误码和错误信息的映射
- var SysConfigMap = map[string]*Config{
- PaymentWayCode: {ConfigId: 1003, ConfigType: ConfigTypeStr, Json: true},
- }
- func GetConfig(code string) *Config {
- return SysConfigMap[code]
- }
- // GetConfig
- // @Title 系统用户详情信息
- // @Description 用户详情信息
- // @Param SysUserId query int true "系统用户id"
- // @Success 200 {object} models.LoginResp
- // @router /config [get]
- func (this *SysConfigController) GetConfig() {
- br := new(models.BaseResponse).Init()
- defer func() {
- this.Data["json"] = br
- this.ServeJSON()
- }()
- ConfigKey := this.GetString("ConfigKey")
- if ConfigKey == "" {
- br.Msg = "系统参数错误"
- br.ErrMsg = fmt.Sprintf("系统参数错误 <%d>", ConfigKey)
- return
- }
- configMap := SysConfigMap[ConfigKey]
- configId := configMap.ConfigId
- if configId == 0 {
- br.Msg = "系统参数错误"
- br.ErrMsg = fmt.Sprintf("系统参数错误,系统配置不存在")
- return
- }
- config, err := models.GetConfig(configId)
- if err != nil {
- br.Msg = "系统参数获取失败"
- br.ErrMsg = "系统参数获取失败,Err" + err.Error()
- return
- }
- var value interface{}
- switch config.ConfigType {
- case ConfigTypeInt:
- value = config.ByteValue
- case ConfigTypeByte:
- value = config.IntValue
- case ConfigTypeStr:
- if configMap.Json {
- var jsonMap map[string]interface{}
- err = json.Unmarshal([]byte(config.StrValue), &jsonMap)
- value = jsonMap
- } else {
- value = config.StrValue
- }
- }
- br.Data = value
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- }
|