123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- package work
- import (
- "time"
- "zhiyuan/models"
- "zhiyuan/pkg/app"
- "zhiyuan/pkg/utils"
- "zhiyuan/services/form"
- "zhiyuan/services/work/worknode"
- "github.com/gin-gonic/gin"
- )
- func WorkNodeList(c *gin.Context) {
- page := app.HandlePageNums(c)
- where := map[string]string{
- "where": "`zy_work_node`.`id`>0 AND `zy_work_node`.`deleted_at`=0",
- "_order_by": "`zy_work_node`.`id` desc",
- }
- if page.PageSize != 0 {
- where["_page_size"] = utils.ToStr(page.PageSize)
- where["_page_num"] = utils.ToStr(page.PageNum)
- }
- param := make(map[string]interface{})
- name := c.Query("name")
- if name != "" {
- where["where"] = where["where"] + " AND `zy_work_node`.`name` LIKE {{name}}"
- param["name"] = "%" + name + "%"
- }
- total, err := worknode.CountRaw(where["where"], param)
- if err != nil {
- app.Error(c, err.Error())
- return
- }
- type WorkNode struct {
- ID int `json:"id"`
- Name string `json:"name"`
- Color string `json:"color"`
- Logo string `json:"logo"`
- WorkTypeId int `json:"work_type_id"`
- WorkTypeName string `json:"work_type_name"`
- DesignerPresence int `json:"designer_presence"`
- QualityAccept int `json:"quality_accept"`
- Show int `json:"show"`
- CreatedAt int `json:"created_at"`
- UpdatedAt int `json:"updated_at"`
- }
- workNodeList := make([]WorkNode, 0)
- if err = worknode.GetWorkNodesRaw(where, param, &workNodeList); err != nil {
- app.Error(c, err.Error())
- return
- }
- data := gin.H{
- "list": workNodeList,
- "total": total,
- "limit": page.PageSize,
- }
- app.Success(c, data)
- }
- func WorkNodeAdd(c *gin.Context) {
- var addForm form.WorkNodeAdd
- if app.Bind(c, &addForm) != nil {
- return
- }
- id, err := worknode.Add(addForm)
- if err != nil {
- app.Error(c, err.Error())
- return
- }
- app.Success(c, gin.H{"id": id})
- }
- func WorkNodeEdit(c *gin.Context) {
- id := utils.ToInt(c.Param("id"))
- if id <= 0 {
- app.ErrorMsg(c, "WorkNode id must be a number", nil)
- return
- }
- var addForm form.WorkNodeAdd
- if app.Bind(c, &addForm) != nil {
- return
- }
- err := worknode.EditByID(addForm, id)
- if err != nil {
- app.ErrorMsg(c, err.Error(), nil)
- return
- }
- app.Success(c, nil)
- }
- func WorkNodeDel(c *gin.Context) {
- id := utils.ToInt(c.Param("id"))
- if id <= 0 {
- app.ErrorMsg(c, "WorkNode id must be a number", nil)
- return
- }
- err := worknode.DeleteByID(id)
- if err != nil {
- app.Error(c, err.Error())
- return
- }
- app.Success(c, nil)
- }
- func WorkWorkNodeCopy(c *gin.Context) {
- id := utils.ToInt(c.Param("id"))
- if id <= 0 {
- app.ErrorMsg(c, "id must be a number", nil)
- return
- }
- node := models.GetWorkNodeModel(int64(id))
- if node == nil {
- app.ErrorMsg(c, "节点不存在", nil)
- return
- }
- order := time.Now().Unix()
- cid, err := node.Copy(node.Name, order)
- if err != nil {
- app.ErrorMsg(c, err.Error(), nil)
- return
- }
- app.Success(c, gin.H{"id": cid})
- }
|