1234567891011121314151617181920212223242526272829303132 |
- package sms_service
-
- import (
- "SCRM/models"
- "SCRM/service"
- )
-
- func GetBatchSendRecords(orgID int64, page int, count int) ([]*SMSBatchListViewModel, int, error) {
- if count <= 0 {
- return []*SMSBatchListViewModel{}, 0, nil
- }
- var viewModels []*SMSBatchListViewModel = make([]*SMSBatchListViewModel, 0)
- readDB := service.PatientReadDB()
- var total int
- getTotalErr := readDB.Model(&models.SMSBatch{}).Where("org_id = ?", orgID).Count(&total).Error
- if getTotalErr != nil {
- return nil, 0, getTotalErr
- }
-
- rows, err := readDB.Raw("SELECT b.full_content, b.status, (SELECT COUNT(id) AS c FROM sgj_patient_sms_send_status WHERE batch_id = b.id) AS total_count, (SELECT COUNT(id) AS c FROM sgj_patient_sms_send_status WHERE batch_id = b.id AND STATUS = '1') AS success_count FROM sgj_patient_sms_batch AS b WHERE b.org_id = ? ORDER BY b.id LIMIT ? OFFSET ?;", orgID, count, (page-1)*count).Rows()
- defer rows.Close()
- if err != nil {
- return nil, 0, err
- }
- for rows.Next() {
- var viewModel SMSBatchListViewModel
- readDB.ScanRows(rows, &viewModel)
- viewModels = append(viewModels, &viewModel)
- }
- return viewModels, total, nil
- }
|