【feat】 添加postgresql数据库支持,【修复】pg数据库的代码生成功能

This commit is contained in:
PandaX
2023-11-10 10:07:38 +08:00
parent a37dace97c
commit 72ffbf38c3
15 changed files with 1323 additions and 724 deletions

View File

@@ -237,6 +237,9 @@ func GetDeviceToken(data *entity.Device) *model.DeviceAuth {
// 获取设备数量统计
func (m *deviceModelImpl) FindDeviceCount() (result entity.DeviceCount) {
sql := `SELECT COUNT(*) AS total, (SELECT COUNT(*) FROM devices WHERE DATE(create_time) = CURDATE()) AS today FROM devices`
if global.Conf.Server.DbType == "postgresql" {
sql = `SELECT COUNT(*) AS total, (SELECT COUNT(*) FROM devices WHERE DATE(create_time) = current_date) AS today FROM devices`
}
err := global.Db.Raw(sql).Scan(&result).Error
biz.ErrIsNil(err, "获取设备统计总数失败")
return result

View File

@@ -101,12 +101,18 @@ func (m *alarmModelImpl) Delete(id []string) {
// 获取告警数量统计
func (m *alarmModelImpl) FindAlarmCount() (count entity.DeviceCount) {
sql := `SELECT COUNT(*) AS total, (SELECT COUNT(*) FROM device_alarms WHERE DATE(time) = CURDATE()) AS today FROM device_alarms`
if global.Conf.Server.DbType == "postgresql" {
sql = `SELECT COUNT(*) AS total, (SELECT COUNT(*) FROM device_alarms WHERE DATE(time) = current_date) AS today FROM device_alarms`
}
err := global.Db.Raw(sql).Scan(&count).Error
biz.ErrIsNil(err, "获取告警统计总数失败")
return
}
func (m *alarmModelImpl) FindAlarmPanel() (count []entity.DeviceAlarmCount) {
sql := `SELECT CAST(time AS DATE) AS date, COUNT(*) AS count FROM device_alarms WHERE time >= DATE_SUB(CURDATE(), INTERVAL 30 DAY) GROUP BY CAST(time AS DATE)`
if global.Conf.Server.DbType == "postgresql" {
sql = `SELECT CAST(time AS DATE) AS date, COUNT(*) AS count FROM device_alarms WHERE time >= CURRENT_DATE - INTERVAL '30 day' GROUP BY CAST(time AS DATE);`
}
err := global.Db.Raw(sql).Scan(&count).Error
biz.ErrIsNil(err, "获取告警统计列表失败")
return

View File

@@ -151,6 +151,9 @@ func deleteDeviceStable(productId string) error {
// 获取产品数量统计
func (m *productModelImpl) FindProductCount() (count entity.DeviceCount) {
sql := `SELECT COUNT(*) AS total, (SELECT COUNT(*) FROM products WHERE DATE(create_time) = CURDATE()) AS today FROM products`
if global.Conf.Server.DbType == "postgresql" {
sql = `SELECT COUNT(*) AS total, (SELECT COUNT(*) FROM products WHERE DATE(create_time) = current_date) AS today FROM products`
}
err := global.Db.Raw(sql).Scan(&count).Error
biz.ErrIsNil(err, "获取产品统计总数失败")
return