新增岗位接口
This commit is contained in:
+62
-2
@@ -1,18 +1,78 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/api/model"
|
||||
"hospital-admin-api/api/requests"
|
||||
"hospital-admin-api/global"
|
||||
)
|
||||
|
||||
type AdminPostDao struct {
|
||||
}
|
||||
|
||||
// GetAdminPostFirstById 获取岗位数据-部门id
|
||||
func (r *AdminPostDao) GetAdminPostFirstById(postId int64) (m *model.AdminPost, err error) {
|
||||
// GetAdminPostById 获取岗位数据-岗位id
|
||||
func (r *AdminPostDao) GetAdminPostById(postId int64) (m *model.AdminPost, err error) {
|
||||
err = global.Db.First(&m, postId).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
// GetAdminPostList 获取岗位列表
|
||||
func (r *AdminPostDao) GetAdminPostList(maps interface{}) (m []*model.AdminPost, err error) {
|
||||
err = global.Db.Where(maps).Find(&m).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
// AddAdminPost 新增gan
|
||||
func (r *AdminPostDao) AddAdminPost(tx *gorm.DB, model *model.AdminPost) (*model.AdminPost, error) {
|
||||
if err := tx.Create(model).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return model, nil
|
||||
}
|
||||
|
||||
// DeleteAdminPostById 删除岗位-岗位id
|
||||
func (r *AdminPostDao) DeleteAdminPostById(tx *gorm.DB, deptId int64) error {
|
||||
if err := tx.Delete(&model.AdminPost{}, deptId).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// EditAdminPostById 修改岗位-岗位id
|
||||
func (r *AdminPostDao) EditAdminPostById(tx *gorm.DB, deptId int64, data interface{}) error {
|
||||
err := tx.Model(&model.AdminPost{}).Where("dept_id = ?", deptId).Updates(data).Error
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetAdminPostPageSearch 获取岗位列表-分页
|
||||
func (r *AdminPostDao) GetAdminPostPageSearch(getPostPage requests.GetPostPage, page, pageSize int) (m []*model.AdminPost, total int64, err error) {
|
||||
var totalRecords int64
|
||||
|
||||
// 构建查询条件
|
||||
query := global.Db.Model(&model.AdminPost{})
|
||||
|
||||
query = query.Where("dept_status = ? ", 1)
|
||||
if getPostPage.DeptName != "" {
|
||||
query = query.Where("dept_name like ?", "%"+getPostPage.DeptName+"%")
|
||||
}
|
||||
|
||||
// 查询总数量
|
||||
if err := query.Count(&totalRecords).Error; err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
err = query.Scopes(model.Paginate(page, pageSize)).Find(&m).Error
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
return m, totalRecords, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user