dbentity/esentiy一键生成的代码
service/apidao是db,es操作的简单封装,无业务逻辑
service/apiservice是业务层db+es操作
db操作
package apidaodb import ( "git.ichub.com/general/webcli120/goconfig/base/basedto" "git.ichub.com/general/webcli120/goconfig/ichublog/golog" "git.ichub.com/general/webcli120/goweb/pagemodel" "icd/cms-rpc/domain/db/dbentity" ) type CmsDao struct { basedto.BaseEntitySingle } func NewCmsDao() *CmsDao { return &CmsDao{} }
func (self *CmsDao) QueryColumnsEmptyName() *pagemodel.PageResult[*dbentity.CmsColumns] { var dao = dbentity.NewDaoCmsColumns() dao.SetQueryEmpty(true) dao.DbEq("name", "") ret := dao.QueryModel() if ret.IsFailed() { golog.Error("apidaodb.CmsDao 【QueryColumnEmptyName】 ret:", ret) } return ret }
func (self *CmsDao) DeleteColumn(id int64) *basedto.IchubResult { var dao = dbentity.NewDaoCmsColumns() err := dao.DeleteById(id) if err != nil { return basedto.ResultError(err) } return basedto.ResultSuccessData(id) } func (self *CmsDao) DeleteColumnsEmptyName() *basedto.IchubResult { ret := self.QueryColumnsEmptyName() if ret.ExistRecord() { for i := range ret.Data { var ret = self.DeleteColumn(ret.Data[i].Id) if ret.IsFailed() { golog.Error(ret) return ret } } } return basedto.ResultSuccessData("") } es操作
package apidaoes
import (
"git.ichub.com/general/webcli120/goconfig/base/basedto"
"git.ichub.com/general/webcli120/goconfig/base/fileutils"
"git.ichub.com/general/webcli120/goconfig/ichublog/golog"
"git.ichub.com/general/webcli120/goweb/pagemodel"
"github.com/olivere/elastic/v7"
"icd/cms-rpc/domain/es/esentity"
)
type CmsDao struct {
basedto.BaseEntitySingle
}
func NewCmsDao() *CmsDao {
return &CmsDao{}
}
func (self *CmsDao) QueryColumnsEmptyName() *pagemodel.PageResult[*esentity.CmsColumnEs] {
var q = elastic.NewBoolQuery()
q.Should(elastic.NewTermQuery("name", ""))
q.Should(elastic.NewTermQuery("name.keyword", ""))
q.MinimumNumberShouldMatch(1)
var qq = esentity.NewWebFacadeCmsColumnEsOf(q)
qq.SetPageSize(10)
var ret = qq.GeneralQueryMax()
if ret.IsFailed() {
qq.LogQuery(q, "CmsDao::QueryColumnsEmptyName")
golog.Error("CmsDao::QueryColumnsEmptyName ret:", ret)
}
if fileutils.IfWindows() {
qq.LogQuery(q, "CmsDao::QueryColumnsEmptyName")
}
return ret
}
func (self *CmsDao) DeleteColumnsEmptyName() *basedto.IchubResult {
var ret = self.QueryColumnsEmptyName()
if ret.ExistRecord() {
for i := range ret.Data {
var delRet = self.DeleteColumn(ret.Data[i].ColumnId)
golog.Info(delRet)
}
}
return basedto.ResultSuccessData("")
}
func (self *CmsDao) DeleteColumn(id any) *basedto.IchubResult {
var qq = esentity.NewWebFacadeCmsColumnEs()
return qq.Cmd.DeleteKey("column_id", id)
}
service/apiservice业务层
package apiservice import ( "git.ichub.com/general/webcli120/goconfig/base/basedto" "git.ichub.com/general/webcli120/goconfig/ichublog/golog" "git.ichub.com/general/webcli120/goweb/pagemodel" "icd/cms-rpc/domain/es/refesentity" "icd/cms-rpc/domain/service/apidao/apidaodb" "icd/cms-rpc/domain/service/apidao/apidaoes" cmsbasedto "icd/cms/base/dto" "icd/cms/shop/service" connectionProto "icd/proto/connection" "time" ) type CmsColumnService struct { basedto.BaseEntitySingle apidaoes.ContactDao } func NewCmsColumnService() *CmsColumnService { return &CmsColumnService{} } func (self *CmsColumnService) MakeShopAll() *pagemodel.PageResult[*refesentity.ContactShopEs] { var ret = self.ListShopAll() if !ret.ExistRecord() { return ret } for i := range ret.Data { var rets = self.MakeShopMemberColumn(ret.Data[i].Id) if rets.IsFailed() { golog.Error(rets) return ret } } return ret } func (self *CmsColumnService) MakeShopMemberColumn(shopId any) *pagemodel.PageResult[*refesentity.ContactShopMemberEs] { var ret = self.ListShopMember(shopId) if ret.ExistRecord() { for i := range ret.Data { var makeRet = self.MakeMemberColumn(ret.Data[i].Id) golog.Info(makeRet) time.Sleep(10 * time.Millisecond) } } return nil } func (self *CmsColumnService) MakeMemberColumn(memberId any) *cmsbasedto.JsonResult { var ret = service.FindBeanCmsColumnService().SaveCmsColumnMemberIfNotExist( &connectionProto.UserID{}, ) return ret } func (self *CmsColumnService) DeleteColumn(id int64) *basedto.IchubResult { var ret = apidaodb.FindBeanCmsDao().DeleteColumn(id) if ret.IsFailed() { return ret } return apidaoes.FindBeanCmsDao().DeleteColumn(id) }
apiservice测试
package apiservice import ( "git.ichub.com/general/webcli120/goconfig/ichublog/golog" "git.ichub.com/general/webcli120/goweb/pagedb" "github.com/stretchr/testify/suite" "testing" ) type TestDbSuite struct { suite.Suite } func (self *TestDbSuite) SetupSuite() { //testenv120.FindBeanReleaseEnv().Init() } func (self *TestDbSuite) SetupTest() { } func TestDbSuites(t *testing.T) { suite.Run(t, new(TestDbSuite)) } func (self *TestDbSuite) Test001_dbMeta2Code() { var dbreq = pagedb.Default() var err = dbreq.Meta2CodeFile("cms_columns") golog.Info(err) }
func (self *TestDbSuite) Test002_QueryColumnNoExist() { var ret = apidaodb.FindBeanCmsDao().QueryColumn(1070585549487308803) golog.Info("Test002_QueryColumnNoExist ret:", ret, ret.ExistRecord()) self.Equal(200, ret.Code) self.Equal(false, ret.ExistRecord()) } func (self *TestDbSuite) Test003_QueryColumnExist() { var ret = apidaodb.FindBeanCmsDao().QueryColumn(1070259192551309315) golog.Info("Test003_QueryColumnExist ret:", ret, ret.ExistRecord()) ret.CheckCode(self.Suite, 200) self.Equal(true, ret.ExistRecord()) ret.CheckRecord(1070259192551309315, "name=栏目测试001|shop_id=1069977893411815427") } func (self *TestDbSuite) Test004_DeleteColumn() { var ret = apiservice.FindBeanCmsColumnService().DeleteColumn(1070585549487308803) golog.Info("Test004_DeleteColumn ret:", ret) ret.CheckCode(self.Suite, 200) }
一键生成代码
package dbentity import ( "git.ichub.com/general/webcli120/goconfig/base/basedto" "git.ichub.com/general/webcli120/goconfig/ichubconfig" "git.ichub.com/general/webcli120/goweb/generaldb/generaldao" "github.com/gogf/gf/v2/util/gconv" "github.com/jinzhu/gorm" "time" ) /* @Title 文件名称: cms_columns.go @Description 描述: 统一返回结构 @Author 作者: raymond@163.com 时间(2025-05-09 18:18:05) @Update 作者: raymond@163.com 时间(2025-05-09 18:18:05) */ type CmsColumns struct { basedto.BaseEntity DeletedAt *time.Time `json:"deleted_at" gorm:"column:deleted_at;type:TIMESTAMP(6)"` IsVirtual bool `json:"is_virtual" gorm:"column:is_virtual;type:BOOL"` IsUnified bool `json:"is_unified" gorm:"column:is_unified;type:BOOL"` IsFixed bool `json:"is_fixed" gorm:"column:is_fixed;type:BOOL"` IsFirst bool `json:"is_first" gorm:"column:is_first;type:BOOL"` IsDefault bool `json:"is_default" gorm:"column:is_default;type:BOOL"` Active bool `json:"active" gorm:"column:active;type:BOOL"` UpdatedUserId int64 `json:"updated_user_id,string" gorm:"column:updated_user_id;type:INT8"` UpdatedById int64 `json:"updated_by_id,string" gorm:"column:updated_by_id;type:INT8"` SpuCategShopCategId int64 `json:"spu_categ_shop_categ_id,string" gorm:"column:spu_categ_shop_categ_id;type:INT8"` ShopId int64 `json:"shop_id,string" gorm:"column:shop_id;type:INT8"` ReprintCount int64 `json:"reprint_count,string" gorm:"column:reprint_count;type:INT8"` PublisherSpuId int64 `json:"publisher_spu_id,string" gorm:"column:publisher_spu_id;type:INT8"` PublishCount int64 `json:"publish_count,string" gorm:"column:publish_count;type:INT8"` ParentId int64 `json:"parent_id,string" gorm:"column:parent_id;type:INT8"` MsgCount int64 `json:"msg_count,string" gorm:"column:msg_count;type:INT8"` ListOrder int64 `json:"list_order,string" gorm:"column:list_order;type:INT8"` LayoutId int64 `json:"layout_id,string" gorm:"column:layout_id;type:INT8"` Id int64 `json:"id,string" gorm:"column:id;type:INT8;PRIMARY_KEY;default:unique_rowid()"` EditorId int64 `json:"editor_id,string" gorm:"column:editor_id;type:INT8"` DeletedBy int64 `json:"deleted_by,string" gorm:"column:deleted_by;type:INT8"` CreatedUserId int64 `json:"created_user_id,string" gorm:"column:created_user_id;type:INT8"` CreatedById int64 `json:"created_by_id,string" gorm:"column:created_by_id;type:INT8"` ContributionCount int64 `json:"contribution_count,string" gorm:"column:contribution_count;type:INT8"` CirculateCount int64 `json:"circulate_count,string" gorm:"column:circulate_count;type:INT8"` AdvertCount int64 `json:"advert_count,string" gorm:"column:advert_count;type:INT8"` AdEditorId int64 `json:"ad_editor_id,string" gorm:"column:ad_editor_id;type:INT8"` Topic string `json:"topic" gorm:"column:topic;type:VARCHAR(255)"` Slug string `json:"slug" gorm:"column:slug;type:STRING"` SeoTitle string `json:"seo_title" gorm:"column:seo_title;type:STRING"` SeoTag string `json:"seo_tag" gorm:"column:seo_tag;type:STRING"` SeoDescription string `json:"seo_description" gorm:"column:seo_description;type:STRING"` ResourceName string `json:"resource_name" gorm:"column:resource_name;type:VARCHAR(255)"` Path string `json:"path" gorm:"column:path;type:STRING"` Option string `json:"option" gorm:"column:option;type:STRING"` Name string `json:"name" gorm:"column:name;type:STRING"` Domain string `json:"domain" gorm:"column:domain;type:VARCHAR(255)"` Description string `json:"description" gorm:"column:description;type:STRING"` ContentLayout1 string `json:"content_layout_1" gorm:"column:content_layout_1;type:STRING"` ContentLayout string `json:"content_layout" gorm:"column:content_layout;type:STRING"` ColumnLayout string `json:"column_layout" gorm:"column:column_layout;type:STRING"` Code string `json:"code" gorm:"column:code;type:STRING"` UpdatedAt time.Time `json:"updated_at" gorm:"column:updated_at;type:TIMESTAMP(6)"` CreatedAt time.Time `json:"created_at" gorm:"column:created_at;type:TIMESTAMP(6)"` } type CmsColumnsDto struct { basedto.BaseEntity DeletedAt *time.Time `json:"deleted_at"` IsVirtual bool `json:"is_virtual"` IsUnified bool `json:"is_unified"` IsFixed bool `json:"is_fixed"` IsFirst bool `json:"is_first"` IsDefault bool `json:"is_default"` Active bool `json:"active"` UpdatedUserId int64 `json:"updated_user_id,string"` UpdatedById int64 `json:"updated_by_id,string"` SpuCategShopCategId int64 `json:"spu_categ_shop_categ_id,string"` ShopId int64 `json:"shop_id,string"` ReprintCount int64 `json:"reprint_count,string"` PublisherSpuId int64 `json:"publisher_spu_id,string"` PublishCount int64 `json:"publish_count,string"` ParentId int64 `json:"parent_id,string"` MsgCount int64 `json:"msg_count,string"` ListOrder int64 `json:"list_order,string"` LayoutId int64 `json:"layout_id,string"` Id int64 `json:"id,string"` EditorId int64 `json:"editor_id,string"` DeletedBy int64 `json:"deleted_by,string"` CreatedUserId int64 `json:"created_user_id,string"` CreatedById int64 `json:"created_by_id,string"` ContributionCount int64 `json:"contribution_count,string"` CirculateCount int64 `json:"circulate_count,string"` AdvertCount int64 `json:"advert_count,string"` AdEditorId int64 `json:"ad_editor_id,string"` Topic string `json:"topic"` Slug string `json:"slug"` SeoTitle string `json:"seo_title"` SeoTag string `json:"seo_tag"` SeoDescription string `json:"seo_description"` ResourceName string `json:"resource_name"` Path string `json:"path"` Option string `json:"option"` Name string `json:"name"` Domain string `json:"domain"` Description string `json:"description"` ContentLayout1 string `json:"content_layout_1"` ContentLayout string `json:"content_layout"` ColumnLayout string `json:"column_layout"` Code string `json:"code"` UpdatedAt time.Time `json:"updated_at"` CreatedAt time.Time `json:"created_at"` } func NewCmsColumns() *CmsColumns { return &CmsColumns{} } func NewCmsColumnsDto() *CmsColumnsDto { return &CmsColumnsDto{} } func (self *CmsColumns) PkeyName() string { return "id" } func (self *CmsColumns) PkeyValue() int64 { return self.Id } func (self *CmsColumns) TableName() string { return "cms_columns" } func (self *CmsColumns) NewDao() *generaldao.BaseDao[int64, *CmsColumns] { return generaldao.NewBaseDao[int64, *CmsColumns]() } func (self *CmsColumns) AutoMigrate(db *gorm.DB) error { return db.AutoMigrate(self).Error } func NewDaoCmsColumns() *generaldao.BaseDao[int64, *CmsColumns] { return generaldao.NewBaseDao[int64, *CmsColumns]() } func (self *CmsColumns) ObjectKey() string { return "db:" + ichubconfig.FindEnv() + self.TableName() + ":" + gconv.String(self.PkeyValue()) }
package esentity import ( "git.ichub.com/general/webcli120/goconfig/base/basedto" "git.ichub.com/general/webcli120/goconfig/base/baseindex" "git.ichub.com/general/webcli120/goconfig/ichubconfig" "git.ichub.com/general/webcli120/goconfig/ichublog/golog" "git.ichub.com/general/webcli120/goweb/pagemodel" "git.ichub.com/general/webcli120/goweb/webclient/eswebclient/webfacade" "git.ichub.com/general/webcli120/goweb/webclient/eswebclient/webfacade/webui" "github.com/gogf/gf/v2/util/gconv" jsoniter "github.com/json-iterator/go" "github.com/olivere/elastic/v7" "time" ) /* @Title 文件名称: cms_column_es.go @Description 描述: 统一返回结构 @Author 作者: raymond@163.com 时间(2025-05-07 11:45:57) @Update 作者: raymond@163.com 时间(2025-05-07 11:45:57) */ type CmsColumnEs struct { basedto.BaseEntity //basedto.BaseEntityIndex IsVirtual bool `json:"is_virtual"` IsUnified bool `json:"is_unified"` IsPlatform bool `json:"is_platform"` IsFixed bool `json:"is_fixed"` IsFirst bool `json:"is_first"` IsDefault bool `json:"is_default"` Active bool `json:"active"` VisitCount int64 `json:"visit_count,string"` UserId int64 `json:"user_id,string"` UpdatedBy int64 `json:"updated_by,string"` UpdatedAtInt int64 `json:"updated_at_int,string"` Type int64 `json:"type,string"` SubAction int64 `json:"sub_action,string"` SpuCategShopCategId int64 `json:"spu_categ_shop_categ_id,string"` ShopId int64 `json:"shop_id,string"` ShareCount int64 `json:"share_count,string"` ReprintCount int64 `json:"reprint_count,string"` ReplyCount int64 `json:"reply_count,string"` ReadCount int64 `json:"read_count,string"` PublishingId int64 `json:"publishing_id,string"` PublisherSpuId int64 `json:"publisher_spu_id,string"` PublishCount int64 `json:"publish_count,string"` ParentId int64 `json:"parent_id,string"` MsgCount int64 `json:"msg_count,string"` ListOrder int64 `json:"list_order,string"` LikeCount int64 `json:"like_count,string"` LayoutTypeId int64 `json:"layout_type_id,string"` LayoutId int64 `json:"layout_id,string"` KeywordId int64 `json:"keyword_id,string"` EditorId int64 `json:"editor_id,string"` DeletedBy int64 `json:"deleted_by,string"` CreatedBy int64 `json:"created_by,string"` ContributionCount int64 `json:"contribution_count,string"` ContentType int64 `json:"content_type,string"` ContentCount int64 `json:"content_count,string"` CommentCount int64 `json:"comment_count,string"` ColumnId int64 `json:"column_id,string"` ColumnEditorId int64 `json:"column_editor_id,string"` CollectCount int64 `json:"collect_count,string"` CirculateCount int64 `json:"circulate_count,string"` AuthorMemberId int64 `json:"author_member_id,string"` AdvertisingRecommend int64 `json:"advertising_recommend,string"` AdvertisingNotice int64 `json:"advertising_notice,string"` AdvertisingNewest int64 `json:"advertising_newest,string"` AdvertisingHot int64 `json:"advertising_hot,string"` AdvertisingContentDisplayPage int64 `json:"advertising_content_display_page,string"` AdvertisingContentDetails int64 `json:"advertising_content_details,string"` AdvertisingContent int64 `json:"advertising_content,string"` AdvertisingBanner int64 `json:"advertising_banner,string"` AdvertCount int64 `json:"advert_count,string"` AdEditorId int64 `json:"ad_editor_id,string"` ActiveFlag int64 `json:"active_flag,string"` Topic string `json:"topic"` Slug string `json:"slug"` Sidebar6 string `json:"sidebar6"` Sidebar5 string `json:"sidebar5"` Sidebar4 string `json:"sidebar4"` Sidebar3 string `json:"sidebar3"` Sidebar2 string `json:"sidebar2"` Sidebar1 string `json:"sidebar1"` SeoTitle string `json:"seo_title"` SeoTag string `json:"seo_tag"` SeoDescription string `json:"seo_description"` ResourceName string `json:"resource_name"` Path string `json:"path"` ParentName string `json:"parent_name"` Option string `json:"option"` Name string `json:"name"` LayoutName string `json:"layout_name"` EditorIdName string `json:"editor_id_name"` Domain string `json:"domain"` Description string `json:"description"` ContentName string `json:"content_name"` ContentList string `json:"content_list"` ContentLayout string `json:"content_layout"` ContentId string `json:"content_id"` ColumnName string `json:"column_name"` ColumnLayout string `json:"column_layout"` Code string `json:"code"` Banner string `json:"banner"` AuthorMemberName string `json:"author_member_name"` AdvertisingRecommendName string `json:"advertising_recommend_name"` AdvertisingNoticeName string `json:"advertising_notice_name"` AdvertisingNewestName string `json:"advertising_newest_name"` AdvertisingHotName string `json:"advertising_hot_name"` AdvertisingContentName string `json:"advertising_content_name"` AdvertisingContentDisplayPageName string `json:"advertising_content_display_page_name"` AdvertisingContentDetailsName string `json:"advertising_content_details_name"` AdvertisingBannerName string `json:"advertising_banner_name"` AdEditorName string `json:"ad_editor_name"` UpdatedAt time.Time `json:"updated_at"` DeletedAt time.Time `json:"deleted_at"` CreatedAt time.Time `json:"created_at"` } func NewCmsColumnEs() *CmsColumnEs { return &CmsColumnEs{} } type CmsColumnEsRequest struct { basedto.BaseEntity webui.WebuiRequest CmsColumnEs `json:"param"` } func NewCmsColumnEsRequest() *CmsColumnEsRequest { return &CmsColumnEsRequest{} } func (self *CmsColumnEs) PkeyName() string { return "id" } func (self *CmsColumnEs) PkeyValue() string { return gconv.String(self.ColumnId) } func (self *CmsColumnEs) TableName() string { return ichubconfig.FindEnv() + "_cms_column" } // func (self *CmsColumnEs) TableName() string { // return common.Env+"_cms_column" // } func (self *CmsColumnEs) IndexName() string { return self.TableName() } func (self *CmsColumnEs) GetMapping() string { return `{ "mappings": { "properties": { "column_id": { "type": "long" }, "content_id": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "deleted_by": { "type": "long" }, "layout_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "advertising_content_display_page_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "advertising_newest_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "advertising_notice": { "type": "long" }, "parent_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "is_platform": { "type": "boolean" }, "layout_type_id": { "type": "long" }, "advertising_content": { "type": "long" }, "advertising_notice_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "advertising_recommend": { "type": "long" }, "path": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "updated_at_int": { "type": "long" }, "author_member_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "circulate_count": { "type": "long" }, "content_layout": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "description": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "slug": { "type": "text", "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } }, "advertising_content_details": { "type": "long" }, "advertising_newest": { "type": "long" }, "column_name": { "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } }, "type": "text" }, "is_default": { "type": "boolean" }, "option": { "type": "text", "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } }, "resource_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "sidebar2": { "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } }, "type": "text" }, "user_id": { "type": "long" }, "advertising_content_name": { "type": "text", "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } }, "content_type": { "type": "long" }, "deleted_at": { "type": "date" }, "publishing_id": { "type": "long" }, "sidebar3": { "type": "text", "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } }, "sub_action": { "type": "long" }, "advertising_content_details_name": { "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } }, "type": "text" }, "is_first": { "type": "boolean" }, "is_unified": { "type": "boolean" }, "created_by": { "type": "long" }, "keyword_id": { "type": "long" }, "publish_count": { "type": "long" }, "visit_count": { "type": "long" }, "active_flag": { "type": "long" }, "advertising_content_display_page": { "type": "long" }, "content_count": { "type": "long" }, "domain": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "editor_id_name": { "type": "text", "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } }, "sidebar1": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "sidebar6": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "type": { "type": "long" }, "advertising_banner": { "type": "long" }, "cms_slide_slot": { "properties": { "layout_item_sketch": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "slide_display_count": { "type": "long" }, "slide_slot_id": { "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } }, "type": "text" }, "layout_item_id": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "layout_item_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } } } }, "collect_count": { "type": "long" }, "reprint_count": { "type": "long" }, "advertising_recommend_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "code": { "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } }, "type": "text" }, "parent_id": { "type": "long" }, "shop_id": { "type": "long" }, "comment_count": { "type": "long" }, "created_at": { "type": "date" }, "is_fixed": { "type": "boolean" }, "is_virtual": { "type": "boolean" }, "like_count": { "type": "long" }, "publisher_spu_id": { "type": "long" }, "read_count": { "type": "long" }, "IsVirtual": { "type": "boolean" }, "ad_editor_id": { "type": "long" }, "column_layout": { "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } }, "type": "text" }, "contribution_count": { "type": "long" }, "msg_count": { "type": "long" }, "topic": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "advertising_banner_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "advertising_hot_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "content_list": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "editor_id": { "type": "long" }, "list_order": { "type": "long" }, "seo_tag": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "spu_categ_shop_categ_id": { "type": "long" }, "updated_at": { "type": "date" }, "author_member_id": { "type": "long" }, "banner": { "type": "text", "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } }, "column_editor_id": { "type": "long" }, "name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "share_count": { "type": "long" }, "sidebar4": { "type": "text", "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } }, "updated_by": { "type": "long" }, "active": { "type": "boolean" }, "advert_count": { "type": "long" }, "layout_id": { "type": "long" }, "reply_count": { "type": "long" }, "seo_description": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "seo_title": { "type": "text", "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } }, "sidebar5": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "ad_editor_name": { "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } }, "type": "text" }, "advertising_hot": { "type": "long" }, "content_name": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } } } }, "settings": { "index": { "analysis": { "normalizer": { "lowercase": { "filter": [ "lowercase" ], "type": "custom" } }, "analyzer": { "common_analyzer": { "tokenizer": "common_tokenizer" } }, "tokenizer": { "common_tokenizer": { "type": "ngram", "min_gram": "2", "max_gram": "2" } } }, "number_of_replicas": "1", "number_of_shards": "3", "max_result_window": "200000000" } } }` } func (self *CmsColumnEs) Mapping() string { return self.GetMapping() } func (self *CmsColumnEs) Unmarshal(data []byte) error { return jsoniter.Unmarshal(data, self) } func (self CmsColumnEs) IndexID() string { return self.PkeyName() } func (self CmsColumnEs) AliasName() string { return self.IndexName() + "_alias" } func (self *CmsColumnEs) InitDoc() baseindex.IndexEsObject { ss := *self return &ss } func (self *CmsColumnEs) EsFill(p any) error { var err = gconv.Struct(p, self) if err != nil { golog.Error("CmsColumnEs err:", err) } return err } func (self *CmsColumnEs) Init() { } func (self *CmsColumnEs) Shutdown() { } func NewWebFacadeCmsColumnEsOf(q elastic.Query) *webfacade.WebFacade[*CmsColumnEs] { var facade = webfacade.DefaultOf[*CmsColumnEs](q) facade.Query(q) return facade } func NewWebFacadeCmsColumnEs() *webfacade.WebFacade[*CmsColumnEs] { return webfacade.Default[*CmsColumnEs]() } func (self *CmsColumnEs) DefaultOf(q elastic.Query) *webfacade.WebFacade[*CmsColumnEs] { return NewWebFacadeCmsColumnEsOf(q) } func (self *CmsColumnEs) Default() *webfacade.WebFacade[*CmsColumnEs] { return NewWebFacadeCmsColumnEs() } func (self *CmsColumnEs) ObjectKey() string { return "es:" + self.TableName() + ":" + gconv.String(self.PkeyValue()) } func (self *CmsColumnEs) EsFindId() *pagemodel.IchubResult[*CmsColumnEs] { var ret = NewWebFacadeCmsColumnEs().EsFindKeyId(self.PkeyName(), self.PkeyValue()) if ret.IsFailed() { golog.Error("CmsColumnEs [EsFindKey] ret:", ret) } return ret }
package esentity import ( "git.ichub.com/general/webcli120/goconfig/base/baseiface" "git.ichub.com/general/webcli120/goconfig/basedi" "github.com/sirupsen/logrus" ) /* @Title 文件名称: cms_column_es_init.go @Desp 描述: 依赖自动注入 @Company 公司: www.ichub.com @Author 作者: leijmdas@163.com 时间: 2025-05-07 12:02:28 @Update 作者: leijmdas@163.com 时间: 2025-05-07 12:02:28 */ var singleNameCmsColumnEs = "*esentity.CmsColumnEs-4f9d76a1-067b-42b0-9856-cb7f2715d6a5" // init register load func init() { registerBeanCmsColumnEs() } // register CmsColumnEs func registerBeanCmsColumnEs() { err := basedi.RegisterLoadBean(singleNameCmsColumnEs, LoadCmsColumnEs) if err != nil { logrus.Error("register bean error!", err) } } // FindBeanCmsColumnEs func FindBeanCmsColumnEs() *CmsColumnEs { if bean, ok := basedi.FindBeanOk(singleNameCmsColumnEs); ok { return bean.(*CmsColumnEs) } logrus.Error("not find bean!") return nil } func LoadCmsColumnEs() baseiface.ISingleton { var inst = NewCmsColumnEs() InjectCmsColumnEs(inst) return inst } func InjectCmsColumnEs(s *CmsColumnEs) { }
package dbentity import ( "git.ichub.com/general/webcli120/goconfig/base/baseiface" "git.ichub.com/general/webcli120/goconfig/basedi" //"git.ichub.com/general/webcli120/goconfig/ichublog/golog" "github.com/sirupsen/logrus" ) /* @Title 文件名称: cms_columns_init.go @Desp 描述: 自动注册注入 @Company 公司: www.ichub.com @Author 作者: leijmdas@163.com 时间: 2025-05-09 18:22:58 @Update 作者: leijmdas@163.com 时间: 2025-05-09 18:22:58 */ var singleNameCmsColumns = "*dbentity.CmsColumns-83230a08-c78a-4f2b-b57a-b4dfa0cd5490" // init register load func init() { registerBeanCmsColumns() } // register CmsColumns func registerBeanCmsColumns() { err := basedi.RegisterLoadBean(singleNameCmsColumns, LoadCmsColumns) if err != nil{ logrus.Error("register bean error!", err) } } // FindBeanCmsColumns func FindBeanCmsColumns() *CmsColumns { if bean, ok := basedi.FindBeanOk(singleNameCmsColumns); ok { return bean.(*CmsColumns) } logrus.Error("not find bean!") return nil } func LoadCmsColumns() baseiface.ISingleton { var inst = NewCmsColumns() InjectCmsColumns(inst) return inst } func InjectCmsColumns(s *CmsColumns) { }