12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package financial_analyst
- import (
- "eta_mini_ht_api/models"
- "gorm.io/gorm"
- "gorm.io/gorm/clause"
- "time"
- )
- type AnalystStatus string
- const (
- AnalystStatusEnabled AnalystStatus = "enabled"
- AnalystStatusDisabled AnalystStatus = "disabled"
- columns = "id,name,introduction"
- )
- type CrmFinancialAnalyst struct {
- Id int `gorm:"primaryKey;autoIncrement;column:id;comment:主键"`
- ETAId int `gorm:"column:eta_id"`
- HTId int `gorm:"column:ht_id"`
- Name string `gorm:"column:name"`
- HeadImgURL string `gorm:"column:head_img_url"`
- Introduction string `gorm:"column:introduction"`
- Status AnalystStatus `gorm:"column:status"`
- Deleted bool `gorm:"column:deleted"`
- CreatedTime time.Time `gorm:"column:created_time;type:timestamps;comment:创建时间"`
- UpdatedTime time.Time `gorm:"column:updated_time;type:timestamps;comment:更新时间"`
- }
- func BatchInsertOrUpdate(list []CrmFinancialAnalyst) (err error) {
- db := models.Main()
- OnConflictFunc := clause.OnConflict{
- Columns: []clause.Column{{Name: "eta_id"}},
- DoUpdates: clause.AssignmentColumns([]string{"name", "status", "deleted"}),
- }
- // 执行批量插入或更新操作
- err = db.Clauses(OnConflictFunc).Create(&list).Error
- return
- }
- func (fa *CrmFinancialAnalyst) BeforeCreate(db *gorm.DB) (err error) {
- fa.CreatedTime = time.Now()
- return
- }
- func GetAnalystById(id int) (analyst CrmFinancialAnalyst, err error) {
- db := models.Main()
- err = db.Select(columns).Where("id = ?", id).First(&analyst).Error
- return
- }
|