分层中

This commit is contained in:
xh
2025-06-24 17:44:57 +08:00
parent c0c45a72a6
commit e9dda76e8f
41 changed files with 202 additions and 927 deletions

View File

@@ -1,26 +0,0 @@
import request from '@/utils/request'
// 文章收藏列表
export function article_collect_lists(params?: Record<string, any>) {
return request.get({ url: '/article_collect/list', params })
}
// 文章收藏详情
export function article_collect_detail(params: Record<string, any>) {
return request.get({ url: '/article_collect/detail', params })
}
// 文章收藏新增
export function article_collect_add(data: Record<string, any>) {
return request.post({ url: '/article_collect/add', data })
}
// 文章收藏编辑
export function article_collect_edit(data: Record<string, any>) {
return request.post({ url: '/article_collect/edit', data })
}
// 文章收藏删除
export function article_collect_delete(data: Record<string, any>) {
return request.post({ url: '/article_collect/del', data })
}

View File

@@ -17,15 +17,6 @@ export function setWebsite(data: any) {
return request.post({ url: '/setting/website/save', data }) return request.post({ url: '/setting/website/save', data })
} }
// 获取政策协议
export function getProtocol() {
return request.get({ url: '/setting/protocol/detail' })
}
// 设置政策协议
export function setProtocol(data: any) {
return request.post({ url: '/setting/protocol/save', data })
}
// 获取网站接口列表 // 获取网站接口列表
export function getApiList() { export function getApiList() {
return request.get({ url: '/apiList' }) return request.get({ url: '/apiList' })

View File

@@ -1,117 +0,0 @@
<template>
<div class="edit-popup">
<popup
ref="popupRef"
:title="popupTitle"
:async="true"
width="550px"
:clickModalClose="true"
@confirm="handleSubmit"
@close="handleClose"
>
<el-form ref="formRef" :model="formData" label-width="84px" :rules="formRules">
<el-form-item label="用户ID" prop="userId">
<el-input v-model.number="formData.userId" placeholder="请输入用户ID" />
</el-form-item>
<el-form-item label="文章ID" prop="articleId">
<el-input v-model.number="formData.articleId" placeholder="请输入文章ID" />
</el-form-item>
</el-form>
</popup>
</div>
</template>
<script lang="ts" setup>
import type { FormInstance } from 'element-plus'
import {
article_collect_edit,
article_collect_add,
article_collect_detail
} from '@/api/article_collect'
import Popup from '@/components/popup/index.vue'
import feedback from '@/utils/feedback'
import { computed, reactive, ref, shallowRef } from 'vue'
import type { PropType } from 'vue'
defineProps({
dictData: {
type: Object as PropType<Record<string, any[]>>,
default: () => ({})
}
})
const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>()
const mode = ref('add')
const popupTitle = computed(() => {
return mode.value == 'edit' ? '编辑文章收藏' : '新增文章收藏'
})
const formData = reactive({
id: '',
userId: '',
articleId: ''
})
const formRules = {
id: [
{
required: true,
message: '请输入主键',
trigger: ['blur']
}
],
userId: [
{
required: true,
message: '请输入用户ID',
trigger: ['blur']
}
],
articleId: [
{
required: true,
message: '请输入文章ID',
trigger: ['blur']
}
]
}
const handleSubmit = async () => {
await formRef.value?.validate()
const data: any = { ...formData }
mode.value == 'edit' ? await article_collect_edit(data) : await article_collect_add(data)
popupRef.value?.close()
feedback.msgSuccess('操作成功')
emit('success')
}
const open = (type = 'add') => {
mode.value = type
popupRef.value?.open()
}
const setFormData = async (data: Record<string, any>) => {
for (const key in formData) {
if (data[key] != null && data[key] != undefined) {
//@ts-ignore
formData[key] = data[key]
}
}
}
const getDetail = async (row: Record<string, any>) => {
const data = await article_collect_detail({
id: row.id
})
setFormData(data)
}
const handleClose = () => {
emit('close')
}
defineExpose({
open,
setFormData,
getDetail
})
</script>

View File

@@ -1,107 +0,0 @@
<template>
<div class="index-lists">
<el-card class="!border-none" shadow="never">
<el-form ref="formRef" class="mb-[-16px]" :model="queryParams" :inline="true">
<el-form-item label="用户ID" prop="userId" class="w-[280px]">
<el-input v-model="queryParams.userId" />
</el-form-item>
<el-form-item label="文章ID" prop="articleId" class="w-[280px]">
<el-input v-model="queryParams.articleId" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-form>
</el-card>
<el-card class="!border-none mt-4" shadow="never">
<div>
<el-button
v-perms="['admin:article_collect:add']"
type="primary"
@click="handleAdd()"
>
<template #icon>
<icon name="el-icon-Plus" />
</template>
新增
</el-button>
</div>
<el-table class="mt-4" size="large" v-loading="pager.loading" :data="pager.lists">
<el-table-column label="用户ID" prop="userId" min-width="100" />
<el-table-column label="文章ID" prop="articleId" min-width="100" />
<el-table-column label="创建时间" prop="createTime" min-width="100" />
<el-table-column label="更新时间" prop="updateTime" min-width="100" />
<el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }">
<el-button
v-perms="['admin:article_collect:edit']"
type="primary"
link
@click="handleEdit(row)"
>
编辑
</el-button>
<el-button
v-perms="['admin:article_collect:del']"
type="danger"
link
@click="handleDelete(row.id)"
>
删除
</el-button>
</template>
</el-table-column>
</el-table>
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>
<edit-popup v-if="showEdit" ref="editRef" @success="getLists" @close="showEdit = false" />
</div>
</template>
<script lang="ts" setup>
import { shallowRef, ref, reactive, nextTick } from 'vue'
import { article_collect_delete, article_collect_lists } from '@/api/article_collect'
import { usePaging } from '@/hooks/usePaging'
import feedback from '@/utils/feedback'
import EditPopup from './edit.vue'
defineOptions({
name: 'article_collect'
})
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
const showEdit = ref(false)
const queryParams = reactive({
userId: '',
articleId: ''
})
const { pager, getLists, resetPage, resetParams } = usePaging({
fetchFun: article_collect_lists,
params: queryParams
})
const handleAdd = async () => {
showEdit.value = true
await nextTick()
editRef.value?.open('add')
}
const handleEdit = async (data: any) => {
showEdit.value = true
await nextTick()
editRef.value?.open('edit')
editRef.value?.getDetail(data)
}
const handleDelete = async (id: number) => {
await feedback.confirm('确定要删除?')
await article_collect_delete({ id })
feedback.msgSuccess('删除成功')
getLists()
}
getLists()
</script>

View File

@@ -1,59 +0,0 @@
<template>
<div class="xl:flex">
<el-card class="!border-none flex-1 xl:mr-4 mb-4" shadow="never">
<template #header>
<span class="font-medium">服务协议</span>
</template>
<el-form :model="formData" label-width="80px">
<el-form-item label="协议名称">
<el-input v-model="formData.service.name" />
</el-form-item>
</el-form>
<editor class="mb-10" v-model="formData.service.content" height="500"></editor>
</el-card>
<el-card class="!border-none flex-1 mb-4" shadow="never">
<template #header>
<span class="font-medium">隐私协议</span>
</template>
<el-form :model="formData" label-width="80px">
<el-form-item label="协议名称">
<el-input v-model="formData.privacy.name" />
</el-form-item>
</el-form>
<editor class="mb-10" v-model="formData.privacy.content" height="500"></editor>
</el-card>
</div>
<footer-btns v-perms="['admin:setting:protocol:save']">
<el-button type="primary" @click="handelSave">保存</el-button>
</footer-btns>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import { getProtocol, setProtocol } from '@/api/setting/website'
import feedback from '@/utils/feedback'
defineOptions({
name: 'webProtocol'
})
const formData = ref({
privacy: {
content: '',
name: ''
},
service: {
content: '',
name: ''
}
})
const getProtocolDetail = async () => {
formData.value = await getProtocol()
}
const handelSave = async () => {
await setProtocol(formData.value)
feedback.msgSuccess('操作成功')
getProtocolDetail()
}
getProtocolDetail()
</script>

View File

@@ -1,40 +0,0 @@
package article_collect
import (
"x_admin/core/request"
"x_admin/core/response"
"x_admin/util"
"github.com/gin-gonic/gin"
)
type ArticleCollectHandler struct {
Service ArticleCollectService
}
// @Summary article_collect列表
// @Tags article_collect文章
// @Produce json
// @Param Token header string true "token"
// @Param PageNo query int true "页码"
// @Param PageSize query int true "每页大小"
// @Param userId query int false "用户ID"
// @Param articleId query int false "文章ID"
// @Success 200 {object} response.PageResp "成功"
// @Failure 400 {object} string "请求错误"
// @Failure 500 {object} string "内部错误"
// @Router /api/article_collect/list [get]
//
// list article_collect列表
func (hd ArticleCollectHandler) List(c *gin.Context) {
var page request.PageReq
var listReq ArticleCollectListReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &page)) {
return
}
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) {
return
}
res, err := Service.List(page, listReq)
response.CheckAndRespWithData(c, res, err)
}

View File

@@ -1,41 +0,0 @@
package article_collect
import "x_admin/core"
//ArticleCollectListReq 文章收藏列表参数
type ArticleCollectListReq struct {
UserId int `form:"userId"` // 用户ID
ArticleId int `form:"articleId"` // 文章ID
}
//ArticleCollectDetailReq 文章收藏详情参数
type ArticleCollectDetailReq struct {
Id int `form:"id"` // 主键
}
//ArticleCollectAddReq 文章收藏新增参数
type ArticleCollectAddReq struct {
UserId int `form:"userId"` // 用户ID
ArticleId int `form:"articleId"` // 文章ID
}
//ArticleCollectEditReq 文章收藏新增参数
type ArticleCollectEditReq struct {
Id int `form:"id"` // 主键
UserId int `form:"userId"` // 用户ID
ArticleId int `form:"articleId"` // 文章ID
}
//ArticleCollectDelReq 文章收藏新增参数
type ArticleCollectDelReq struct {
Id int `form:"id"` // 主键
}
//ArticleCollectResp 文章收藏返回信息
type ArticleCollectResp struct {
Id int `json:"id" structs:"id"` // 主键
UserId int `json:"userId" structs:"userId"` // 用户ID
ArticleId int `json:"articleId" structs:"articleId"` // 文章ID
CreateTime core.NullTime `json:"createTime" structs:"createTime"` // 创建时间
UpdateTime core.NullTime `json:"updateTime" structs:"updateTime"` // 更新时间
}

View File

@@ -1,68 +0,0 @@
package article_collect
import (
"x_admin/core"
"x_admin/core/request"
"x_admin/core/response"
"x_admin/model"
"x_admin/util/convert_util"
"gorm.io/gorm"
)
type IArticleCollectService interface {
List(page request.PageReq, listReq ArticleCollectListReq) (res response.PageResp, e error)
Detail(id int) (res ArticleCollectResp, e error)
Add(addReq ArticleCollectAddReq) (e error)
Edit(editReq ArticleCollectEditReq) (e error)
Del(id int) (e error)
}
var Service = NewArticleCollectService()
// NewArticleCollectService 初始化
func NewArticleCollectService() ArticleCollectService {
db := core.GetDB()
return ArticleCollectService{db: db}
}
// ArticleCollectService 文章收藏服务实现类
type ArticleCollectService struct {
db *gorm.DB
}
// List 文章收藏列表
func (service ArticleCollectService) List(page request.PageReq, listReq ArticleCollectListReq) (res response.PageResp, e error) {
// 分页信息
limit := page.PageSize
offset := page.PageSize * (page.PageNo - 1)
// 查询
dbModel := service.db.Model(&model.ArticleCollect{})
if listReq.UserId > 0 {
dbModel = dbModel.Where("user_id = ?", listReq.UserId)
}
if listReq.ArticleId > 0 {
dbModel = dbModel.Where("article_id = ?", listReq.ArticleId)
}
dbModel = dbModel.Where("is_delete = ?", 0)
// 总数
var count int64
err := dbModel.Count(&count).Error
if e = response.CheckErr(err, "列表总数获取失败"); e != nil {
return
}
// 数据
var modelList []model.ArticleCollect
err = dbModel.Limit(limit).Offset(offset).Order("id desc").Find(&modelList).Error
if e = response.CheckErr(err, "列表获取失败"); e != nil {
return
}
result := []ArticleCollectResp{}
convert_util.Copy(&result, modelList)
return response.PageResp{
PageNo: page.PageNo,
PageSize: page.PageSize,
Count: count,
Lists: result,
}, nil
}

View File

@@ -6,31 +6,19 @@ import (
"fmt" "fmt"
"strconv" "strconv"
"x_admin/admin/flow/flow_apply" "x_admin/admin/flow/flow_apply"
"x_admin/admin/system/admin"
"x_admin/admin/system/dept"
"x_admin/core" "x_admin/core"
"x_admin/core/request" "x_admin/core/request"
"x_admin/core/response" "x_admin/core/response"
"x_admin/model" "x_admin/model"
"x_admin/model/system_model" "x_admin/model/system_model"
"x_admin/schema/systemSchema"
"x_admin/service/systemService"
"x_admin/util" "x_admin/util"
"x_admin/util/convert_util" "x_admin/util/convert_util"
"gorm.io/gorm" "gorm.io/gorm"
) )
// type IFlowHistoryService interface {
// List(page request.PageReq, listReq FlowHistoryListReq) (res response.PageResp, e error)
// ListAll() (res []FlowHistoryResp, e error)
// Detail(id int) (res FlowHistoryResp, e error)
// Add(addReq FlowHistoryAddReq) (e error)
// Edit(editReq FlowHistoryEditReq) (e error)
// Del(id int) (e error)
// GetNextNode(nextNode NextNodeReq) (e error)
// }
var Service = NewFlowHistoryService() var Service = NewFlowHistoryService()
// NewFlowHistoryService 初始化 // NewFlowHistoryService 初始化
@@ -188,7 +176,7 @@ func (service flowHistoryService) Del(id int) (e error) {
/** /**
* 获取节点的审批用户 * 获取节点的审批用户
*/ */
func (service flowHistoryService) GetApprover(ApplyId int) (res []admin.SystemAuthAdminResp, e error) { func (service flowHistoryService) GetApprover(ApplyId int) (res []systemSchema.SystemAuthAdminResp, e error) {
nextNodes, applyDetail, _, err := service.GetNextNode(ApplyId) nextNodes, applyDetail, _, err := service.GetNextNode(ApplyId)
if err != nil { if err != nil {
return nil, err return nil, err
@@ -232,14 +220,14 @@ func (service flowHistoryService) GetApprover(ApplyId int) (res []admin.SystemAu
} else if userType == 2 { } else if userType == 2 {
// 申请人所在的部门负责人 // 申请人所在的部门负责人
applyUser, err := admin.Service.Detail(uint(applyDetail.ApplyUserId)) applyUser, err := systemService.AdminService.Detail(uint(applyDetail.ApplyUserId))
if err != nil { if err != nil {
return nil, err return nil, err
} }
if applyUser.DeptId == 0 { if applyUser.DeptId == 0 {
return nil, errors.New("申请人没有绑定部门") return nil, errors.New("申请人没有绑定部门")
} }
deptDetails, err := dept.Service.Detail(applyUser.DeptId) deptDetails, err := systemService.DeptService.Detail(applyUser.DeptId)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -256,7 +244,7 @@ func (service flowHistoryService) GetApprover(ApplyId int) (res []admin.SystemAu
} }
// 数据 // 数据
var adminResp []admin.SystemAuthAdminResp var adminResp []systemSchema.SystemAuthAdminResp
err = adminModel.Where(where).Find(&adminResp).Error err = adminModel.Where(where).Find(&adminResp).Error
if e = response.CheckErr(err, "获取审批用户失败"); e != nil { if e = response.CheckErr(err, "获取审批用户失败"); e != nil {
return return
@@ -320,7 +308,7 @@ func (service flowHistoryService) Pass(pass PassReq) (e error) {
isUserTask = true isUserTask = true
flow.PassStatus = 1 //1待处理 flow.PassStatus = 1 //1待处理
flow.ApproverId = pass.NextNodeAdminId flow.ApproverId = pass.NextNodeAdminId
Approver, err := admin.Service.Detail(uint(pass.NextNodeAdminId)) Approver, err := systemService.AdminService.Detail(uint(pass.NextNodeAdminId))
if err != nil { if err != nil {
return err return err
} else { } else {

View File

@@ -1,43 +0,0 @@
package protocol
import (
"x_admin/core/response"
"x_admin/middleware"
"x_admin/util"
"github.com/gin-gonic/gin"
)
func ProtocolRoute(rg *gin.RouterGroup) {
// db := core.GetDB()
// permSrv := system.NewSystemAuthPermService(db)
// roleSrv := system.NewSystemAuthRoleService(db, permSrv)
// adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv)
// service := system.NewSystemLoginService(db, adminSrv)
// server := NewSettingProtocolService(db)
handle := protocolHandler{}
rg = rg.Group("/setting", middleware.TokenAuth())
rg.GET("/protocol/detail", handle.Detail)
rg.POST("/protocol/save", handle.save)
}
type protocolHandler struct {
}
// detail 获取政策信息
func (ph protocolHandler) Detail(c *gin.Context) {
res, err := Service.Detail()
response.CheckAndRespWithData(c, res, err)
}
// save 保存政策信息
func (ph protocolHandler) save(c *gin.Context) {
var pReq SettingProtocolReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &pReq)) {
return
}
response.CheckAndResp(c, Service.Save(pReq))
}

View File

@@ -1,13 +0,0 @@
package protocol
//SettingProtocolItem 政策通用参数
type SettingProtocolItem struct {
Name string `form:"name" json:"name"` // 名称
Content string `form:"content" json:"content"` // 内容
}
//SettingProtocolReq 保存政策信息参数
type SettingProtocolReq struct {
Service SettingProtocolItem `form:"service" json:"service"` // 服务协议
Privacy SettingProtocolItem `form:"privacy" json:"privacy"` // 隐私协议
}

View File

@@ -1,71 +0,0 @@
package protocol
import (
"x_admin/core"
"x_admin/core/response"
"x_admin/util"
"gorm.io/gorm"
)
type ISettingProtocolService interface {
Detail() (res map[string]interface{}, e error)
Save(pReq SettingProtocolReq) (e error)
}
var Service = NewSettingProtocolService()
// NewSettingProtocolService 初始化
func NewSettingProtocolService() ISettingProtocolService {
db := core.GetDB()
return &settingProtocolService{db: db}
}
// settingProtocolService 政策协议服务实现类
type settingProtocolService struct {
db *gorm.DB
}
// Detail 获取政策协议信息
func (cSrv settingProtocolService) Detail() (res map[string]interface{}, e error) {
defaultVal := `{"name":"","content":""}`
json, err := util.ConfigUtil.GetVal(cSrv.db, "protocol", "service", defaultVal)
if e = response.CheckErr(err, "Detail GetVal service err"); e != nil {
return
}
var service map[string]interface{}
if e = response.CheckErr(util.ToolsUtil.JsonToObj(json, &service), "Detail JsonToObj service err"); e != nil {
return
}
json, err = util.ConfigUtil.GetVal(cSrv.db, "protocol", "privacy", defaultVal)
if e = response.CheckErr(err, "Detail GetVal privacy err"); e != nil {
return
}
var privacy map[string]interface{}
if e = response.CheckErr(util.ToolsUtil.JsonToObj(json, &privacy), "Detail JsonToObj privacy err"); e != nil {
return
}
return map[string]interface{}{
"service": service,
"privacy": privacy,
}, nil
}
// Save 保存政策协议信息
func (cSrv settingProtocolService) Save(pReq SettingProtocolReq) (e error) {
serviceJson, err := util.ToolsUtil.ObjToJson(pReq.Service)
if e = response.CheckErr(err, "Save ObjToJson service err"); e != nil {
return
}
privacyJson, err := util.ToolsUtil.ObjToJson(pReq.Privacy)
if e = response.CheckErr(err, "Save ObjToJson privacy err"); e != nil {
return
}
err = util.ConfigUtil.Set(cSrv.db, "protocol", "service", serviceJson)
if e = response.CheckErr(err, "Save Set service err"); e != nil {
return
}
err = util.ConfigUtil.Set(cSrv.db, "protocol", "privacy", privacyJson)
e = response.CheckErr(err, "Save Set privacy err")
return
}

View File

@@ -1,57 +0,0 @@
package system
import (
"x_admin/admin/system/admin"
"x_admin/admin/system/role"
"x_admin/middleware"
"github.com/gin-gonic/gin"
)
func AdminRoute(rg *gin.RouterGroup) {
// db := core.GetDB()
// permSrv := role.NewSystemAuthPermService(db)
// roleSrv := role.NewSystemAuthRoleService(db, permSrv)
// adminSrv := admin.NewSystemAuthAdminService(db, permSrv, roleSrv)
// service := NewSystemLoginService(db, adminSrv)
handle := admin.AdminHandler{}
rg = rg.Group("/system", middleware.TokenAuth())
rg.GET("/admin/self", handle.Self)
rg.GET("/admin/list", handle.List)
rg.GET("/admin/listAll", handle.ListAll)
rg.GET("/admin/ListByDeptId", handle.ListByDeptId)
rg.GET("/admin/detail", handle.Detail)
rg.POST("/admin/add", middleware.RecordLog("管理员新增"), handle.Add)
rg.POST("/admin/edit", middleware.RecordLog("管理员编辑"), handle.Edit)
rg.POST("/admin/upInfo", middleware.RecordLog("管理员更新"), handle.UpInfo)
rg.POST("/admin/del", middleware.RecordLog("管理员删除"), handle.Del)
rg.POST("/admin/disable", middleware.RecordLog("管理员状态切换"), handle.Disable)
rg.GET("/admin/ExportFile", middleware.RecordLog("管理员导出"), handle.ExportFile)
rg.POST("/admin/ImportFile", handle.ImportFile)
}
func RoleRoute(rg *gin.RouterGroup) {
// db := core.GetDB()
// permSrv := role.NewSystemAuthPermService(db)
// roleSrv := NewSystemAuthRoleService(db, permSrv)
// adminSrv := NewSystemAuthAdminService(db, permSrv, roleSrv)
// service := NewSystemLoginService(db, adminSrv)
// server := role.NewSystemAuthRoleService()
handle := role.RoleHandler{}
rg = rg.Group("/system", middleware.TokenAuth())
rg.GET("/role/all", handle.All)
rg.GET("/role/list", middleware.RecordLog("角色列表"), handle.List)
rg.GET("/role/detail", middleware.RecordLog("角色详情"), handle.Detail)
rg.POST("/role/add", middleware.RecordLog("角色新增"), handle.Add)
rg.POST("/role/edit", middleware.RecordLog("角色编辑"), handle.Edit)
rg.POST("/role/del", middleware.RecordLog("角色删除"), handle.Del)
}

View File

@@ -1,12 +1,15 @@
package admin package systemController
import ( import (
"fmt"
"net/http" "net/http"
"strconv" "strconv"
"x_admin/config" "x_admin/config"
"x_admin/core/request" "x_admin/core/request"
"x_admin/core/response" "x_admin/core/response"
"x_admin/middleware"
"x_admin/schema/systemSchema"
"x_admin/service/systemService"
"x_admin/util/excel" "x_admin/util/excel"
"x_admin/util" "x_admin/util"
@@ -14,27 +17,28 @@ import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
// func AdminRoute(rg *gin.RouterGroup) { func AdminRoute(rg *gin.RouterGroup) {
// db := core.GetDB()
// permSrv := role.NewSystemAuthPermService(db) handle := AdminHandler{}
// roleSrv := role.NewSystemAuthRoleService(db, permSrv)
// adminSrv := NewSystemAuthAdminService(db, permSrv, roleSrv)
// // service := NewSystemLoginService(db, adminSrv)
// handle := AdminHandler{Service: adminSrv} rg = rg.Group("/system", middleware.TokenAuth())
// rg = rg.Group("/system", middleware.TokenAuth()) rg.GET("/admin/self", handle.Self)
rg.GET("/admin/list", handle.List)
rg.GET("/admin/listAll", handle.ListAll)
rg.GET("/admin/ListByDeptId", handle.ListByDeptId)
rg.GET("/admin/detail", handle.Detail)
rg.POST("/admin/add", middleware.RecordLog("管理员新增"), handle.Add)
rg.POST("/admin/edit", middleware.RecordLog("管理员编辑"), handle.Edit)
rg.POST("/admin/upInfo", middleware.RecordLog("管理员更新"), handle.UpInfo)
rg.POST("/admin/del", middleware.RecordLog("管理员删除"), handle.Del)
rg.POST("/admin/disable", middleware.RecordLog("管理员状态切换"), handle.Disable)
// rg.GET("/admin/self", handle.self) rg.GET("/admin/ExportFile", middleware.RecordLog("管理员导出"), handle.ExportFile)
// rg.GET("/admin/list", handle.List)
// rg.GET("/admin/detail", handle.Detail) rg.POST("/admin/ImportFile", handle.ImportFile)
// rg.POST("/admin/add", middleware.RecordLog("管理员新增"), handle.Add)
// rg.POST("/admin/edit", middleware.RecordLog("管理员编辑"), handle.Edit) }
// rg.POST("/admin/upInfo", middleware.RecordLog("管理员更新"), handle.upInfo)
// rg.POST("/admin/del", middleware.RecordLog("管理员删除"), handle.Del)
// rg.POST("/admin/disable", middleware.RecordLog("管理员状态切换"), handle.disable)
// }
type AdminHandler struct { type AdminHandler struct {
// Service ISystemAuthAdminService // Service ISystemAuthAdminService
@@ -43,16 +47,17 @@ type AdminHandler struct {
// self 管理员信息 // self 管理员信息
func (ah AdminHandler) Self(c *gin.Context) { func (ah AdminHandler) Self(c *gin.Context) {
adminId := config.AdminConfig.GetAdminId(c) adminId := config.AdminConfig.GetAdminId(c)
res, err := Service.Self(adminId) res, err := systemService.AdminService.Self(adminId)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
func (ah AdminHandler) ExportFile(c *gin.Context) { func (ah AdminHandler) ExportFile(c *gin.Context) {
var listReq SystemAuthAdminListReq var listReq systemSchema.SystemAuthAdminListReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) {
return return
} }
res, err := Service.ExportFile(listReq) res, err := systemService.AdminService.ExportFile(listReq)
if err != nil { if err != nil {
response.FailWithMsg(c, response.SystemError, "查询导出失败") response.FailWithMsg(c, response.SystemError, "查询导出失败")
return return
@@ -77,99 +82,96 @@ func (ah AdminHandler) ImportFile(c *gin.Context) {
return return
} }
defer file.Close() defer file.Close()
importList := []SystemAuthAdminResp{} importList := []systemSchema.SystemAuthAdminResp{}
err = excel.GetExcelData(file, &importList) err = excel.GetExcelData(file, &importList)
if err != nil { if err != nil {
c.String(http.StatusInternalServerError, err.Error()) c.String(http.StatusInternalServerError, err.Error())
return return
} }
for _, t := range importList { err = systemService.AdminService.ImportFile(importList)
fmt.Printf("%#v", t)
}
err = Service.ImportFile(importList)
response.CheckAndResp(c, err) response.CheckAndResp(c, err)
} }
// list 管理员列表 // list 管理员列表
func (ah AdminHandler) List(c *gin.Context) { func (ah AdminHandler) List(c *gin.Context) {
var page request.PageReq var page request.PageReq
var listReq SystemAuthAdminListReq var listReq systemSchema.SystemAuthAdminListReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &page)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &page)) {
return return
} }
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) {
return return
} }
res, err := Service.List(page, listReq) res, err := systemService.AdminService.List(page, listReq)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
// ListAll 所有管理员列表 // ListAll 所有管理员列表
func (ah AdminHandler) ListAll(c *gin.Context) { func (ah AdminHandler) ListAll(c *gin.Context) {
var listReq SystemAuthAdminListReq var listReq systemSchema.SystemAuthAdminListReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) {
return return
} }
res, err := Service.ListAll(listReq) res, err := systemService.AdminService.ListAll(listReq)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
// detail 管理员详细 // detail 管理员详细
func (ah AdminHandler) Detail(c *gin.Context) { func (ah AdminHandler) Detail(c *gin.Context) {
var detailReq SystemAuthAdminDetailReq var detailReq systemSchema.SystemAuthAdminDetailReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) {
return return
} }
res, err := Service.Detail(detailReq.ID) res, err := systemService.AdminService.Detail(detailReq.ID)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
// add 管理员新增 // add 管理员新增
func (ah AdminHandler) Add(c *gin.Context) { func (ah AdminHandler) Add(c *gin.Context) {
var addReq SystemAuthAdminAddReq var addReq systemSchema.SystemAuthAdminAddReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &addReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &addReq)) {
return return
} }
response.CheckAndResp(c, Service.Add(addReq)) response.CheckAndResp(c, systemService.AdminService.Add(addReq))
} }
// edit 管理员编辑 // edit 管理员编辑
func (ah AdminHandler) Edit(c *gin.Context) { func (ah AdminHandler) Edit(c *gin.Context) {
var editReq SystemAuthAdminEditReq var editReq systemSchema.SystemAuthAdminEditReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &editReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &editReq)) {
return return
} }
response.CheckAndResp(c, Service.Edit(c, editReq)) response.CheckAndResp(c, systemService.AdminService.Edit(c, editReq))
} }
// upInfo 管理员更新 // upInfo 管理员更新
func (ah AdminHandler) UpInfo(c *gin.Context) { func (ah AdminHandler) UpInfo(c *gin.Context) {
var updateReq SystemAuthAdminUpdateReq var updateReq systemSchema.SystemAuthAdminUpdateReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &updateReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &updateReq)) {
return return
} }
response.CheckAndResp(c, Service.Update( response.CheckAndResp(c, systemService.AdminService.Update(
c, updateReq, config.AdminConfig.GetAdminId(c))) c, updateReq, config.AdminConfig.GetAdminId(c)))
} }
// del 管理员删除 // del 管理员删除
func (ah AdminHandler) Del(c *gin.Context) { func (ah AdminHandler) Del(c *gin.Context) {
var delReq SystemAuthAdminDelReq var delReq systemSchema.SystemAuthAdminDelReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) {
return return
} }
response.CheckAndResp(c, Service.Del(c, delReq.ID)) response.CheckAndResp(c, systemService.AdminService.Del(c, delReq.ID))
} }
// disable 管理员状态切换 // disable 管理员状态切换
func (ah AdminHandler) Disable(c *gin.Context) { func (ah AdminHandler) Disable(c *gin.Context) {
var disableReq SystemAuthAdminDisableReq var disableReq systemSchema.SystemAuthAdminDisableReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &disableReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &disableReq)) {
return return
} }
response.CheckAndResp(c, Service.Disable(c, disableReq.ID)) response.CheckAndResp(c, systemService.AdminService.Disable(c, disableReq.ID))
} }
// @Summary 获取部门的用户 // @Summary 获取部门的用户
@@ -192,6 +194,6 @@ func (ah AdminHandler) ListByDeptId(c *gin.Context) {
// if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &deptId)) { // if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &deptId)) {
// return // return
// } // }
res, err := Service.ListByUserIdOrDeptIdPostId(0, deptId, 0) res, err := systemService.AdminService.ListByUserIdOrDeptIdPostId(0, deptId, 0)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }

View File

@@ -1,8 +1,10 @@
package dept package systemController
import ( import (
"x_admin/core/response" "x_admin/core/response"
"x_admin/middleware" "x_admin/middleware"
. "x_admin/schema/systemSchema"
"x_admin/service/systemService"
"x_admin/util" "x_admin/util"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
@@ -32,7 +34,7 @@ type deptHandler struct {
// all 部门所有 // all 部门所有
func (dh deptHandler) All(c *gin.Context) { func (dh deptHandler) All(c *gin.Context) {
res, err := Service.All() res, err := systemService.DeptService.All()
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
@@ -42,7 +44,7 @@ func (dh deptHandler) List(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) {
return return
} }
res, err := Service.List(listReq) res, err := systemService.DeptService.List(listReq)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
@@ -52,7 +54,7 @@ func (dh deptHandler) Detail(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) {
return return
} }
res, err := Service.Detail(detailReq.ID) res, err := systemService.DeptService.Detail(detailReq.ID)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
@@ -62,7 +64,7 @@ func (dh deptHandler) Add(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &addReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &addReq)) {
return return
} }
response.CheckAndResp(c, Service.Add(addReq)) response.CheckAndResp(c, systemService.DeptService.Add(addReq))
} }
// edit 部门编辑 // edit 部门编辑
@@ -71,7 +73,7 @@ func (dh deptHandler) Edit(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &editReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &editReq)) {
return return
} }
response.CheckAndResp(c, Service.Edit(editReq)) response.CheckAndResp(c, systemService.DeptService.Edit(editReq))
} }
// del 部门删除 // del 部门删除
@@ -80,5 +82,5 @@ func (dh deptHandler) Del(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &delReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &delReq)) {
return return
} }
response.CheckAndResp(c, Service.Del(delReq.ID)) response.CheckAndResp(c, systemService.DeptService.Del(delReq.ID))
} }

View File

@@ -1,9 +1,11 @@
package log package systemController
import ( import (
"x_admin/core/request" "x_admin/core/request"
"x_admin/core/response" "x_admin/core/response"
"x_admin/middleware" "x_admin/middleware"
. "x_admin/schema/systemSchema"
"x_admin/service/systemService"
"x_admin/util" "x_admin/util"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
@@ -31,7 +33,7 @@ func (lh logHandler) operate(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &logReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &logReq)) {
return return
} }
res, err := Service.Operate(page, logReq) res, err := systemService.LogsService.Operate(page, logReq)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
@@ -45,6 +47,6 @@ func (lh logHandler) login(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &logReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &logReq)) {
return return
} }
res, err := Service.Login(page, logReq) res, err := systemService.LogsService.Login(page, logReq)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }

View File

@@ -1,20 +1,17 @@
package login package systemController
import ( import (
"x_admin/admin/common/captcha" "x_admin/admin/common/captcha"
"x_admin/core/response" "x_admin/core/response"
"x_admin/middleware" "x_admin/middleware"
. "x_admin/schema/systemSchema"
"x_admin/service/systemService"
"x_admin/util" "x_admin/util"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
func LoginRoute(rg *gin.RouterGroup) { func LoginRoute(rg *gin.RouterGroup) {
// db := core.GetDB()
// permSrv := role.NewSystemAuthPermService(db)
// roleSrv := role.NewSystemAuthRoleService(db, permSrv)
// adminSrv := admin.NewSystemAuthAdminService(db, permSrv, roleSrv)
// service := NewSystemLoginService(db, adminSrv)
handle := loginHandler{} handle := loginHandler{}
@@ -41,7 +38,7 @@ func (lh loginHandler) login(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &loginReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &loginReq)) {
return return
} }
res, err := Service.Login(c, &loginReq) res, err := systemService.LoginService.Login(c, &loginReq)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
@@ -51,5 +48,5 @@ func (lh loginHandler) logout(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyHeader(c, &logoutReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyHeader(c, &logoutReq)) {
return return
} }
response.CheckAndResp(c, Service.Logout(&logoutReq)) response.CheckAndResp(c, systemService.LoginService.Logout(&logoutReq))
} }

View File

@@ -1,24 +1,18 @@
package menu package systemController
import ( import (
"strconv" "strconv"
"x_admin/config" "x_admin/config"
"x_admin/core/response" "x_admin/core/response"
"x_admin/middleware" "x_admin/middleware"
. "x_admin/schema/systemSchema"
"x_admin/service/systemService"
"x_admin/util" "x_admin/util"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
func MenuRoute(rg *gin.RouterGroup) { func MenuRoute(rg *gin.RouterGroup) {
// permSrv := role.NewSystemAuthPermService()
// roleSrv := system.NewSystemAuthRoleService(db, permSrv)
// adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv)
// service := system.NewSystemLoginService(db, adminSrv)
// authSrv := NewSystemAuthMenuService()
handle := menuHandler{} handle := menuHandler{}
rg = rg.Group("/system", middleware.TokenAuth()) rg = rg.Group("/system", middleware.TokenAuth())
@@ -37,13 +31,13 @@ type menuHandler struct {
func (mh menuHandler) route(c *gin.Context) { func (mh menuHandler) route(c *gin.Context) {
roleId := config.AdminConfig.GetRoleId(c) roleId := config.AdminConfig.GetRoleId(c)
id, _ := strconv.ParseUint(roleId, 10, 64) id, _ := strconv.ParseUint(roleId, 10, 64)
res, err := Service.SelectMenuByRoleId(c, uint(id)) res, err := systemService.MenuService.SelectMenuByRoleId(c, uint(id))
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
// list 菜单列表 // list 菜单列表
func (mh menuHandler) List(c *gin.Context) { func (mh menuHandler) List(c *gin.Context) {
res, err := Service.List() res, err := systemService.MenuService.List()
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
@@ -53,7 +47,7 @@ func (mh menuHandler) Detail(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) {
return return
} }
res, err := Service.Detail(detailReq.ID) res, err := systemService.MenuService.Detail(detailReq.ID)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
@@ -63,7 +57,7 @@ func (mh menuHandler) Add(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &addReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &addReq)) {
return return
} }
response.CheckAndResp(c, Service.Add(addReq)) response.CheckAndResp(c, systemService.MenuService.Add(addReq))
} }
// edit 编辑菜单 // edit 编辑菜单
@@ -72,7 +66,7 @@ func (mh menuHandler) Edit(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &editReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &editReq)) {
return return
} }
response.CheckAndResp(c, Service.Edit(editReq)) response.CheckAndResp(c, systemService.MenuService.Edit(editReq))
} }
// del 删除菜单 // del 删除菜单
@@ -81,5 +75,5 @@ func (mh menuHandler) Del(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) {
return return
} }
response.CheckAndResp(c, Service.Del(delReq.ID)) response.CheckAndResp(c, systemService.MenuService.Del(delReq.ID))
} }

View File

@@ -1,23 +1,17 @@
package post package systemController
import ( import (
"x_admin/core/request" "x_admin/core/request"
"x_admin/core/response" "x_admin/core/response"
"x_admin/middleware" "x_admin/middleware"
. "x_admin/schema/systemSchema"
"x_admin/service/systemService"
"x_admin/util" "x_admin/util"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
func PostRoute(rg *gin.RouterGroup) { func PostRoute(rg *gin.RouterGroup) {
// db := core.GetDB()
// permSrv := system.NewSystemAuthPermService(db)
// roleSrv := system.NewSystemAuthRoleService(db, permSrv)
// adminSrv := system.NewSystemAuthAdminService(db, permSrv, roleSrv)
// service := system.NewSystemLoginService(db, adminSrv)
// server := NewSystemAuthPostService(db)
handle := postHandler{} handle := postHandler{}
rg = rg.Group("/system", middleware.TokenAuth()) rg = rg.Group("/system", middleware.TokenAuth())
@@ -34,7 +28,7 @@ type postHandler struct {
// all 岗位所有 // all 岗位所有
func (ph postHandler) All(c *gin.Context) { func (ph postHandler) All(c *gin.Context) {
res, err := Service.All() res, err := systemService.PostService.All()
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
@@ -48,7 +42,7 @@ func (ph postHandler) List(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &listReq)) {
return return
} }
res, err := Service.List(page, listReq) res, err := systemService.PostService.List(page, listReq)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
@@ -58,7 +52,7 @@ func (ph postHandler) Detail(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) {
return return
} }
res, err := Service.Detail(detailReq.ID) res, err := systemService.PostService.Detail(detailReq.ID)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
@@ -68,7 +62,7 @@ func (ph postHandler) Add(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &addReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &addReq)) {
return return
} }
response.CheckAndResp(c, Service.Add(addReq)) response.CheckAndResp(c, systemService.PostService.Add(addReq))
} }
// edit 岗位编辑 // edit 岗位编辑
@@ -77,7 +71,7 @@ func (ph postHandler) Edit(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &editReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &editReq)) {
return return
} }
response.CheckAndResp(c, Service.Edit(editReq)) response.CheckAndResp(c, systemService.PostService.Edit(editReq))
} }
// del 岗位删除 // del 岗位删除
@@ -86,5 +80,5 @@ func (ph postHandler) Del(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &delReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyBody(c, &delReq)) {
return return
} }
response.CheckAndResp(c, Service.Del(delReq.ID)) response.CheckAndResp(c, systemService.PostService.Del(delReq.ID))
} }

View File

@@ -1,32 +1,28 @@
package role package systemController
import ( import (
"x_admin/core/request" "x_admin/core/request"
"x_admin/core/response" "x_admin/core/response"
"x_admin/middleware"
. "x_admin/schema/systemSchema"
"x_admin/service/systemService"
"x_admin/util" "x_admin/util"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
// func RoleRoute(rg *gin.RouterGroup) { func RoleRoute(rg *gin.RouterGroup) {
// db := core.GetDB()
// permSrv := NewSystemAuthPermService(db)
// // roleSrv := NewSystemAuthRoleService(db, permSrv)
// // adminSrv := NewSystemAuthAdminService(db, permSrv, roleSrv)
// // service := NewSystemLoginService(db, adminSrv)
// server := NewSystemAuthRoleService(db, permSrv) handle := RoleHandler{}
// handle := RoleHandler{Service: server} rg = rg.Group("/system", middleware.TokenAuth())
rg.GET("/role/all", handle.All)
// rg = rg.Group("/system", middleware.TokenAuth()) rg.GET("/role/list", middleware.RecordLog("角色列表"), handle.List)
// rg.GET("/role/all", handle.All) rg.GET("/role/detail", middleware.RecordLog("角色详情"), handle.Detail)
// rg.GET("/role/list", middleware.RecordLog("角色列表"), handle.List) rg.POST("/role/add", middleware.RecordLog("角色新增"), handle.Add)
// rg.GET("/role/detail", middleware.RecordLog("角色详情"), handle.Detail) rg.POST("/role/edit", middleware.RecordLog("角色编辑"), handle.Edit)
// rg.POST("/role/add", middleware.RecordLog("角色新增"), handle.Add) rg.POST("/role/del", middleware.RecordLog("角色删除"), handle.Del)
// rg.POST("/role/edit", middleware.RecordLog("角色编辑"), handle.Edit) }
// rg.POST("/role/del", middleware.RecordLog("角色删除"), handle.Del)
// }
type RoleHandler struct { type RoleHandler struct {
// Service ISystemAuthRoleService // Service ISystemAuthRoleService
@@ -34,7 +30,7 @@ type RoleHandler struct {
// all 角色所有 // all 角色所有
func (rh RoleHandler) All(c *gin.Context) { func (rh RoleHandler) All(c *gin.Context) {
res, err := Service.All() res, err := systemService.RoleService.All()
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
@@ -44,7 +40,7 @@ func (rh RoleHandler) List(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &page)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &page)) {
return return
} }
res, err := Service.List(page) res, err := systemService.RoleService.List(page)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
@@ -54,7 +50,7 @@ func (rh RoleHandler) Detail(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) {
return return
} }
res, err := Service.Detail(detailReq.ID) res, err := systemService.RoleService.Detail(detailReq.ID)
response.CheckAndRespWithData(c, res, err) response.CheckAndRespWithData(c, res, err)
} }
@@ -64,7 +60,7 @@ func (rh RoleHandler) Add(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &addReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &addReq)) {
return return
} }
response.CheckAndResp(c, Service.Add(addReq)) response.CheckAndResp(c, systemService.RoleService.Add(addReq))
} }
// edit 编辑角色 // edit 编辑角色
@@ -73,7 +69,7 @@ func (rh RoleHandler) Edit(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &editReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &editReq)) {
return return
} }
response.CheckAndResp(c, Service.Edit(editReq)) response.CheckAndResp(c, systemService.RoleService.Edit(editReq))
} }
// del 删除角色 // del 删除角色
@@ -82,5 +78,5 @@ func (rh RoleHandler) Del(c *gin.Context) {
if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) { if response.IsFailWithResp(c, util.VerifyUtil.VerifyJSON(c, &delReq)) {
return return
} }
response.CheckAndResp(c, Service.Del(delReq.ID)) response.CheckAndResp(c, systemService.RoleService.Del(delReq.ID))
} }

View File

@@ -3,12 +3,12 @@ package middleware
import ( import (
"strconv" "strconv"
"strings" "strings"
"x_admin/admin/system/admin"
"x_admin/admin/system/role"
"x_admin/config" "x_admin/config"
"x_admin/core" "x_admin/core"
"x_admin/core/response" "x_admin/core/response"
"x_admin/model/system_model" "x_admin/model/system_model"
"x_admin/service/systemService"
"x_admin/util" "x_admin/util"
@@ -66,7 +66,7 @@ func TokenAuth() gin.HandlerFunc {
} }
if !util.RedisUtil.HExists(config.AdminConfig.BackstageManageKey, uidStr) { if !util.RedisUtil.HExists(config.AdminConfig.BackstageManageKey, uidStr) {
err := admin.Service.CacheAdminUserByUid(uid) err := systemService.AdminService.CacheAdminUserByUid(uid)
if err != nil { if err != nil {
core.Logger.Errorf("TokenAuth CacheAdminUserByUid err: err=[%+v]", err) core.Logger.Errorf("TokenAuth CacheAdminUserByUid err: err=[%+v]", err)
response.Fail(c, response.SystemError) response.Fail(c, response.SystemError)
@@ -126,7 +126,7 @@ func TokenAuth() gin.HandlerFunc {
c.Abort() c.Abort()
return return
} }
err = role.PermService.CacheRoleMenusByRoleId(uint(i)) err = systemService.PermService.CacheRoleMenusByRoleId(uint(i))
if err != nil { if err != nil {
core.Logger.Errorf("TokenAuth CacheRoleMenusByRoleId err: err=[%+v]", err) core.Logger.Errorf("TokenAuth CacheRoleMenusByRoleId err: err=[%+v]", err)
response.Fail(c, response.SystemError) response.Fail(c, response.SystemError)

View File

@@ -1,20 +0,0 @@
package admin
import (
"x_admin/admin/article_collect"
"x_admin/middleware"
"github.com/gin-gonic/gin"
)
// 请在 admin/entry.go 目录引入这个函数
// ArticleCollectRoute(rg)
func ArticleCollectRoute(rg *gin.RouterGroup) {
// db := core.GetDB()
// server := article_collect.NewArticleCollectService(db)
handle := article_collect.ArticleCollectHandler{}
r := rg.Group("/", middleware.TokenAuth())
r.GET("/article_collect/list", handle.List)
}

View File

@@ -10,15 +10,8 @@ import (
"x_admin/admin/setting/copyright" "x_admin/admin/setting/copyright"
"x_admin/admin/setting/dict_data" "x_admin/admin/setting/dict_data"
"x_admin/admin/setting/dict_type" "x_admin/admin/setting/dict_type"
"x_admin/admin/setting/protocol"
"x_admin/admin/setting/website" "x_admin/admin/setting/website"
"x_admin/admin/system" "x_admin/controller/admin/systemController"
"x_admin/admin/system/dept"
"x_admin/admin/system/log"
"x_admin/admin/system/login"
"x_admin/admin/system/menu"
"x_admin/admin/system/post"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
@@ -37,20 +30,18 @@ func RegisterGroup(rg *gin.RouterGroup) {
copyright.CopyrightRoute(rg) copyright.CopyrightRoute(rg)
dict_data.DictDataRoute(rg) dict_data.DictDataRoute(rg)
dict_type.DictTypeRoute(rg) dict_type.DictTypeRoute(rg)
protocol.ProtocolRoute(rg)
website.WebsiteRoute(rg) website.WebsiteRoute(rg)
login.LoginRoute(rg) systemController.LoginRoute(rg)
system.AdminRoute(rg) systemController.AdminRoute(rg)
menu.MenuRoute(rg) systemController.MenuRoute(rg)
post.PostRoute(rg) systemController.PostRoute(rg)
dept.DeptRoute(rg) systemController.DeptRoute(rg)
system.RoleRoute(rg) systemController.RoleRoute(rg)
log.LogRoute(rg) systemController.LogRoute(rg)
ArticleCollectRoute(rg)
flow.FlowTemplateRoute(rg) flow.FlowTemplateRoute(rg)
flow.FlowApplyRoute(rg) flow.FlowApplyRoute(rg)
flow.FlowHistoryRoute(rg) flow.FlowHistoryRoute(rg)

View File

@@ -1,4 +1,4 @@
package admin package systemSchema
import "x_admin/core" import "x_admin/core"

View File

@@ -1,4 +1,4 @@
package dept package systemSchema
import "x_admin/core" import "x_admin/core"

View File

@@ -1,4 +1,4 @@
package log package systemSchema
import ( import (
"x_admin/core" "x_admin/core"
@@ -15,12 +15,13 @@ type SystemLogOperateReq struct {
StartTime string `form:"startTime" time_format:"2006-01-02"` // 开始时间 StartTime string `form:"startTime" time_format:"2006-01-02"` // 开始时间
EndTime string `form:"endTime" time_format:"2006-01-02"` // 结束时间 EndTime string `form:"endTime" time_format:"2006-01-02"` // 结束时间
} }
type SystemLogLoginReq struct {
Username string `form:"username"` // 登录账号 // type SystemLogLoginReq struct {
Status int `form:"status" binding:"omitempty,oneof=1 2"` // 执行状态: [1=成功, 2=失败] // Username string `form:"username"` // 登录账号
StartTime string `form:"startTime" time_format:"2006-01-02"` // 开始时间 // Status int `form:"status" binding:"omitempty,oneof=1 2"` // 执行状态: [1=成功, 2=失败]
EndTime string `form:"endTime" time_format:"2006-01-02"` // 结束时间 // StartTime string `form:"startTime" time_format:"2006-01-02"` // 开始时间
} // EndTime string `form:"endTime" time_format:"2006-01-02"` // 结束时间
// }
// SystemLogOperateResp 操作日志返回信息 // SystemLogOperateResp 操作日志返回信息
type SystemLogOperateResp struct { type SystemLogOperateResp struct {
@@ -41,13 +42,13 @@ type SystemLogOperateResp struct {
CreateTime core.NullTime `json:"createTime" structs:"createTime"` // 创建时间 CreateTime core.NullTime `json:"createTime" structs:"createTime"` // 创建时间
} }
// SystemLogLoginResp 登录日志返回信息 // // SystemLogLoginResp 登录日志返回信息
type SystemLogLoginResp struct { // type SystemLogLoginResp struct {
ID uint `json:"id" structs:"id"` // 主键 // ID uint `json:"id" structs:"id"` // 主键
Username string `json:"username" structs:"username"` // 登录账号 // Username string `json:"username" structs:"username"` // 登录账号
Ip string `json:"ip" structs:"ip"` // 来源IP // Ip string `json:"ip" structs:"ip"` // 来源IP
Os string `json:"os" structs:"os"` // 操作系统 // Os string `json:"os" structs:"os"` // 操作系统
Browser string `json:"browser" structs:"browser"` // 浏览器 // Browser string `json:"browser" structs:"browser"` // 浏览器
Status int `json:"status" structs:"status"` // 操作状态: [1=成功, 2=失败] // Status int `json:"status" structs:"status"` // 操作状态: [1=成功, 2=失败]
CreateTime core.NullTime `json:"createTime" structs:"createTime"` // 创建时间 // CreateTime core.NullTime `json:"createTime" structs:"createTime"` // 创建时间
} // }

View File

@@ -1,15 +1,14 @@
package login package systemSchema
import ( import (
"time"
"x_admin/core" "x_admin/core"
) )
type SystemLogLoginReq struct { type SystemLogLoginReq struct {
Username string `form:"username"` // 登录账号 Username string `form:"username"` // 登录账号
Status int `form:"status" binding:"omitempty,oneof=1 2"` // 执行状态: [1=成功, 2=失败] Status int `form:"status" binding:"omitempty,oneof=1 2"` // 执行状态: [1=成功, 2=失败]
StartTime time.Time `form:"startTime" time_format:"2006-01-02"` // 开始时间 StartTime string `form:"startTime" time_format:"2006-01-02"` // 开始时间
EndTime time.Time `form:"endTime" time_format:"2006-01-02"` // 结束时间 EndTime string `form:"endTime" time_format:"2006-01-02"` // 结束时间
} }
type SystemLoginResp struct { type SystemLoginResp struct {

View File

@@ -1,4 +1,4 @@
package menu package systemSchema
import "x_admin/core" import "x_admin/core"

View File

@@ -1,4 +1,4 @@
package post package systemSchema
import "x_admin/core" import "x_admin/core"

View File

@@ -1,4 +1,4 @@
package role package systemSchema
import "x_admin/core" import "x_admin/core"

View File

@@ -1,4 +1,4 @@
package admin package systemService
import ( import (
"fmt" "fmt"
@@ -6,12 +6,13 @@ import (
"strconv" "strconv"
"strings" "strings"
"time" "time"
"x_admin/admin/system/role"
"x_admin/config" "x_admin/config"
"x_admin/core" "x_admin/core"
"x_admin/core/request" "x_admin/core/request"
"x_admin/core/response" "x_admin/core/response"
"x_admin/model/system_model" "x_admin/model/system_model"
"x_admin/schema/systemSchema"
"x_admin/util" "x_admin/util"
"x_admin/util/convert_util" "x_admin/util/convert_util"
@@ -20,7 +21,7 @@ import (
"gorm.io/gorm" "gorm.io/gorm"
) )
var Service = NewSystemAuthAdminService() var AdminService = NewSystemAuthAdminService()
// NewSystemAuthAdminService 初始化 // NewSystemAuthAdminService 初始化
func NewSystemAuthAdminService() *systemAuthAdminService { func NewSystemAuthAdminService() *systemAuthAdminService {
@@ -40,7 +41,7 @@ func (adminSrv systemAuthAdminService) FindByUsername(username string) (admin sy
} }
// Self 当前管理员 // Self 当前管理员
func (adminSrv systemAuthAdminService) Self(adminId uint) (res SystemAuthAdminSelfResp, e error) { func (adminSrv systemAuthAdminService) Self(adminId uint) (res systemSchema.SystemAuthAdminSelfResp, e error) {
// 管理员信息 // 管理员信息
var sysAdmin system_model.SystemAuthAdmin var sysAdmin system_model.SystemAuthAdmin
err := adminSrv.db.Where("id = ? AND is_delete = ?", adminId, 0).Limit(1).First(&sysAdmin).Error err := adminSrv.db.Where("id = ? AND is_delete = ?", adminId, 0).Limit(1).First(&sysAdmin).Error
@@ -52,7 +53,7 @@ func (adminSrv systemAuthAdminService) Self(adminId uint) (res SystemAuthAdminSe
if adminId > 1 { if adminId > 1 {
roleId, _ := strconv.ParseUint(sysAdmin.Role, 10, 32) roleId, _ := strconv.ParseUint(sysAdmin.Role, 10, 32)
var menuIds []uint var menuIds []uint
if menuIds, e = role.PermService.SelectMenuIdsByRoleId(uint(roleId)); e != nil { if menuIds, e = PermService.SelectMenuIdsByRoleId(uint(roleId)); e != nil {
return return
} }
if len(menuIds) > 0 { if len(menuIds) > 0 {
@@ -78,15 +79,15 @@ func (adminSrv systemAuthAdminService) Self(adminId uint) (res SystemAuthAdminSe
} else { } else {
auths = append(auths, "*") auths = append(auths, "*")
} }
var admin SystemAuthAdminSelfOneResp var admin systemSchema.SystemAuthAdminSelfOneResp
convert_util.Copy(&admin, sysAdmin) convert_util.Copy(&admin, sysAdmin)
admin.Dept = strconv.FormatUint(uint64(sysAdmin.DeptId), 10) admin.Dept = strconv.FormatUint(uint64(sysAdmin.DeptId), 10)
admin.Avatar = util.UrlUtil.ToAbsoluteUrl(sysAdmin.Avatar) admin.Avatar = util.UrlUtil.ToAbsoluteUrl(sysAdmin.Avatar)
return SystemAuthAdminSelfResp{User: admin, Permissions: auths}, nil return systemSchema.SystemAuthAdminSelfResp{User: admin, Permissions: auths}, nil
} }
// 获取管理员列表- // 获取管理员列表-
func (adminSrv systemAuthAdminService) ListByUserIdOrDeptIdPostId(userId, deptId, postId int) (res []SystemAuthAdminResp, e error) { func (adminSrv systemAuthAdminService) ListByUserIdOrDeptIdPostId(userId, deptId, postId int) (res []systemSchema.SystemAuthAdminResp, e error) {
adminTbName := core.DBTableName(&system_model.SystemAuthAdmin{}) adminTbName := core.DBTableName(&system_model.SystemAuthAdmin{})
adminModel := adminSrv.db.Table(adminTbName+" AS admin").Where("admin.is_delete = ?", 0) adminModel := adminSrv.db.Table(adminTbName+" AS admin").Where("admin.is_delete = ?", 0)
@@ -100,7 +101,7 @@ func (adminSrv systemAuthAdminService) ListByUserIdOrDeptIdPostId(userId, deptId
adminModel.Where("admin.post_id =?", postId) adminModel.Where("admin.post_id =?", postId)
} }
// 数据 // 数据
var adminResp []SystemAuthAdminResp var adminResp []systemSchema.SystemAuthAdminResp
err := adminModel.Find(&adminResp).Error err := adminModel.Find(&adminResp).Error
if e = response.CheckErr(err, "列表获取失败"); e != nil { if e = response.CheckErr(err, "列表获取失败"); e != nil {
return return
@@ -115,7 +116,7 @@ func (adminSrv systemAuthAdminService) ListByUserIdOrDeptIdPostId(userId, deptId
} }
// 导出 // 导出
func (adminSrv systemAuthAdminService) ExportFile(listReq SystemAuthAdminListReq) (res []SystemAuthAdminResp, e error) { func (adminSrv systemAuthAdminService) ExportFile(listReq systemSchema.SystemAuthAdminListReq) (res []systemSchema.SystemAuthAdminResp, e error) {
// 查询 // 查询
adminTbName := core.DBTableName(&system_model.SystemAuthAdmin{}) adminTbName := core.DBTableName(&system_model.SystemAuthAdmin{})
roleTbName := core.DBTableName(&system_model.SystemAuthRole{}) roleTbName := core.DBTableName(&system_model.SystemAuthRole{})
@@ -135,7 +136,7 @@ func (adminSrv systemAuthAdminService) ExportFile(listReq SystemAuthAdminListReq
adminModel = adminModel.Where("role = ?", listReq.Role) adminModel = adminModel.Where("role = ?", listReq.Role)
} }
// 数据 // 数据
var adminResp []SystemAuthAdminResp var adminResp []systemSchema.SystemAuthAdminResp
err := adminModel.Order("id desc, sort desc").Find(&adminResp).Error err := adminModel.Order("id desc, sort desc").Find(&adminResp).Error
if e = response.CheckErr(err, "列表获取失败"); e != nil { if e = response.CheckErr(err, "列表获取失败"); e != nil {
return return
@@ -150,7 +151,7 @@ func (adminSrv systemAuthAdminService) ExportFile(listReq SystemAuthAdminListReq
} }
// 导入 // 导入
func (adminSrv systemAuthAdminService) ImportFile(importReq []SystemAuthAdminResp) (e error) { func (adminSrv systemAuthAdminService) ImportFile(importReq []systemSchema.SystemAuthAdminResp) (e error) {
var sysAdmin []system_model.SystemAuthAdmin var sysAdmin []system_model.SystemAuthAdmin
convert_util.Copy(&sysAdmin, importReq) convert_util.Copy(&sysAdmin, importReq)
err := adminSrv.db.Create(&sysAdmin).Error err := adminSrv.db.Create(&sysAdmin).Error
@@ -159,7 +160,7 @@ func (adminSrv systemAuthAdminService) ImportFile(importReq []SystemAuthAdminRes
} }
// List 管理员列表 // List 管理员列表
func (adminSrv systemAuthAdminService) List(page request.PageReq, listReq SystemAuthAdminListReq) (res response.PageResp, e error) { func (adminSrv systemAuthAdminService) List(page request.PageReq, listReq systemSchema.SystemAuthAdminListReq) (res response.PageResp, e error) {
// 分页信息 // 分页信息
limit := page.PageSize limit := page.PageSize
offset := page.PageSize * (page.PageNo - 1) offset := page.PageSize * (page.PageNo - 1)
@@ -188,7 +189,7 @@ func (adminSrv systemAuthAdminService) List(page request.PageReq, listReq System
return return
} }
// 数据 // 数据
var adminResp []SystemAuthAdminResp var adminResp []systemSchema.SystemAuthAdminResp
err = adminModel.Limit(limit).Offset(offset).Order("id desc, sort desc").Find(&adminResp).Error err = adminModel.Limit(limit).Offset(offset).Order("id desc, sort desc").Find(&adminResp).Error
if e = response.CheckErr(err, "列表获取失败"); e != nil { if e = response.CheckErr(err, "列表获取失败"); e != nil {
return return
@@ -208,7 +209,7 @@ func (adminSrv systemAuthAdminService) List(page request.PageReq, listReq System
} }
// List 管理员列表 // List 管理员列表
func (adminSrv systemAuthAdminService) ListAll(listReq SystemAuthAdminListReq) (res []SystemAuthAdminResp, e error) { func (adminSrv systemAuthAdminService) ListAll(listReq systemSchema.SystemAuthAdminListReq) (res []systemSchema.SystemAuthAdminResp, e error) {
// 分页信息 // 分页信息
// 查询 // 查询
@@ -231,7 +232,7 @@ func (adminSrv systemAuthAdminService) ListAll(listReq SystemAuthAdminListReq) (
} }
// 数据 // 数据
var adminResp []SystemAuthAdminResp var adminResp []systemSchema.SystemAuthAdminResp
err := adminModel.Order("id desc, sort desc").Find(&adminResp).Error err := adminModel.Order("id desc, sort desc").Find(&adminResp).Error
if e = response.CheckErr(err, "列表获取失败"); e != nil { if e = response.CheckErr(err, "列表获取失败"); e != nil {
return return
@@ -246,7 +247,7 @@ func (adminSrv systemAuthAdminService) ListAll(listReq SystemAuthAdminListReq) (
} }
// Detail 管理员详细 // Detail 管理员详细
func (adminSrv systemAuthAdminService) Detail(id uint) (res SystemAuthAdminResp, e error) { func (adminSrv systemAuthAdminService) Detail(id uint) (res systemSchema.SystemAuthAdminResp, e error) {
var sysAdmin system_model.SystemAuthAdmin var sysAdmin system_model.SystemAuthAdmin
err := adminSrv.db.Where("id = ? AND is_delete = ?", id, 0).Limit(1).First(&sysAdmin).Error err := adminSrv.db.Where("id = ? AND is_delete = ?", id, 0).Limit(1).First(&sysAdmin).Error
if e = response.CheckErrDBNotRecord(err, "账号已不存在!"); e != nil { if e = response.CheckErrDBNotRecord(err, "账号已不存在!"); e != nil {
@@ -264,7 +265,7 @@ func (adminSrv systemAuthAdminService) Detail(id uint) (res SystemAuthAdminResp,
} }
// Add 管理员新增 // Add 管理员新增
func (adminSrv systemAuthAdminService) Add(addReq SystemAuthAdminAddReq) (e error) { func (adminSrv systemAuthAdminService) Add(addReq systemSchema.SystemAuthAdminAddReq) (e error) {
var sysAdmin system_model.SystemAuthAdmin var sysAdmin system_model.SystemAuthAdmin
// 检查username // 检查username
r := adminSrv.db.Where("username = ? AND is_delete = ?", addReq.Username, 0).Limit(1).Find(&sysAdmin) r := adminSrv.db.Where("username = ? AND is_delete = ?", addReq.Username, 0).Limit(1).Find(&sysAdmin)
@@ -284,8 +285,8 @@ func (adminSrv systemAuthAdminService) Add(addReq SystemAuthAdminAddReq) (e erro
if r.RowsAffected > 0 { if r.RowsAffected > 0 {
return response.AssertArgumentError.SetMessage("昵称已存在换一个吧!") return response.AssertArgumentError.SetMessage("昵称已存在换一个吧!")
} }
var roleResp role.SystemAuthRoleResp var roleResp systemSchema.SystemAuthRoleResp
if roleResp, e = role.Service.Detail(addReq.Role); e != nil { if roleResp, e = RoleService.Detail(addReq.Role); e != nil {
return return
} }
if roleResp.IsDisable > 0 { if roleResp.IsDisable > 0 {
@@ -310,7 +311,7 @@ func (adminSrv systemAuthAdminService) Add(addReq SystemAuthAdminAddReq) (e erro
} }
// Edit 管理员编辑 // Edit 管理员编辑
func (adminSrv systemAuthAdminService) Edit(c *gin.Context, editReq SystemAuthAdminEditReq) (e error) { func (adminSrv systemAuthAdminService) Edit(c *gin.Context, editReq systemSchema.SystemAuthAdminEditReq) (e error) {
// 检查id // 检查id
err := adminSrv.db.Where("id = ? AND is_delete = ?", editReq.ID, 0).Limit(1).First(&system_model.SystemAuthAdmin{}).Error err := adminSrv.db.Where("id = ? AND is_delete = ?", editReq.ID, 0).Limit(1).First(&system_model.SystemAuthAdmin{}).Error
if e = response.CheckErrDBNotRecord(err, "账号不存在了!"); e != nil { if e = response.CheckErrDBNotRecord(err, "账号不存在了!"); e != nil {
@@ -340,7 +341,7 @@ func (adminSrv systemAuthAdminService) Edit(c *gin.Context, editReq SystemAuthAd
} }
// 检查role // 检查role
if editReq.Role > 0 && editReq.ID != 1 { if editReq.Role > 0 && editReq.ID != 1 {
if _, e = role.Service.Detail(editReq.Role); e != nil { if _, e = RoleService.Detail(editReq.Role); e != nil {
return return
} }
} }
@@ -393,7 +394,7 @@ func (adminSrv systemAuthAdminService) Edit(c *gin.Context, editReq SystemAuthAd
} }
// Update 管理员更新 // Update 管理员更新
func (adminSrv systemAuthAdminService) Update(c *gin.Context, updateReq SystemAuthAdminUpdateReq, adminId uint) (e error) { func (adminSrv systemAuthAdminService) Update(c *gin.Context, updateReq systemSchema.SystemAuthAdminUpdateReq, adminId uint) (e error) {
// 检查id // 检查id
var admin system_model.SystemAuthAdmin var admin system_model.SystemAuthAdmin
err := adminSrv.db.Where("id = ? AND is_delete = ?", adminId, 0).Limit(1).First(&admin).Error err := adminSrv.db.Where("id = ? AND is_delete = ?", adminId, 0).Limit(1).First(&admin).Error

View File

@@ -1,9 +1,10 @@
package dept package systemService
import ( import (
"x_admin/core" "x_admin/core"
"x_admin/core/response" "x_admin/core/response"
"x_admin/model/system_model" "x_admin/model/system_model"
. "x_admin/schema/systemSchema"
"x_admin/util/convert_util" "x_admin/util/convert_util"
"gorm.io/gorm" "gorm.io/gorm"
@@ -18,7 +19,7 @@ import (
// Del(id uint) (e error) // Del(id uint) (e error)
// } // }
var Service = NewSystemAuthDeptService() var DeptService = NewSystemAuthDeptService()
// NewSystemAuthDeptService 初始化 // NewSystemAuthDeptService 初始化
func NewSystemAuthDeptService() *systemAuthDeptService { func NewSystemAuthDeptService() *systemAuthDeptService {

View File

@@ -1,4 +1,4 @@
package log package systemService
import ( import (
"fmt" "fmt"
@@ -6,19 +6,15 @@ import (
"x_admin/core/request" "x_admin/core/request"
"x_admin/core/response" "x_admin/core/response"
"x_admin/model/system_model" "x_admin/model/system_model"
. "x_admin/schema/systemSchema"
"gorm.io/gorm" "gorm.io/gorm"
) )
type ISystemLogsServer interface { var LogsService = NewSystemLogsServer()
Operate(page request.PageReq, logReq SystemLogOperateReq) (res response.PageResp, e error)
Login(page request.PageReq, logReq SystemLogLoginReq) (res response.PageResp, e error)
}
var Service = NewSystemLogsServer()
// NewSystemLogsServer 初始化 // NewSystemLogsServer 初始化
func NewSystemLogsServer() ISystemLogsServer { func NewSystemLogsServer() *systemLogsServer {
db := core.GetDB() db := core.GetDB()
return &systemLogsServer{db: db} return &systemLogsServer{db: db}
} }
@@ -98,6 +94,7 @@ func (logSrv systemLogsServer) Login(page request.PageReq, logReq SystemLogLogin
if logReq.Status > 0 { if logReq.Status > 0 {
logModel = logModel.Where("status = ?", logReq.Status) logModel = logModel.Where("status = ?", logReq.Status)
} }
// todo
if logReq.StartTime != "" { if logReq.StartTime != "" {
logModel = logModel.Where("create_time >= now(?)", logReq.StartTime) logModel = logModel.Where("create_time >= now(?)", logReq.StartTime)
} }

View File

@@ -1,30 +1,26 @@
package login package systemService
import ( import (
"errors" "errors"
"runtime/debug" "runtime/debug"
"strconv" "strconv"
"x_admin/admin/system/admin"
"x_admin/config" "x_admin/config"
"x_admin/core" "x_admin/core"
"x_admin/core/response" "x_admin/core/response"
"x_admin/model/system_model" "x_admin/model/system_model"
. "x_admin/schema/systemSchema"
"x_admin/util" "x_admin/util"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"gorm.io/gorm" "gorm.io/gorm"
) )
type ISystemLoginService interface { var LoginService = NewSystemLoginService()
Login(c *gin.Context, req *SystemLoginReq) (res SystemLoginResp, e error)
Logout(req *SystemLogoutReq) (e error)
RecordLoginLog(c *gin.Context, adminId uint, username string, errStr string) (e error)
}
var Service = NewSystemLoginService()
// NewSystemLoginService 初始化 // NewSystemLoginService 初始化
func NewSystemLoginService() ISystemLoginService { func NewSystemLoginService() *systemLoginService {
db := core.GetDB() db := core.GetDB()
return &systemLoginService{db: db} return &systemLoginService{db: db}
} }
@@ -36,7 +32,7 @@ type systemLoginService struct {
// Login 登录 // Login 登录
func (loginSrv systemLoginService) Login(c *gin.Context, req *SystemLoginReq) (res SystemLoginResp, e error) { func (loginSrv systemLoginService) Login(c *gin.Context, req *SystemLoginReq) (res SystemLoginResp, e error) {
sysAdmin, err := admin.Service.FindByUsername(req.Username) sysAdmin, err := AdminService.FindByUsername(req.Username)
if err != nil && errors.Is(err, gorm.ErrRecordNotFound) { if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
if e = loginSrv.RecordLoginLog(c, 0, req.Username, response.LoginAccountError.Msg()); e != nil { if e = loginSrv.RecordLoginLog(c, 0, req.Username, response.LoginAccountError.Msg()); e != nil {
return return
@@ -92,7 +88,7 @@ func (loginSrv systemLoginService) Login(c *gin.Context, req *SystemLoginReq) (r
// 缓存登录信息 // 缓存登录信息
util.RedisUtil.Set(config.AdminConfig.BackstageTokenKey+token, adminIdStr, 7200) util.RedisUtil.Set(config.AdminConfig.BackstageTokenKey+token, adminIdStr, 7200)
admin.Service.CacheAdminUserByUid(sysAdmin.ID) AdminService.CacheAdminUserByUid(sysAdmin.ID)
u := system_model.SystemAuthAdmin{LastLoginIp: c.ClientIP(), LastLoginTime: util.NullTimeUtil.Now()} u := system_model.SystemAuthAdmin{LastLoginIp: c.ClientIP(), LastLoginTime: util.NullTimeUtil.Now()}
// 更新登录信息 // 更新登录信息

View File

@@ -1,11 +1,11 @@
package menu package systemService
import ( import (
"x_admin/admin/system/role"
"x_admin/config" "x_admin/config"
"x_admin/core" "x_admin/core"
"x_admin/core/response" "x_admin/core/response"
"x_admin/model/system_model" "x_admin/model/system_model"
. "x_admin/schema/systemSchema"
"x_admin/util" "x_admin/util"
"x_admin/util/convert_util" "x_admin/util/convert_util"
@@ -22,7 +22,7 @@ import (
// Del(id uint) (e error) // Del(id uint) (e error)
// } // }
var Service = NewSystemAuthMenuService() var MenuService = NewSystemAuthMenuService()
// NewSystemAuthMenuService 初始化 // NewSystemAuthMenuService 初始化
func NewSystemAuthMenuService() *systemAuthMenuService { func NewSystemAuthMenuService() *systemAuthMenuService {
@@ -42,7 +42,7 @@ func (menuSrv systemAuthMenuService) SelectMenuByRoleId(c *gin.Context, roleId u
// 超管 // 超管
if adminId == config.AdminConfig.SuperAdminId { if adminId == config.AdminConfig.SuperAdminId {
menuIds = []uint{0} menuIds = []uint{0}
} else if menuIds, e = role.PermService.SelectMenuIdsByRoleId(roleId); e != nil { } else if menuIds, e = PermService.SelectMenuIdsByRoleId(roleId); e != nil {
return return
} }
if len(menuIds) == 0 { if len(menuIds) == 0 {

View File

@@ -1,4 +1,4 @@
package role package systemService
import ( import (
"strconv" "strconv"
@@ -12,14 +12,6 @@ import (
"gorm.io/gorm" "gorm.io/gorm"
) )
type ISystemAuthPermService interface {
SelectMenuIdsByRoleId(roleId uint) (menuIds []uint, e error)
CacheRoleMenusByRoleId(roleId uint) (e error)
BatchSaveByMenuIds(roleId uint, menuIds string, db *gorm.DB) (e error)
BatchDeleteByRoleId(roleId uint, db *gorm.DB) (e error)
BatchDeleteByMenuId(menuId uint) (e error)
}
var PermService = NewSystemAuthPermService() var PermService = NewSystemAuthPermService()
// NewSystemAuthPermService 初始化 // NewSystemAuthPermService 初始化

View File

@@ -1,10 +1,11 @@
package post package systemService
import ( import (
"x_admin/core" "x_admin/core"
"x_admin/core/request" "x_admin/core/request"
"x_admin/core/response" "x_admin/core/response"
"x_admin/model/system_model" "x_admin/model/system_model"
. "x_admin/schema/systemSchema"
"x_admin/util/convert_util" "x_admin/util/convert_util"
"gorm.io/gorm" "gorm.io/gorm"
@@ -19,7 +20,7 @@ import (
// Del(id uint) (e error) // Del(id uint) (e error)
// } // }
var Service = NewSystemAuthPostService() var PostService = NewSystemAuthPostService()
// NewSystemAuthPostService 初始化 // NewSystemAuthPostService 初始化
func NewSystemAuthPostService() *systemAuthPostService { func NewSystemAuthPostService() *systemAuthPostService {

View File

@@ -1,4 +1,4 @@
package role package systemService
import ( import (
"strconv" "strconv"
@@ -8,6 +8,7 @@ import (
"x_admin/core/request" "x_admin/core/request"
"x_admin/core/response" "x_admin/core/response"
"x_admin/model/system_model" "x_admin/model/system_model"
. "x_admin/schema/systemSchema"
"x_admin/util" "x_admin/util"
"x_admin/util/convert_util" "x_admin/util/convert_util"
@@ -15,19 +16,10 @@ import (
"gorm.io/gorm" "gorm.io/gorm"
) )
type ISystemAuthRoleService interface { var RoleService = NewSystemAuthRoleService()
All() (res []SystemAuthRoleSimpleResp, e error)
List(page request.PageReq) (res response.PageResp, e error)
Detail(id uint) (res SystemAuthRoleResp, e error)
Add(addReq SystemAuthRoleAddReq) (e error)
Edit(editReq SystemAuthRoleEditReq) (e error)
Del(id uint) (e error)
}
var Service = NewSystemAuthRoleService()
// NewSystemAuthRoleService 初始化 // NewSystemAuthRoleService 初始化
func NewSystemAuthRoleService() ISystemAuthRoleService { func NewSystemAuthRoleService() *systemAuthRoleService {
db := core.GetDB() db := core.GetDB()
return &systemAuthRoleService{db: db} return &systemAuthRoleService{db: db}
} }