From 9c2489c0c360c8dda36d3cbe1dba79222096b2dd Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期一, 07 八月 2023 10:16:39 +0800
Subject: [PATCH] Merge branch 'master' into fly

---
 model/faq.go |  135 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 135 insertions(+), 0 deletions(-)

diff --git a/model/faq.go b/model/faq.go
new file mode 100644
index 0000000..115e1d6
--- /dev/null
+++ b/model/faq.go
@@ -0,0 +1,135 @@
+package model
+
+import (
+	"aps_crm/constvar"
+	"aps_crm/pkg/mysqlx"
+	"errors"
+	"fmt"
+	"gorm.io/gorm"
+)
+
+type (
+	// Faq 甯歌闂
+	Faq struct {
+		Id   int    `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
+		Name   string    `json:"name" gorm:"column:name"`
+	}
+
+	// FaqSearch 甯歌闂鎼滅储鏉′欢
+	FaqSearch struct {
+		Faq
+		Orm *gorm.DB
+        QueryClass  constvar.FaqQueryClass
+        KeywordType constvar.FaqKeywordType
+        Keyword     string
+        PageNum  int
+        PageSize int
+	}
+)
+
+func (Faq) TableName() string {
+	return "faq"
+}
+
+func NewFaqSearch() *FaqSearch {
+	return &FaqSearch{
+		Orm: mysqlx.GetDB(),
+	}
+}
+
+func (slf *FaqSearch) build() *gorm.DB {
+	var db = slf.Orm.Model(&Faq{})
+	if slf.Id != 0 {
+		db = db.Where("id = ?", slf.Id)
+	}
+
+	return db
+}
+
+func (slf *FaqSearch) Create(record *Faq) error {
+	var db = slf.build()
+	return db.Create(record).Error
+}
+
+func (slf *FaqSearch) CreateBatch(records []*Faq) error {
+	var db = slf.build()
+	return db.Create(records).Error
+}
+
+func (slf *FaqSearch) Delete() error {
+	var db = slf.build()
+	return db.Delete(&Faq{}).Error
+}
+
+func (slf *FaqSearch) Update(record *Faq) error {
+	var db = slf.build()
+	return db.Updates(record).Error
+}
+
+func (slf *FaqSearch) FindAll() ([]*Faq, error) {
+	var db = slf.build()
+	var record = make([]*Faq, 0)
+	err := db.Find(&record).Error
+	return record, err
+}
+
+func (slf *FaqSearch) SetId(id int) *FaqSearch {
+	slf.Id = id
+	return slf
+}
+
+func (slf *FaqSearch) First() (*Faq, error) {
+	var db = slf.build()
+	var record = new(Faq)
+	err := db.First(record).Error
+	return record, err
+}
+
+func (slf *FaqSearch) Updates(values interface{}) error {
+	var db = slf.build()
+	return db.Updates(values).Error
+}
+
+func (slf *FaqSearch) Save(record *Faq) error {
+	if record.Id == 0 {
+		return errors.New("id涓虹┖")
+	}
+	var db = slf.build()
+
+	if err := db.Save(record).Error; err != nil {
+		return fmt.Errorf("save err: %v, record: %+v", err, record)
+	}
+
+	return nil
+}
+
+func (slf *FaqSearch) Find() ([]*Faq, int64, error) {
+	var db = slf.build()
+	var records = make([]*Faq, 0)
+	var total int64
+	if err := db.Count(&total).Error; err != nil {
+		return records, total, err
+	}
+	if slf.PageNum > 0 && slf.PageSize > 0 {
+		db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
+	}
+
+	err := db.Find(&records).Error
+	return records, total, err
+}
+
+// InitDefaultData 鍒濆鍖栨暟鎹�
+func (slf *FaqSearch) InitDefaultData() error {
+	var (
+		db          = slf.Orm.Table(slf.TableName())
+		total int64 = 0
+	)
+	if err := db.Count(&total).Error; err != nil {
+		return err
+	}
+	if total != 0 {
+		return nil
+	}
+	records := []*Faq{}
+	return slf.CreateBatch(records)
+}

--
Gitblit v1.8.0