refactor all service dependency injection
This commit is contained in:
@@ -3,9 +3,11 @@ package application
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"bsm/full/module/base/mgt/internal/impl"
|
||||
"bsm/full/module/base/mgt/internal/libs"
|
||||
"bsm/full/module/base/mgt/internal/models"
|
||||
"bsm/full/module/base/mgt/internal/types"
|
||||
|
||||
"git.apinb.com/bsm-sdk/core/errcode"
|
||||
"git.apinb.com/bsm-sdk/core/infra"
|
||||
"git.apinb.com/bsm-sdk/core/printer"
|
||||
@@ -35,7 +37,7 @@ func Create(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 判断应用是否已经存在(包括软删除的记录)
|
||||
db := models.DBService.Model(&models.MgtApplication{})
|
||||
db := impl.DBService.Model(&models.MgtApplication{})
|
||||
if err = db.Where("title = ? or workspace = ?", request.Title, request.Workspace).First(&data).Error; err != nil {
|
||||
if !errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
infra.Response.Error(c, errcode.ErrDB)
|
||||
@@ -45,9 +47,9 @@ func Create(c *gin.Context) {
|
||||
var deletedData models.MgtApplication
|
||||
// 检查 workspace 是否被软删除(workspace 有唯一索引)
|
||||
if request.Workspace != "" {
|
||||
if err = models.DBService.Unscoped().Where("workspace = ?", request.Workspace).First(&deletedData).Error; err == nil {
|
||||
if err = impl.DBService.Unscoped().Where("workspace = ?", request.Workspace).First(&deletedData).Error; err == nil {
|
||||
// 存在软删除的记录,先物理删除它,以便可以重新创建
|
||||
if err = models.DBService.Unscoped().Delete(&deletedData).Error; err != nil {
|
||||
if err = impl.DBService.Unscoped().Delete(&deletedData).Error; err != nil {
|
||||
infra.Response.Error(c, errcode.ErrDB)
|
||||
return
|
||||
}
|
||||
@@ -56,9 +58,9 @@ func Create(c *gin.Context) {
|
||||
}
|
||||
// 检查 title 是否被软删除(如果 title 和 workspace 不同)
|
||||
if request.Title != "" && request.Title != request.Workspace {
|
||||
if err = models.DBService.Unscoped().Where("title = ?", request.Title).First(&deletedData).Error; err == nil {
|
||||
if err = impl.DBService.Unscoped().Where("title = ?", request.Title).First(&deletedData).Error; err == nil {
|
||||
// 存在软删除的记录,先物理删除它
|
||||
if err = models.DBService.Unscoped().Delete(&deletedData).Error; err != nil {
|
||||
if err = impl.DBService.Unscoped().Delete(&deletedData).Error; err != nil {
|
||||
infra.Response.Error(c, errcode.ErrDB)
|
||||
return
|
||||
}
|
||||
@@ -79,7 +81,7 @@ func Create(c *gin.Context) {
|
||||
Workspace: request.Workspace,
|
||||
Description: request.Description,
|
||||
}
|
||||
if err = models.DBService.Model(&models.MgtApplication{}).Create(&dataModel).Error; err != nil {
|
||||
if err = impl.DBService.Model(&models.MgtApplication{}).Create(&dataModel).Error; err != nil {
|
||||
infra.Response.Error(c, errcode.ErrDB)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package application
|
||||
|
||||
import (
|
||||
"bsm/full/module/base/mgt/internal/impl"
|
||||
"bsm/full/module/base/mgt/internal/libs"
|
||||
"bsm/full/module/base/mgt/internal/models"
|
||||
"bsm/full/module/base/mgt/internal/types"
|
||||
|
||||
"git.apinb.com/bsm-sdk/core/errcode"
|
||||
"git.apinb.com/bsm-sdk/core/infra"
|
||||
"git.apinb.com/bsm-sdk/core/printer"
|
||||
@@ -36,7 +38,7 @@ func Del(c *gin.Context) {
|
||||
appId := request.ID
|
||||
var dptIds []uint
|
||||
|
||||
if err := models.DBService.Transaction(func(tx *gorm.DB) error {
|
||||
if err := impl.DBService.Transaction(func(tx *gorm.DB) error {
|
||||
if err := tx.Model(&models.MgtDepartment{}).Where("app_id = ?", appId).Pluck("id", &dptIds).Error; err != nil {
|
||||
printer.Error("查询应用部门异常: %v", err)
|
||||
return err
|
||||
|
||||
@@ -3,9 +3,11 @@ package application
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"bsm/full/module/base/mgt/internal/impl"
|
||||
"bsm/full/module/base/mgt/internal/libs"
|
||||
"bsm/full/module/base/mgt/internal/models"
|
||||
"bsm/full/module/base/mgt/internal/types"
|
||||
|
||||
"git.apinb.com/bsm-sdk/core/errcode"
|
||||
"git.apinb.com/bsm-sdk/core/infra"
|
||||
"git.apinb.com/bsm-sdk/core/printer"
|
||||
@@ -38,7 +40,7 @@ func Detail(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
if err = models.DBService.Model(&models.MgtApplication{}).Where("id = ?", request.ID).First(&data).Error; err != nil {
|
||||
if err = impl.DBService.Model(&models.MgtApplication{}).Where("id = ?", request.ID).First(&data).Error; err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
infra.Response.Error(c, errcode.ErrRecordNotFound)
|
||||
return
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package application
|
||||
|
||||
import (
|
||||
"bsm/full/module/base/mgt/internal/impl"
|
||||
"bsm/full/module/base/mgt/internal/libs"
|
||||
"bsm/full/module/base/mgt/internal/logic/tool"
|
||||
"bsm/full/module/base/mgt/internal/models"
|
||||
"bsm/full/module/base/mgt/internal/types"
|
||||
|
||||
"git.apinb.com/bsm-sdk/core/errcode"
|
||||
"git.apinb.com/bsm-sdk/core/infra"
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -15,7 +17,7 @@ func Fetch(c *gin.Context) {
|
||||
request = types.ApplicationRequest{}
|
||||
count int64 = 0
|
||||
data = make([]types.ApplicationRsp, 0)
|
||||
db = models.DBService.Model(&models.MgtApplication{})
|
||||
db = impl.DBService.Model(&models.MgtApplication{})
|
||||
)
|
||||
|
||||
// 解析JSON请求
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package application
|
||||
|
||||
import (
|
||||
"bsm/full/module/base/mgt/internal/impl"
|
||||
"bsm/full/module/base/mgt/internal/libs"
|
||||
"bsm/full/module/base/mgt/internal/logic/tool"
|
||||
"bsm/full/module/base/mgt/internal/models"
|
||||
"bsm/full/module/base/mgt/internal/types"
|
||||
|
||||
"git.apinb.com/bsm-sdk/core/errcode"
|
||||
"git.apinb.com/bsm-sdk/core/infra"
|
||||
"git.apinb.com/bsm-sdk/core/printer"
|
||||
@@ -17,7 +19,7 @@ func UserFetch(c *gin.Context) {
|
||||
var (
|
||||
request = types.FetchBase{}
|
||||
data = models.MgtApplication{}
|
||||
db = models.DBService.Model(&models.MgtApplication{}).Select("id", "identity", "title")
|
||||
db = impl.DBService.Model(&models.MgtApplication{}).Select("id", "identity", "title")
|
||||
count int64 = 0
|
||||
)
|
||||
err := c.ShouldBindJSON(&request)
|
||||
@@ -56,7 +58,7 @@ func RoleFetch(c *gin.Context) {
|
||||
var (
|
||||
request = types.FetchBase{}
|
||||
data = make([]models.MgtApplication, 0)
|
||||
db = models.DBService.Model(&models.MgtApplication{}).Select("id", "identity", "title")
|
||||
db = impl.DBService.Model(&models.MgtApplication{}).Select("id", "identity", "title")
|
||||
count int64 = 0
|
||||
)
|
||||
err := c.ShouldBindJSON(&request)
|
||||
@@ -97,7 +99,7 @@ func PermissionFetch(c *gin.Context) {
|
||||
var (
|
||||
request = types.FetchBase{}
|
||||
data = make([]models.MgtApplication, 0)
|
||||
db = models.DBService.Model(&models.MgtApplication{}).Select("id", "identity", "title")
|
||||
db = impl.DBService.Model(&models.MgtApplication{}).Select("id", "identity", "title")
|
||||
count int64 = 0
|
||||
)
|
||||
err := c.ShouldBindJSON(&request)
|
||||
|
||||
@@ -3,9 +3,11 @@ package application
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"bsm/full/module/base/mgt/internal/impl"
|
||||
"bsm/full/module/base/mgt/internal/libs"
|
||||
"bsm/full/module/base/mgt/internal/models"
|
||||
"bsm/full/module/base/mgt/internal/types"
|
||||
|
||||
"git.apinb.com/bsm-sdk/core/errcode"
|
||||
"git.apinb.com/bsm-sdk/core/infra"
|
||||
"git.apinb.com/bsm-sdk/core/printer"
|
||||
@@ -40,7 +42,7 @@ func Midify(c *gin.Context) {
|
||||
|
||||
// 检查workspace是否已被其他应用使用
|
||||
if request.Workspace != "" {
|
||||
if err := models.DBService.Model(&models.MgtApplication{}).Where("workspace=? and id<>?", request.Workspace, request.ID).First(&data).Error; err != nil {
|
||||
if err := impl.DBService.Model(&models.MgtApplication{}).Where("workspace=? and id<>?", request.Workspace, request.ID).First(&data).Error; err != nil {
|
||||
if !errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
infra.Response.Error(c, errcode.ErrDB)
|
||||
return
|
||||
@@ -61,7 +63,7 @@ func Midify(c *gin.Context) {
|
||||
if request.Status != 0 {
|
||||
dataModel.Status = request.Status
|
||||
}
|
||||
if err := models.DBService.Model(&models.MgtApplication{}).Where("id = ?", request.ID).Updates(&dataModel).Error; err != nil {
|
||||
if err := impl.DBService.Model(&models.MgtApplication{}).Where("id = ?", request.ID).Updates(&dataModel).Error; err != nil {
|
||||
infra.Response.Error(c, errcode.ErrDB)
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user