package financial_analyst import ( logger "eta_mini_ht_api/common/component/log" financialAnalystDao "eta_mini_ht_api/models/financial_analyst" ) type FinancialAnalystDTO struct { ETAId int Name string Introduction string Status bool Deleted bool } func GetAnalystById(id int) (financialAnalyst FinancialAnalystDTO, err error) { analyst, err := financialAnalystDao.GetAnalystById(id) if err != nil { logger.Error("获取研究研失败: %v", err) return } financialAnalyst = convertToBaseDTO(analyst) return } func SyncAnalyst(list []FinancialAnalystDTO) (err error) { var financialAnalystList []financialAnalystDao.CrmFinancialAnalyst for _, dto := range list { financialAnalyst := convert(dto) financialAnalystList = append(financialAnalystList, financialAnalyst) } return financialAnalystDao.BatchInsertOrUpdate(financialAnalystList) } func convert(dto FinancialAnalystDTO) (financialAnalyst financialAnalystDao.CrmFinancialAnalyst) { var status financialAnalystDao.AnalystStatus if dto.Status { status = financialAnalystDao.AnalystStatusEnabled } else { status = financialAnalystDao.AnalystStatusDisabled } return financialAnalystDao.CrmFinancialAnalyst{ ETAId: dto.ETAId, Name: dto.Name, Status: status, Deleted: dto.Deleted, } } func convertToBaseDTO(financialAnalyst financialAnalystDao.CrmFinancialAnalyst) (dto FinancialAnalystDTO) { return FinancialAnalystDTO{ Name: financialAnalyst.Name, Introduction: financialAnalyst.Introduction, } }