Browse Source

Merge branch 'ETA_1.2.6'

ziwen 1 year ago
parent
commit
0779046c80

+ 96 - 0
controllers/eta_business/eta_business_menu.go

@@ -666,3 +666,99 @@ func (this *EtaBusinessMenuController) IconAdd() {
 	br.Success = true
 	br.Msg = "操作成功"
 }
+
+// SystemApiConfig
+// @Title 系统配置接口列表
+// @Description 系统配置接口列表
+// @Success 200 {object} []system.BusinessConf
+// @router /api/config/list [get]
+func (this *EtaBusinessMenuController) SystemApiConfig() {
+	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 relates []*eta_business.EtaBusinessConfigRelate
+	businessId, _ := this.GetInt("EtaBusinessId", 0)
+	var err error
+	if businessId > 0 {
+		relateOb := new(eta_business.EtaBusinessConfigRelate)
+		cond := ` AND eta_business_id = ?`
+		pars := make([]interface{}, 0)
+		pars = append(pars, businessId)
+		relates, err = relateOb.GetItemsByCondition(cond, pars, []string{}, "")
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取商家菜单关联列表失败, Err: " + err.Error()
+			return
+		}
+	}
+
+
+	br.Data = relates
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+}
+
+// SystemApiConfig
+// @Title 系统配置接口列表
+// @Description 系统配置接口列表
+// @Success 200 {object} []system.BusinessConf
+// @router /api/config/set [post]
+func (this *EtaBusinessMenuController) SystemApiConfigSet() {
+	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 eta_business.SetBusinessConfReq
+	if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + e.Error()
+		return
+	}
+	ob := new(eta_business.EtaBusinessConfigRelate)
+	items := make([]*eta_business.EtaBusinessConfigRelate, 0)
+	for _, v := range req.List {
+		t := new(eta_business.EtaBusinessConfigRelate)
+		t.ConfigCode = v.ConfigCode
+		t.ConfigValue = v.ConfigValue
+		t.EtaBusinessId = req.EtaBusinessId
+		items = append(items, t)
+	}
+	if e := ob.CreateMulti(req.EtaBusinessId, items); e != nil {
+		br.Msg = "保存失败"
+		br.ErrMsg = "保存商家菜单关联失败, Err: " + e.Error()
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "操作成功"
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "设置成功"
+}

+ 3 - 1
models/company/company_config.go

@@ -9,9 +9,11 @@ const (
 )
 
 type CrmConfig struct {
+	ConfigCode   string `description:"详情Code"`
 	ConfigValue string `description:"详情"`
 }
 
+
 func GetConfigValueByCode(configCode string) (total int, err error) {
 	o := orm.NewOrm()
 	sql := ` SELECT config_value FROM crm_config WHERE config_code=? `
@@ -29,7 +31,7 @@ func CrmConfigUpdate(newValue, configCode string) (err error) {
 
 func GetConfigDetailByCode(configCode string) (item CrmConfig, err error) {
 	o := orm.NewOrm()
-	sql := ` SELECT config_value FROM crm_config WHERE config_code=? `
+	sql := ` SELECT * FROM crm_config WHERE config_code=? `
 	err = o.Raw(sql, configCode).QueryRow(&item)
 	return
 }

+ 2 - 0
models/db.go

@@ -260,6 +260,7 @@ func initCompany() {
 		new(company.CompanyNoRenewedNote),                    // 客户未续约记录
 		new(company.CompanyNoRenewedAscribe),                 // 确认不续约记录
 		new(company.CompanyNoRenewedAscribeLog),              // 确认不续约记录日志
+		new(company.CrmConfig),                               // 管理后台基本配置表
 	)
 }
 
@@ -681,6 +682,7 @@ func initEtaBusiness() {
 		new(eta_business.EtaBusinessOperationRecord), // ETA操作记录表
 		new(eta_business.EtaBusinessMenu),            // ETA商家菜单表
 		new(eta_business.EtaBusinessMenuRelate),      // ETA商家菜单关联表
+		new(eta_business.EtaBusinessConfigRelate),    // ETA商家配置关联表
 		new(eta_business.EtaBusinessMenuIcon),        // ETA商家菜单icon表
 	)
 }

+ 118 - 0
models/eta_business/eta_business_config_relate.go

@@ -0,0 +1,118 @@
+package eta_business
+
+import (
+	"fmt"
+	"github.com/beego/beego/v2/client/orm"
+	"strings"
+)
+
+// EtaBusinessConfigRelate ETA商家菜单api关联表
+type EtaBusinessConfigRelate struct {
+	Id            int `orm:"column(id);pk"`
+	EtaBusinessId int `description:"商家ID"`
+	ConfigCode    string `description:"配置编码"`
+	ConfigValue   string `description:"配置值"`
+}
+
+func (m *EtaBusinessConfigRelate) TableName() string {
+	return "eta_business_config_relate"
+}
+
+func (m *EtaBusinessConfigRelate) PrimaryId() string {
+	return "id"
+}
+
+
+func (m *EtaBusinessConfigRelate) CreateMulti(businessId int, items []*EtaBusinessConfigRelate) (err error) {
+	if businessId == 0 {
+		return
+	}
+	o := orm.NewOrm()
+	tx, err := o.Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err != nil {
+			_ = tx.Rollback()
+			return
+		}
+		_ = tx.Commit()
+	}()
+
+	sql := fmt.Sprintf(`DELETE FROM %s WHERE eta_business_id = ?`, m.TableName())
+	_, err = tx.Raw(sql, businessId).Exec()
+	if err != nil {
+		return
+	}
+
+	if len(items) > 0 {
+		_, err = tx.InsertMulti(len(items), items)
+	}
+	return
+}
+
+func (m *EtaBusinessConfigRelate) Update(cols []string) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Update(m, cols...)
+	return
+}
+
+
+func (m *EtaBusinessConfigRelate) GetItemById(id int) (item *EtaBusinessConfigRelate, err error) {
+	o := orm.NewOrm()
+	sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.PrimaryId())
+	err = o.Raw(sql, id).QueryRow(&item)
+	return
+}
+
+func (m *EtaBusinessConfigRelate) GetItemByCondition(condition string, pars []interface{}) (item *EtaBusinessConfigRelate, err error) {
+	o := orm.NewOrm()
+	sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s LIMIT 1`, m.TableName(), condition)
+	err = o.Raw(sql, pars).QueryRow(&item)
+	return
+}
+
+func (m *EtaBusinessConfigRelate) GetCountByCondition(condition string, pars []interface{}) (count int, err error) {
+	o := orm.NewOrm()
+	sql := fmt.Sprintf(`SELECT COUNT(1) FROM %s WHERE 1=1 %s`, m.TableName(), condition)
+	err = o.Raw(sql, pars).QueryRow(&count)
+	return
+}
+
+func (m *EtaBusinessConfigRelate) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*EtaBusinessConfigRelate, err error) {
+	o := orm.NewOrm()
+	fields := strings.Join(fieldArr, ",")
+	if len(fieldArr) == 0 {
+		fields = `*`
+	}
+	order := ``
+	if orderRule != "" {
+		order = ` ORDER BY ` + orderRule
+	}
+	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
+	_, err = o.Raw(sql, pars).QueryRows(&items)
+	return
+}
+
+func (m *EtaBusinessConfigRelate) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*EtaBusinessConfigRelate, err error) {
+	o := orm.NewOrm()
+	fields := strings.Join(fieldArr, ",")
+	if len(fieldArr) == 0 {
+		fields = `*`
+	}
+	order := ``
+	if orderRule != "" {
+		order = ` ORDER BY ` + orderRule
+	}
+	sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s LIMIT ?,?`, fields, m.TableName(), condition, order)
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	return
+}
+
+// EtaBusinessConfigRelateSaveReq 保存商家菜单关联
+type EtaBusinessConfigRelateSaveReq struct {
+	EtaBusinessId int   `description:"商家ID"`
+	MenuIds       []int `description:"菜单IDs"`
+	HalfMenuIds   []int `description:"半选菜单IDs-仅供前端回显用的"`
+}

+ 17 - 0
models/eta_business/eta_business_menu.go

@@ -208,3 +208,20 @@ type EtaBusinessMenuEditReq struct {
 type EtaBusinessMenuRemoveReq struct {
 	MenuId int
 }
+
+// BusinessConf 商户配置表
+type BusinessConf struct {
+	ConfKey string `description:"配置Key"`
+	ConfVal string `description:"配置值"`
+}
+
+// SetBusinessConfReq 设置用户的配置
+type SetBusinessConfReq struct {
+	EtaBusinessId int `description:"商家ID"`
+	List          []BusinessConfReq
+}
+
+type BusinessConfReq struct {
+	ConfigCode  string `description:"配置编码"`
+	ConfigValue string `description:"配置值"`
+}

+ 18 - 0
routers/commentsRouter.go

@@ -6802,6 +6802,24 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/eta_business:EtaBusinessMenuController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/eta_business:EtaBusinessMenuController"],
+        beego.ControllerComments{
+            Method: "SystemApiConfig",
+            Router: `/api/config/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/eta_business:EtaBusinessMenuController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/eta_business:EtaBusinessMenuController"],
+        beego.ControllerComments{
+            Method: "SystemApiConfigSet",
+            Router: `/api/config/set`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/eta_business:EtaBusinessMenuController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/eta_business:EtaBusinessMenuController"],
         beego.ControllerComments{
             Method: "Add",