|
@@ -0,0 +1,118 @@
|
|
|
+package eta_business
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "github.com/beego/beego/v2/client/orm"
|
|
|
+ "strings"
|
|
|
+)
|
|
|
+
|
|
|
+// EtaBusinessMenuApiRelate ETA商家菜单api关联表
|
|
|
+type EtaBusinessMenuApiRelate struct {
|
|
|
+ Id int `orm:"column(id);pk"`
|
|
|
+ EtaBusinessId int `description:"商家ID"`
|
|
|
+ ConfigCode string `description:"配置编码"`
|
|
|
+ ConfigValue string `description:"配置值"`
|
|
|
+}
|
|
|
+
|
|
|
+func (m *EtaBusinessMenuApiRelate) TableName() string {
|
|
|
+ return "eta_business_menu_api_relate"
|
|
|
+}
|
|
|
+
|
|
|
+func (m *EtaBusinessMenuApiRelate) PrimaryId() string {
|
|
|
+ return "id"
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (m *EtaBusinessMenuApiRelate) CreateMulti(businessId int, items []*EtaBusinessMenuApiRelate) (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 *EtaBusinessMenuApiRelate) Update(cols []string) (err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ _, err = o.Update(m, cols...)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (m *EtaBusinessMenuApiRelate) GetItemById(id int) (item *EtaBusinessMenuApiRelate, 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 *EtaBusinessMenuApiRelate) GetItemByCondition(condition string, pars []interface{}) (item *EtaBusinessMenuApiRelate, 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 *EtaBusinessMenuApiRelate) 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 *EtaBusinessMenuApiRelate) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*EtaBusinessMenuApiRelate, 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 *EtaBusinessMenuApiRelate) GetPageItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string, startSize, pageSize int) (items []*EtaBusinessMenuApiRelate, 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
|
|
|
+}
|
|
|
+
|
|
|
+// EtaBusinessMenuApiRelateSaveReq 保存商家菜单关联
|
|
|
+type EtaBusinessMenuApiRelateSaveReq struct {
|
|
|
+ EtaBusinessId int `description:"商家ID"`
|
|
|
+ MenuIds []int `description:"菜单IDs"`
|
|
|
+ HalfMenuIds []int `description:"半选菜单IDs-仅供前端回显用的"`
|
|
|
+}
|