Merge remote-tracking branch 'origin/main' into multi-tenant
This commit is contained in:
@@ -18,7 +18,7 @@ func InitConfig(configFile string) {
|
|||||||
// 读取配置文件
|
// 读取配置文件
|
||||||
err := v.ReadInConfig()
|
err := v.ReadInConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("读取配置文件失败: %v \n", err)
|
fmt.Printf("failure to read configuration file: %v \n", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -149,9 +149,9 @@ gorm:
|
|||||||
type: "mysql"
|
type: "mysql"
|
||||||
host: "127.0.0.1"
|
host: "127.0.0.1"
|
||||||
port: 3306
|
port: 3306
|
||||||
username: "<用户名>"
|
username: "<username>"
|
||||||
password: "<密码>"
|
password: "<password>"
|
||||||
database: "<数据库>"
|
database: "<database>"
|
||||||
logging: false
|
logging: false
|
||||||
# 多个数据源时可以用这个指定默认的数据源
|
# 多个数据源时可以用这个指定默认的数据源
|
||||||
defaultDataSourceName: "default"
|
defaultDataSourceName: "default"
|
||||||
@@ -162,7 +162,7 @@ redis:
|
|||||||
default:
|
default:
|
||||||
port: 6379 # Redis port
|
port: 6379 # Redis port
|
||||||
host: "127.0.0.1" # Redis host
|
host: "127.0.0.1" # Redis host
|
||||||
password: "<密码>"
|
password: "<password>"
|
||||||
db: 0 # Redis db_num
|
db: 0 # Redis db_num
|
||||||
# 多个数据源时可以用这个指定默认的数据源
|
# 多个数据源时可以用这个指定默认的数据源
|
||||||
defaultDataSourceName: "default"
|
defaultDataSourceName: "default"
|
||||||
|
|||||||
@@ -6,27 +6,27 @@ server:
|
|||||||
# security 安全
|
# security 安全
|
||||||
security:
|
security:
|
||||||
csrf:
|
csrf:
|
||||||
# 允许调用的域名地址的,例如:http://<Referer地址>/
|
# 允许调用的域名地址的,例如:http://<Referer>/
|
||||||
refererWhiteList:
|
refererWhiteList:
|
||||||
- "127.0.0.1"
|
- "127.0.0.1"
|
||||||
- "<Referer地址>"
|
- "<Referer>"
|
||||||
|
|
||||||
# GORM 数据源
|
# GORM 数据源
|
||||||
gorm:
|
gorm:
|
||||||
dataSource:
|
dataSource:
|
||||||
default:
|
default:
|
||||||
type: "mysql"
|
type: "mysql"
|
||||||
host: "<mysql地址>"
|
host: "<mysql host>"
|
||||||
port: 3306
|
port: 3306
|
||||||
username: "<用户名>"
|
username: "<mysql username>"
|
||||||
password: "<密码>"
|
password: "<mysql password>"
|
||||||
database: "<数据库>"
|
database: "<mysql database>"
|
||||||
|
|
||||||
# Redis 缓存数据
|
# Redis 缓存数据
|
||||||
redis:
|
redis:
|
||||||
dataSource:
|
dataSource:
|
||||||
default:
|
default:
|
||||||
port: 6379 # Redis port
|
port: 6379 # Redis port
|
||||||
host: "<redis地址>"
|
host: "<redis host>"
|
||||||
password: "<密码>"
|
password: "<redis password>"
|
||||||
db: 0 # Redis db_num
|
db: 0 # Redis db_num
|
||||||
|
|||||||
@@ -72,11 +72,15 @@ func (r *UDMUserInfo) SelectList(u model.UDMUserInfo) []model.UDMUserInfo {
|
|||||||
return rows
|
return rows
|
||||||
}
|
}
|
||||||
|
|
||||||
// SelectByIMSIAndNeID 通过imsi和ne_id查询
|
// SelectByIMSIAndNeID 通过imsi和ne_id查询 neId为%时模糊imsi查询
|
||||||
func (r *UDMUserInfo) SelectByIMSIAndNeID(imsi, neId string) model.UDMUserInfo {
|
func (r *UDMUserInfo) SelectByIMSIAndNeID(imsi, neId string) model.UDMUserInfo {
|
||||||
tx := datasource.DB("").Model(&model.UDMUserInfo{})
|
tx := datasource.DB("").Model(&model.UDMUserInfo{})
|
||||||
// 构建查询条件
|
// 构建查询条件
|
||||||
tx = tx.Where(" imsi = ? and ne_id = ?", imsi, neId)
|
if neId == "%" {
|
||||||
|
tx = tx.Where("imsi like concat(?, '%')", imsi)
|
||||||
|
} else {
|
||||||
|
tx = tx.Where(" imsi = ? and ne_id = ?", imsi, neId)
|
||||||
|
}
|
||||||
// 查询数据
|
// 查询数据
|
||||||
rows := []model.UDMUserInfo{}
|
rows := []model.UDMUserInfo{}
|
||||||
if err := tx.Limit(1).Find(&rows).Error; err != nil {
|
if err := tx.Limit(1).Find(&rows).Error; err != nil {
|
||||||
@@ -97,20 +101,17 @@ func (r *UDMUserInfo) Inserts(uArr []model.UDMUserInfo) int64 {
|
|||||||
return tx.RowsAffected
|
return tx.RowsAffected
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete 删除实体
|
// Delete 删除实体 neId为%时模糊imsi前缀
|
||||||
func (r *UDMUserInfo) Delete(imsi, neId string) int64 {
|
func (r *UDMUserInfo) Delete(imsi, neId string) int64 {
|
||||||
tx := datasource.DefaultDB().Where("imsi = ? and ne_id = ?", imsi, neId).Delete(&model.UDMUserInfo{})
|
tx := datasource.DefaultDB()
|
||||||
|
if neId == "%" {
|
||||||
|
tx = tx.Where("imsi like concat(?, '%')", imsi)
|
||||||
|
} else {
|
||||||
|
tx = tx.Where(" imsi = ? and ne_id = ?", imsi, neId)
|
||||||
|
}
|
||||||
|
tx = tx.Delete(&model.UDMUserInfo{})
|
||||||
if err := tx.Error; err != nil {
|
if err := tx.Error; err != nil {
|
||||||
logger.Errorf("Delete err => %v", err)
|
logger.Errorf("Delete err => %v", err)
|
||||||
}
|
}
|
||||||
return tx.RowsAffected
|
return tx.RowsAffected
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeletePrefixByIMSI 删除前缀匹配的实体
|
|
||||||
func (r *UDMUserInfo) DeletePrefixByIMSI(imsiPrefix, neId string) int64 {
|
|
||||||
tx := datasource.DefaultDB().Where("imsi like concat(?, '%') and ne_id = ?", imsiPrefix, neId).Delete(&model.UDMUserInfo{})
|
|
||||||
if err := tx.Error; err != nil {
|
|
||||||
logger.Errorf("DeletePrefixByIMSI err => %v", err)
|
|
||||||
}
|
|
||||||
return tx.RowsAffected
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ func (r *UDMSubUser) Insert(neId string, u model.UDMSubUser) int64 {
|
|||||||
r.udmSubRepository.Delete(u.IMSI, neId)
|
r.udmSubRepository.Delete(u.IMSI, neId)
|
||||||
// 新增到拓展信息
|
// 新增到拓展信息
|
||||||
if u.Remark != "" {
|
if u.Remark != "" {
|
||||||
r.udmUserInfoRepository.Delete(u.IMSI, neId)
|
r.udmUserInfoRepository.Delete(u.IMSI, "%")
|
||||||
r.udmUserInfoRepository.Inserts([]model.UDMUserInfo{{
|
r.udmUserInfoRepository.Inserts([]model.UDMUserInfo{{
|
||||||
IMSI: u.IMSI,
|
IMSI: u.IMSI,
|
||||||
MSISDN: u.MSISDN,
|
MSISDN: u.MSISDN,
|
||||||
@@ -257,9 +257,9 @@ func (r *UDMSubUser) LoadData(neId, imsi, num, remark string) {
|
|||||||
// 删除原数据
|
// 删除原数据
|
||||||
r.udmSubRepository.Delete(keyIMSI, neId)
|
r.udmSubRepository.Delete(keyIMSI, neId)
|
||||||
if remark == "-(Deleted)-" {
|
if remark == "-(Deleted)-" {
|
||||||
r.udmUserInfoRepository.Delete(keyIMSI, neId)
|
r.udmUserInfoRepository.Delete(keyIMSI, "%")
|
||||||
}
|
}
|
||||||
// 加载数据
|
// 加载数据,删除标记为-(Deleted)-加载为空不插入
|
||||||
arr := r.dataByRedis(keyIMSI, neId)
|
arr := r.dataByRedis(keyIMSI, neId)
|
||||||
if len(arr) < 1 {
|
if len(arr) < 1 {
|
||||||
continue
|
continue
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ type UDMUserInfo struct {
|
|||||||
udmUserInfoRepository *repository.UDMUserInfo
|
udmUserInfoRepository *repository.UDMUserInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
// SelectByIMSIAndNeID 通过IMSI和网元标识查询信息
|
// SelectByIMSIAndNeID 通过IMSI和网元标识查询信息 neId为%时模糊imsi查询
|
||||||
func (r *UDMUserInfo) SelectByIMSIAndNeID(imsi, neId string) model.UDMUserInfo {
|
func (r *UDMUserInfo) SelectByIMSIAndNeID(imsi, neId string) model.UDMUserInfo {
|
||||||
return r.udmUserInfoRepository.SelectByIMSIAndNeID(imsi, neId)
|
return r.udmUserInfoRepository.SelectByIMSIAndNeID(imsi, neId)
|
||||||
}
|
}
|
||||||
@@ -27,7 +27,7 @@ func (r *UDMUserInfo) Save(u model.UDMUserInfo) bool {
|
|||||||
return r.udmUserInfoRepository.Inserts([]model.UDMUserInfo{u}) > 0
|
return r.udmUserInfoRepository.Inserts([]model.UDMUserInfo{u}) > 0
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete 删除信息
|
// Delete 删除信息 neId为%时模糊imsi查询
|
||||||
func (r *UDMUserInfo) Delete(imsi, neId string) int64 {
|
func (r *UDMUserInfo) Delete(imsi, neId string) int64 {
|
||||||
return r.udmUserInfoRepository.Delete(imsi, neId)
|
return r.udmUserInfoRepository.Delete(imsi, neId)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user