diff --git a/QMPlusServer/controller/api/exa_customer.go b/QMPlusServer/controller/api/exa_customer.go index 778f64ec17cd4fd767e18d43231361d3aff70366..03c09c9ad3749fc5eebb3b9b7625074e889da940 100644 --- a/QMPlusServer/controller/api/exa_customer.go +++ b/QMPlusServer/controller/api/exa_customer.go @@ -1 +1,120 @@ package api + +import ( + "fmt" + "gin-vue-admin/controller/servers" + "gin-vue-admin/middleware" + "gin-vue-admin/model/dbModel" + "gin-vue-admin/model/modelInterface" + "github.com/gin-gonic/gin" +) + +// @Tags SysApi +// @Summary 创建客户 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body dbModel.ExaCustomer true "创建客户" +// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}" +// @Router /customer/createExaCustomer [post] +func CreateExaCustomer(c *gin.Context) { + var cu dbModel.ExaCustomer + _ = c.BindJSON(&cu) + claims, _ := c.Get("claims") + waitUse := claims.(*middleware.CustomClaims) + cu.SysUserID = waitUse.ID + cu.SysUserAuthorityID = waitUse.AuthorityId + err := cu.CreateExaCustomer() + if err != nil { + servers.ReportFormat(c, false, fmt.Sprintf("创建失败:%v", err), gin.H{}) + } else { + servers.ReportFormat(c, true, "创建成功", gin.H{}) + } +} + +// @Tags SysApi +// @Summary 删除客户 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body dbModel.ExaCustomer true "删除客户" +// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}" +// @Router /customer/deleteExaCustomer [post] +func DeleteExaCustomer(c *gin.Context) { + var cu dbModel.ExaCustomer + _ = c.BindJSON(&cu) + err := cu.DeleteExaCustomer() + if err != nil { + servers.ReportFormat(c, false, fmt.Sprintf("创建失败:%v", err), gin.H{}) + } else { + servers.ReportFormat(c, true, "创建成功", gin.H{}) + } +} + +// @Tags SysApi +// @Summary 更新客户信息 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body dbModel.ExaCustomer true "创建客户" +// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}" +// @Router /customer/updataExaCustomer [post] +func UpdataExaCustomer(c *gin.Context) { + var cu dbModel.ExaCustomer + _ = c.BindJSON(&cu) + err := cu.UpdataExaCustomer() + if err != nil { + servers.ReportFormat(c, false, fmt.Sprintf("创建失败:%v", err), gin.H{}) + } else { + servers.ReportFormat(c, true, "创建成功", gin.H{}) + } +} + +// @Tags SysApi +// @Summary 获取单一客户信息 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body dbModel.ExaCustomer true "获取单一客户信息" +// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}" +// @Router /customer/getExaCustomer [post] +func GetExaCustomer(c *gin.Context) { + var cu dbModel.ExaCustomer + _ = c.BindJSON(&cu) + err,customer := cu.GetExaCustomer() + if err != nil { + servers.ReportFormat(c, false, fmt.Sprintf("创建失败:%v", err), gin.H{}) + } else { + servers.ReportFormat(c, true, "创建成功", gin.H{ + "customer":customer, + }) + } +} + +// @Tags SysApi +// @Summary 获取权限客户列表 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body modelInterface.PageInfo true "获取权限客户列表" +// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}" +// @Router /customer/getExaCustomerList [post] +func GetExaCustomerList(c *gin.Context) { + claims, _ := c.Get("claims") + waitUse := claims.(*middleware.CustomClaims) + var cu dbModel.ExaCustomer + cu.SysUserAuthorityID = waitUse.AuthorityId + var pageInfo modelInterface.PageInfo + _ = c.BindJSON(&pageInfo) + err, customerList, total := cu.GetInfoList(pageInfo) + if err != nil { + servers.ReportFormat(c, false, fmt.Sprintf("创建失败:%v", err), gin.H{}) + } else { + servers.ReportFormat(c, true, "创建成功", gin.H{ + "customer":customerList, + "total": total, + "page": pageInfo.Page, + "pageSize": pageInfo.PageSize, + }) + } +} \ No newline at end of file diff --git a/QMPlusServer/init/initRouter/init_router.go b/QMPlusServer/init/initRouter/init_router.go index f9d8597e8c354b6c8a9c1d6aaeeae1b32e2f2944..f181706d53c300d83c8ccbadd3ae405a387d3228 100644 --- a/QMPlusServer/init/initRouter/init_router.go +++ b/QMPlusServer/init/initRouter/init_router.go @@ -28,5 +28,6 @@ func InitRouter() *gin.Engine { router.InitCasbinRouter(ApiGroup) // 权限相关路由 router.InitJwtRouter(ApiGroup) // jwt相关路由 router.InitSystemRouter(ApiGroup) // system相关路由 + router.InitCustomerRouter(ApiGroup) // 客户路由 return Router } diff --git a/QMPlusServer/init/registTable/regist_table.go b/QMPlusServer/init/registTable/regist_table.go index 27176a5201aea2fc422327d00cea328702c5b0c9..e402fa2300a0038d411adb6856248251b53d2c3f 100644 --- a/QMPlusServer/init/registTable/regist_table.go +++ b/QMPlusServer/init/registTable/regist_table.go @@ -19,5 +19,6 @@ func RegistTable(db *gorm.DB) { dbModel.ExaFileUploadAndDownload{}, dbModel.ExaFile{}, dbModel.ExaFileChunk{}, + dbModel.ExaCustomer{}, ) } diff --git a/QMPlusServer/model/dbModel/exa_customer.go b/QMPlusServer/model/dbModel/exa_customer.go index 9a3a2dc2ded5ac66f880909a7643e592a414310b..2c2e93a622699e91ef89b62cb467f2f25576d95f 100644 --- a/QMPlusServer/model/dbModel/exa_customer.go +++ b/QMPlusServer/model/dbModel/exa_customer.go @@ -1 +1,68 @@ package dbModel + +import ( + "gin-vue-admin/controller/servers" + "gin-vue-admin/init/qmsql" + "gin-vue-admin/model/modelInterface" + "gin-vue-admin/model/sysModel" + "github.com/jinzhu/gorm" +) + +type ExaCustomer struct { + gorm.Model + CustomerName string `json:"customerName"` + CustomerPhoneData string `json:"customerPhoneData"` + SysUserID uint `json:"sysUserId"` + SysUserAuthorityID string `json:"sysUserAuthorityID"` + SysUser sysModel.SysUser `json:"sysUser"` +} + +//创建用户 +func (e *ExaCustomer)CreateExaCustomer()(err error){ + err = qmsql.DEFAULTDB.Create(e).Error + return err +} + +//删除用户 +func (e *ExaCustomer)DeleteExaCustomer()(err error){ + err = qmsql.DEFAULTDB.Delete(e).Error + return err +} + +//更新用户 +func (e *ExaCustomer)UpdataExaCustomer()(err error){ + err = qmsql.DEFAULTDB.Save(e).Error + return err +} + +//获取用户信息 +func (e *ExaCustomer)GetExaCustomer()(err error,customer ExaCustomer){ + err= qmsql.DEFAULTDB.Where("id = ?",e.ID).First(&customer).Error + return +} + +//获取用户列表 +// 分页获取数据 需要分页实现这个接口即可 +func (e *ExaCustomer) GetInfoList(info modelInterface.PageInfo) (err error, list interface{}, total int) { + // 封装分页方法 调用即可 传入 当前的结构体和分页信息 + err, db, total := servers.PagingServer(e, info) + if err != nil { + return + } else { + var a sysModel.SysAuthority + a.AuthorityId = e.SysUserAuthorityID + err,auth := a.GetAuthorityInfo() + var dataId []string + for _,v := range auth.DataAuthorityId{ + dataId = append(dataId, v.AuthorityId) + } + var CustomerList []ExaCustomer + err = db.Where("sys_user_authority_id in (?)",dataId).Find(&CustomerList).Count(&total).Error + if err!=nil{ + return err, CustomerList, total + }else{ + err = db.Preload("SysUser").Where("sys_user_authority_id in (?)",dataId).Find(&CustomerList).Error + } + return err, CustomerList, total + } +} \ No newline at end of file diff --git a/QMPlusServer/model/sysModel/sys_api.go b/QMPlusServer/model/sysModel/sys_api.go index aa3bba4a1767e6b594cdd064426be445f17c170e..f9cf0ea8c6c8db558a5a301d5c0f6b3fe35fca8d 100644 --- a/QMPlusServer/model/sysModel/sys_api.go +++ b/QMPlusServer/model/sysModel/sys_api.go @@ -71,7 +71,12 @@ func (a *SysApi) GetInfoList(info modelInterface.PageInfo) (err error, list inte return } else { var apiList []SysApi - err = db.Order("group", true).Where("path LIKE ?", "%"+a.Path+"%").Find(&apiList).Count(&total).Error + err = qmsql.DEFAULTDB.Where("path LIKE ?", "%"+a.Path+"%").Find(&apiList).Count(&total).Error + if err!=nil{ + return err, apiList, total + }else{ + err = db.Order("group", true).Where("path LIKE ?", "%"+a.Path+"%").Find(&apiList).Error + } return err, apiList, total } } diff --git a/QMPlusServer/model/sysModel/sys_authority.go b/QMPlusServer/model/sysModel/sys_authority.go index fc6c90b759661bc71d5ae74306d026ef0e17c9c9..50a165e323fb0cd52d8acd5bb436efd6ae3cdfe4 100644 --- a/QMPlusServer/model/sysModel/sys_authority.go +++ b/QMPlusServer/model/sysModel/sys_authority.go @@ -74,3 +74,8 @@ func (a *SysAuthority) SetDataAuthority() error { err := qmsql.DEFAULTDB.Model(&s).Association("DataAuthorityId").Replace(&a.DataAuthorityId).Error return err } + +func (a *SysAuthority) GetAuthorityInfo() (err error,sa SysAuthority) { + err = qmsql.DEFAULTDB.Preload("DataAuthorityId").Where("authority_id = ?",a.AuthorityId).First(&sa).Error + return err,sa +} \ No newline at end of file diff --git a/QMPlusServer/router/exp_customer.go b/QMPlusServer/router/exp_customer.go index 7ef135b39842a1ab4995e26095ff56e4a0b9d058..6bf149db13d7de9183bd92f0824e9a7e1663e236 100644 --- a/QMPlusServer/router/exp_customer.go +++ b/QMPlusServer/router/exp_customer.go @@ -1 +1,18 @@ package router + +import ( + "gin-vue-admin/controller/api" + "gin-vue-admin/middleware" + "github.com/gin-gonic/gin" +) + +func InitCustomerRouter(Router *gin.RouterGroup) { + ApiRouter := Router.Group("customer").Use(middleware.JWTAuth()).Use(middleware.CasbinHandler()) + { + ApiRouter.POST("createExaCustomer", api.CreateExaCustomer) // 创建客户 + ApiRouter.POST("updataExaCustomer", api.UpdataExaCustomer) // 更新客户 + ApiRouter.POST("deleteExaCustomer", api.DeleteExaCustomer) // 删除客户 + ApiRouter.POST("getExaCustomer", api.GetExaCustomer) // 获取单一客户信息 + ApiRouter.POST("getExaCustomerList", api.GetExaCustomerList) // 获取客户列表 + } +} diff --git a/QMPlusVuePage/src/view/superAdmin/api/api.vue b/QMPlusVuePage/src/view/superAdmin/api/api.vue index 3a729954f6400f18cd3af345a1d40d16fbd203b6..4a86e0b8cefdf268dc45994351870faec70d37ab 100644 --- a/QMPlusVuePage/src/view/superAdmin/api/api.vue +++ b/QMPlusVuePage/src/view/superAdmin/api/api.vue @@ -1,6 +1,5 @@