121 lines
2.6 KiB
Go
121 lines
2.6 KiB
Go
package process
|
||
|
||
import (
|
||
"errors"
|
||
"ferry/global/orm"
|
||
process2 "ferry/models/process"
|
||
"ferry/pkg/pagination"
|
||
"ferry/tools"
|
||
"ferry/tools/app"
|
||
|
||
"github.com/gin-gonic/gin"
|
||
)
|
||
|
||
/*
|
||
@Author : lanyulei
|
||
*/
|
||
|
||
// 创建流程分类
|
||
func CreateClassify(c *gin.Context) {
|
||
var (
|
||
err error
|
||
classifyValue process2.Classify
|
||
classifyCount int
|
||
)
|
||
|
||
err = c.ShouldBind(&classifyValue)
|
||
if err != nil {
|
||
tools.HasError(err, "", -1)
|
||
}
|
||
|
||
// 判断创建的分类是否存在
|
||
err = orm.Eloquent.Table("process_classify").
|
||
Where("name = ?", classifyValue.Name).
|
||
Count(&classifyCount).Error
|
||
if err != nil {
|
||
tools.HasError(err, "创建的分类名称已经存在,请修改", -1)
|
||
}
|
||
if classifyCount > 0 {
|
||
tools.HasError(err, "", -1)
|
||
}
|
||
|
||
classifyValue.Creator = tools.GetUserId(c)
|
||
|
||
err = orm.Eloquent.Table("process_classify").Create(&classifyValue).Error
|
||
if err != nil {
|
||
tools.HasError(err, "", -1)
|
||
}
|
||
|
||
app.OK(c, "", "创建流程分类成功")
|
||
}
|
||
|
||
// 流程分类列表
|
||
func ClassifyList(c *gin.Context) {
|
||
type classifyValue struct {
|
||
process2.Classify
|
||
CreateUser string `json:"create_user"`
|
||
CreateName string `json:"create_name"`
|
||
}
|
||
|
||
var (
|
||
err error
|
||
classifyList []*classifyValue
|
||
)
|
||
|
||
SearchParams := map[string]map[string]interface{}{
|
||
"like": pagination.RequestParams(c),
|
||
}
|
||
|
||
db := orm.Eloquent.Model(&process2.Classify{}).Joins("left join sys_user on sys_user.user_id = process_classify.creator").
|
||
Select("process_classify.*, sys_user.username as create_user, sys_user.nick_name as create_name").
|
||
Where("process_classify.`delete_time` IS NULL")
|
||
|
||
result, err := pagination.Paging(&pagination.Param{
|
||
C: c,
|
||
DB: db,
|
||
}, &classifyList, SearchParams, "process_classify")
|
||
|
||
if err != nil {
|
||
tools.HasError(err, "", -1)
|
||
}
|
||
app.OK(c, result, "获取分类列表成功")
|
||
}
|
||
|
||
// 更新流程分类
|
||
func UpdateClassify(c *gin.Context) {
|
||
var (
|
||
err error
|
||
classifyValue process2.Classify
|
||
)
|
||
|
||
err = c.ShouldBind(&classifyValue)
|
||
if err != nil {
|
||
tools.HasError(err, "", -1)
|
||
}
|
||
|
||
// 更新
|
||
err = orm.Eloquent.Model(&classifyValue).
|
||
Where("id = ?", classifyValue.Id).
|
||
Update("name", classifyValue.Name).Error
|
||
if err != nil {
|
||
tools.HasError(err, "", -1)
|
||
}
|
||
|
||
app.OK(c, classifyValue, "流程分类更新成功")
|
||
}
|
||
|
||
// 删除流程分类
|
||
func DeleteClassify(c *gin.Context) {
|
||
classifyId := c.DefaultQuery("classifyId", "")
|
||
if classifyId == "" {
|
||
tools.HasError(errors.New("参数传递失败,请确认classifyId是否传递"), "", -1)
|
||
}
|
||
|
||
err := orm.Eloquent.Delete(process2.Classify{}, "id = ?", classifyId).Error
|
||
if err != nil {
|
||
tools.HasError(err, "", -1)
|
||
}
|
||
|
||
app.OK(c, "", "流程分类删除成功")
|
||
}
|