|
@@ -279,3 +279,150 @@ func (this *BusinessConfOpenController) CodeEncrypt() {
|
|
|
br.Success = true
|
|
|
br.Msg = "获取成功"
|
|
|
}
|
|
|
+
|
|
|
+// SingleSave
|
|
|
+// @Title 保存单项配置
|
|
|
+// @Description 保存配置
|
|
|
+// @Param request body map[string]interface{} true "type json string"
|
|
|
+// @Success 200 Ret=200 操作成功
|
|
|
+// @router /single/save [post]
|
|
|
+func (this *BusinessConfController) SingleSave() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ if br.ErrMsg == "" {
|
|
|
+ br.IsSendEmail = false
|
|
|
+ }
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var req models.BusinessConfSingleSaveReq
|
|
|
+ if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if req.ConfKey == "" {
|
|
|
+ br.Msg = "参数异常!"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 设置白名单,只有白名单里的配置才允许保存
|
|
|
+ writeList := []string{models.BusinessConfEdbStopRefreshRule}
|
|
|
+ if !utils.InArrayByStr(writeList, req.ConfKey) {
|
|
|
+ br.Msg = "不支持该项配置"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 获取配置信息
|
|
|
+ confOb, e := models.GetBusinessConfByKey(req.ConfKey)
|
|
|
+ if e != nil {
|
|
|
+ if e.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "配置不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "保存失败"
|
|
|
+ br.ErrMsg = "获取配置失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ switch confOb.ValType {
|
|
|
+ case 1: // 字符串
|
|
|
+ req.ConfVal = strings.TrimSpace(req.ConfVal)
|
|
|
+ if confOb.Necessary == 1 && req.ConfVal == "" {
|
|
|
+ br.Msg = confOb.Remark + "不可为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if req.ConfKey == models.BusinessConfEdbStopRefreshRule {
|
|
|
+ //将json转为结构体
|
|
|
+ rule := new(models.EdbStopRefreshRule)
|
|
|
+ err := json.Unmarshal([]byte(req.ConfVal), rule)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = confOb.Remark + "格式错误"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if confOb.ConfVal != req.ConfVal {
|
|
|
+ confOb.ConfVal = req.ConfVal
|
|
|
+ if e = confOb.Update([]string{"ConfVal"}); e != nil {
|
|
|
+ br.Msg = "保存失败"
|
|
|
+ br.ErrMsg = "保存商家配置失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 操作日志
|
|
|
+ go func() {
|
|
|
+ b, e := json.Marshal(req)
|
|
|
+ if e != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ recordOb := new(models.BusinessConfOperationRecord)
|
|
|
+ recordOb.SysUserId = sysUser.AdminId
|
|
|
+ recordOb.SysRealName = sysUser.RealName
|
|
|
+ recordOb.Content = string(b)
|
|
|
+ recordOb.CreateTime = time.Now().Local()
|
|
|
+ _ = recordOb.Create()
|
|
|
+ }()
|
|
|
+ }
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "操作成功"
|
|
|
+}
|
|
|
+
|
|
|
+// GetSingle
|
|
|
+// @Title 获取单项配置
|
|
|
+// @Description 保存配置
|
|
|
+// @Param request body map[string]interface{} true "type json string"
|
|
|
+// @Success 200 Ret=200 操作成功
|
|
|
+// @router /single [get]
|
|
|
+func (this *BusinessConfController) GetSingle() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ if br.ErrMsg == "" {
|
|
|
+ br.IsSendEmail = false
|
|
|
+ }
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ confKey := this.GetString("ConfKey")
|
|
|
+ if confKey == "" {
|
|
|
+ br.Msg = "参数异常!"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 设置白名单,只有白名单里的配置才允许保存
|
|
|
+ writeList := []string{models.BusinessConfEdbStopRefreshRule}
|
|
|
+ if !utils.InArrayByStr(writeList, confKey) {
|
|
|
+ br.Msg = "不支持该项配置"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 获取配置信息
|
|
|
+ confOb, e := models.GetBusinessConfByKey(confKey)
|
|
|
+ if e != nil {
|
|
|
+ if e.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "配置不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "保存失败"
|
|
|
+ br.ErrMsg = "获取配置失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp := models.BusinessConfSingleResp{ConfVal: confOb.ConfVal}
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "操作成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|