package bookimg import ( "fmt" "key_performance_indicators/middleware/snowflake" "key_performance_indicators/models/modelbookimg" "key_performance_indicators/models/modelshr" "key_performance_indicators/overall" "key_performance_indicators/overall/publicmethod" "strconv" "sync" "time" "github.com/gin-gonic/gin" ) // 用于删除图文信息评论的携程设置 var discusSyncSeting sync.WaitGroup // 图文信息列表 func (a *ApiMethod) OutputListQuery(c *gin.Context) { var requestData departListQuery err := c.ShouldBindJSON(&requestData) if err != nil { publicmethod.Result(100, requestData, c) return } fmt.Println(requestData) var graphicformlist []modelbookimg.GraphicForm var graphicform modelbookimg.GraphicForm if requestData.Page == 0 { requestData.Page = 1 } if requestData.PageSize == 0 { requestData.PageSize = 13 } gormDb := overall.CONSTANT_DB_IMAGES_TEST.Model(&modelbookimg.GraphicForm{}).Table(fmt.Sprintf("%s g", graphicform.TableName())) if requestData.Parent == 0 { publicmethod.Result(101, requestData, c) return } else { gormDb.Where("g.g_parent = ?", requestData.Parent) } if requestData.Attribution != "" { gormDb.Joins("left join hengxingaoke_tes.archives_type at2 on g.g_parent_sun = at2.at_id").Where("at2.at_title like ?", "%"+requestData.Attribution+"%") } if requestData.BfId != 0 && requestData.WsId == 0 { gormDb.Where(" g.g_bf_id = ?", requestData.BfId) } if requestData.BfId != 0 && requestData.WsId != 0 && requestData.Team == 0 { gormDb.Where(" g.g_bf_id = ? and g.g_ws_id = ?", requestData.BfId, requestData.WsId) } if requestData.BfId != 0 && requestData.WsId != 0 && requestData.Team != 0 { gormDb.Where(" g.g_bf_id = ? and g.g_ws_id = ? and g.g_team = ?", requestData.BfId, requestData.WsId, requestData.Team) } if requestData.Title != "" { gormDb.Where("g.g_title like ?", "%"+requestData.Title+"%") } var total int64 totalErr := gormDb.Count(&total).Error if totalErr != nil { total = 0 } gormDb = publicmethod.PageTurningSettings(gormDb, requestData.Page, requestData.PageSize) err = gormDb.Select("g.*").Order("g.g_add_time DESC").Find(&graphicformlist).Error if err != nil { publicmethod.Result(105, err, c) return } var output []outPutListQuery for _, v := range graphicformlist { var item outPutListQuery item.Id = v.Id // id item.Parent = v.Parent // 父级 item.Title = v.Title // 标题 item.State = v.State // 状态 item.VisitStrat = v.VisitStrat // 可见范围 item.ReadNum = v.Read // 阅读量 item.ComSum = v.ComSum // 评论量 item.LikesNum = v.Likes // 点赞量 item.StepOnNum = v.StepOn // 踩数量 item.CollectionSum = v.CollectionSum // 收藏数 item.Page = requestData.Page item.PageSize = requestData.PageSize var parentsun modelbookimg.ArchivesType parentsun.GetCont(map[string]interface{}{"at_id": v.ParentSun}) item.Attribution = parentsun.Title output = append(output, item) } publicmethod.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(output)), output, c) } // 编辑图文信息 func (a *ApiMethod) EditGraphicForm(c *gin.Context) { var requestData editGraphicForm err := c.ShouldBindJSON(&requestData) if err != nil { publicmethod.Result(100, requestData, c) return } if requestData.Id == "" || requestData.Title == "" || requestData.Attribution == "" || requestData.Topid == 0 { publicmethod.Result(101, requestData, c) return } where := publicmethod.MapOut[string]() where["g_id"] = requestData.Id // 获取原信息 var graphicformOld modelbookimg.GraphicForm err = graphicformOld.GetCont(where) if err != nil { publicmethod.Result(107, err, c) return } // 要求改的内容 saveData := publicmethod.MapOut[string]() if requestData.State != 0 && requestData.State != graphicformOld.State { // 状态 saveData["g_state"] = requestData.State } var archivesType modelbookimg.ArchivesType err = archivesType.GetCont(map[string]interface{}{"at_parent_id": requestData.Topid, "at_title": requestData.Attribution}) if err != nil { publicmethod.Result(107, err, c) return } saveData["g_parent"] = requestData.Topid // 父级 saveData["g_parent_sun"] = archivesType.Id // 分类 if requestData.Title != "" && requestData.Title != graphicformOld.Title { // 标题 saveData["g_title"] = requestData.Title var isRepeat modelbookimg.GraphicForm err = isRepeat.GetCont(saveData, "g_id") if err == nil { publicmethod.Result(103, err, c) return } } // 访问权限设置 访问权限(1:公开;2:分厂;3:工段;4:自定义) if requestData.VisitStrat != 0 && requestData.VisitStrat != graphicformOld.VisitStrat { if requestData.VisitStrat == 1 { saveData["g_visit_strat"] = requestData.VisitStrat saveData["g_bf_id"] = 0 saveData["g_ws_id"] = 0 saveData["g_team"] = 0 saveData["g_range"] = "" } else if requestData.VisitStrat == 2 { if requestData.BfId == 0 { publicmethod.Result(1, "厂区不能为空", c) return } saveData["g_visit_strat"] = requestData.VisitStrat saveData["g_bf_id"] = requestData.BfId saveData["g_ws_id"] = 0 saveData["g_team"] = 0 saveData["g_range"] = "" } else if requestData.VisitStrat == 3 { if requestData.BfId == 0 || requestData.WsId == 0 { publicmethod.Result(1, "厂区或工段不能为空", c) return } saveData["g_visit_strat"] = requestData.VisitStrat saveData["g_bf_id"] = requestData.BfId saveData["g_ws_id"] = requestData.WsId saveData["g_team"] = 0 saveData["g_range"] = "" } else if requestData.VisitStrat == 4 { saveData["g_visit_strat"] = requestData.VisitStrat saveData["g_bf_id"] = 0 saveData["g_ws_id"] = 0 saveData["g_team"] = 0 saveData["g_range"] = requestData.Range } } if requestData.Source != 0 && requestData.Source != graphicformOld.Source { // 文档来源(1:原创;2:转载) if requestData.Source == 1 { saveData["g_source"] = requestData.Source saveData["g_source_url"] = "" } if requestData.Source == 2 && requestData.SourceUrl == "" { publicmethod.Result(101, "转载地址为空!", c) return } if requestData.Source == 2 && requestData.SourceUrl != "" { saveData["g_source_url"] = requestData.SourceUrl saveData["g_source"] = requestData.Source } } if requestData.Thumbnail != graphicformOld.Thumbnail { // 缩略图 saveData["g_thumbnail"] = requestData.Thumbnail } if requestData.Comment != 0 && requestData.Comment != graphicformOld.Comment { // 评论设置 saveData["g_comment"] = requestData.Comment } if requestData.Context != graphicformOld.Content { // 图文详情 saveData["g_content"] = requestData.Context } if requestData.Describe != graphicformOld.Describe { // 文档描述 saveData["g_describe"] = requestData.Describe } if requestData.DownloadState != 0 && requestData.DownloadState != graphicformOld.DownLoadState { // 是否允许下载(1:允许;2:禁止) saveData["g_download_state"] = requestData.DownloadState } if requestData.Key != graphicformOld.Key { // 文档标签 saveData["g_key"] = requestData.Key } if requestData.OuterLink != "" { // 外部链接 if requestData.OuterLink != graphicformOld.OuterLink { if requestData.TestUrl != "" || requestData.TextName != "" { publicmethod.Result(1, "请不要输入文档正文或上传正文文件", c) return } else { saveData["g_outer_link"] = requestData.OuterLink saveData["g_test_url"] = "" // 正文文档URL saveData["g_text_name"] = "" // 正文文档名称 saveData["g_physics_path"] = "" // 物理地址 } } } else { saveData["g_outer_link"] = "" if requestData.TestUrl != graphicformOld.TestUrl { // 正文文档URL saveData["g_test_url"] = requestData.TestUrl } if requestData.TextName != graphicformOld.TextName { // 正文文档名称 saveData["g_text_name"] = requestData.TextName } if requestData.PhysicsPath != graphicformOld.PhysicsPath { // 物理地址 saveData["g_physics_path"] = requestData.PhysicsPath } } if requestData.Sort != 0 && requestData.Sort != graphicformOld.Sort { // 排序 saveData["g_sort"] = requestData.Sort } saveData["g_eite_time"] = time.Now().Unix() // 编辑时间 if requestData.UserKey != "" { userKey, _ := strconv.ParseInt(requestData.UserKey, 10, 64) saveData["g_user_key"] = userKey //归属人员"` } editErr := graphicformOld.EiteCont(where, saveData) if editErr != nil { publicmethod.Result(106, err, c) } else { publicmethod.Result(0, err, c) } } // 添加图文信息 func (a *ApiMethod) AddGraphicForm(c *gin.Context) { var requestData addGraphicForm err := c.ShouldBindJSON(&requestData) if err != nil { publicmethod.Result(100, requestData, c) return } if requestData.Title == "" || requestData.Attribution == "" || requestData.Topid == 0 { publicmethod.Result(101, requestData, c) return } if requestData.Source == 2 && requestData.SourceUrl == "" { publicmethod.Result(101, requestData, c) return } var uuId int64 = 0 snowflakeId, snowflakeErr := snowflake.NewWorker(1) if snowflakeErr != nil { uuId = publicmethod.TableNumber() } else { uuId = snowflakeId.GetId() } var graphicform modelbookimg.GraphicForm graphicform.Id = uuId graphicform.Title = requestData.Title // 标题 /* addTime, _ := publicmethod.DateToTimeStamp(fmt.Sprintf("%v 12:00:00", requestData.AddTime)) eiteTime, _ := publicmethod.DateToTimeStamp(fmt.Sprintf("%v 12:00:00", requestData.EiteTime)) graphicform.AddTime = addTime // 添加时间 graphicform.EiteTime = eiteTime // 编辑时间 */ graphicform.AddTime = time.Now().Unix() // 添加时间 graphicform.EiteTime = time.Now().Unix() // 编辑时间 graphicform.VisitStrat = requestData.VisitStrat // 访问权限(1:公开;2:分厂;3:工段;4:自定义) if requestData.VisitStrat != 1 { graphicform.BfId = requestData.BfId // 分厂 graphicform.WsId = requestData.WsId // 工段 graphicform.Team = requestData.Team // 班组 graphicform.Range = requestData.Range // 自定义可见范围 if requestData.VisitStrat == 2 && requestData.BfId == 0 { publicmethod.Result(1, "分厂不能为空", c) return } else { graphicform.BfId = requestData.BfId graphicform.VisitStrat = requestData.VisitStrat } if requestData.VisitStrat == 3 && (requestData.BfId == 0 || requestData.WsId == 0) { publicmethod.Result(1, "分厂或工段不能为空", c) return } else { graphicform.BfId = requestData.BfId graphicform.VisitStrat = requestData.VisitStrat graphicform.WsId = requestData.WsId } if requestData.VisitStrat == 4 { graphicform.VisitStrat = requestData.VisitStrat graphicform.Range = requestData.Range graphicform.BfId = 0 graphicform.VisitStrat = 0 graphicform.WsId = 0 } } if requestData.UserKey != "" { userKey, _ := strconv.ParseInt(requestData.UserKey, 10, 64) graphicform.UserKey = userKey //归属人员"` } if requestData.OuterLink != "" { // 外部链接 if requestData.TestUrl != "" || requestData.TextName != "" { publicmethod.Result(1, "请不要输入文档正文或上传正文文件", c) return } else { graphicform.OuterLink = requestData.OuterLink graphicform.TestUrl = "" // 正文文档URL graphicform.TextName = "" // 正文文档名称 graphicform.PhysicsPath = "" // 物理地址 } } else { graphicform.OuterLink = "" graphicform.TestUrl = requestData.TestUrl // 正文文档url graphicform.TextName = requestData.TextName // 正文文档名称 graphicform.PhysicsPath = requestData.PhysicsPath // 物理地址 } if requestData.Source == 1 { graphicform.Source = requestData.Source // 文档来源 graphicform.SourceUrl = "" // 转载地址 } else if requestData.Source == 2 && requestData.SourceUrl == "" { publicmethod.Result(101, "转载地址不能为空", c) return } else if requestData.Source == 2 && requestData.SourceUrl != "" { graphicform.Source = requestData.Source // 文档来源 graphicform.SourceUrl = requestData.SourceUrl // 转载地址 } graphicform.Thumbnail = requestData.Thumbnail // 缩略图 graphicform.Comment = requestData.Comment // 评论设置 graphicform.Content = requestData.Context // 图文详情 graphicform.Describe = requestData.Describe // 文档描述 graphicform.DownLoadState = requestData.DownloadState // 是否允许下载 graphicform.Key = requestData.Key // 文档标签 graphicform.Sort = requestData.Sort // 排序 graphicform.Parent = requestData.Topid // 父级 var archivesType modelbookimg.ArchivesType archivesType.GetCont(map[string]interface{}{"at_parent_id": requestData.Topid, "at_title": requestData.Attribution}) graphicform.ParentSun = archivesType.Id // 类别 addErr := overall.CONSTANT_DB_IMAGES_TEST.Create(&graphicform).Error if addErr != nil { publicmethod.Result(104, addErr, c) } else { publicmethod.Result(0, addErr, c) } } // 删除图文信息(软删除) func (a *ApiMethod) SoftDelGraphicForm(c *gin.Context) { var requestData delGraphicForm err := c.ShouldBindJSON(&requestData) if err != nil { publicmethod.Result(100, requestData, c) return } if len(requestData.Ids) <= 0 { publicmethod.Result(101, requestData, c) return } where := publicmethod.MapOut[string]() for _, v := range requestData.Ids { var graphicform modelbookimg.GraphicForm where["g_id"] = v getErr := graphicform.GetCont(where) if getErr != nil { publicmethod.Result(107, requestData, c) return } editErr := graphicform.EiteCont(where, map[string]interface{}{"g_state": 4}) if editErr != nil { publicmethod.Result(108, requestData, c) return } } publicmethod.Result(0, "删除成功", c) } // 删除图文信息 func (a *ApiMethod) HardDelGraphicForm(c *gin.Context) { var requestData delGraphicForm err := c.ShouldBindJSON(&requestData) if err != nil { publicmethod.Result(100, requestData, c) return } if len(requestData.Ids) < 1 { publicmethod.Result(101, requestData, c) return } where := publicmethod.MapOut[string]() for _, v := range requestData.Ids { where["g_id"] = v var graphicform modelbookimg.GraphicForm delErr := graphicform.DelCont(where) if delErr != nil { publicmethod.Result(108, requestData, c) return } } publicmethod.Result(0, "删除成功", c) } // 查看图文信息有关人员 func (a *ApiMethod) FindGraphicFormUser(c *gin.Context) { var requestData aboutGraphicFormUserType err := c.ShouldBindJSON(&requestData) if err != nil { publicmethod.Result(100, requestData, c) return } if requestData.Id == "" || requestData.Type == 0 { publicmethod.Result(101, requestData, c) return } if requestData.Page == 0 { requestData.Page = 1 } if requestData.PageSize == 0 { requestData.PageSize = 23 } var bookattribute modelbookimg.BookAttribute gormDb := overall.CONSTANT_DB_FILE_BOOK.Table(fmt.Sprintf("%s b", bookattribute.TableName())).Where("b.b_stater = 1 and b.b_file_id = ?", requestData.Id) var bookattributes []modelbookimg.BookAttribute var total int64 totalErr := gormDb.Count(&total).Error if totalErr != nil { total = 0 } gormDb = publicmethod.PageTurningSettings(gormDb, requestData.Page, requestData.PageSize) findErr := gormDb.Select("b.*").Where("b.b_type = ?", requestData.Type).Find(&bookattributes).Error if findErr != nil { publicmethod.Result(105, findErr, c) return } var outList []aboutGraphicFormUser for _, v := range bookattributes { var item aboutGraphicFormUser // 待输出类型 time := publicmethod.UnixTimeToDay(v.Time, 11) // 时间戳转日期 item.Time = time // 时间 var user modelshr.PersonArchives user.GetCont(map[string]interface{}{"key": v.UserId}) // 员工档案信息 item.Name = user.Name // 姓名 item.Number = user.Number // 工号 outList = append(outList, item) } publicmethod.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(outList)), outList, c) } // 图文信息评论列表 func (a *ApiMethod) OutDiscusMsgList(c *gin.Context) { var requestData discusMsgPage err := c.ShouldBindJSON(&requestData) if err != nil { publicmethod.Result(100, requestData, c) return } if requestData.Page == 0 { requestData.Page = 1 } if requestData.PageSize == 0 { requestData.PageSize = 13 } var discusMsgQuery []discusMsgList var discusmsg modelbookimg.DiscussMsg gormDB := overall.CONSTANT_DB_FILE_BOOK.Model(&discusmsg).Table(fmt.Sprintf("%s d", discusmsg.TableName())).Where("d.dis_stater = 2") var discusmsglist []modelbookimg.DiscussMsg var total int64 totalErr := gormDB.Count(&total).Error if totalErr != nil { total = 0 } gormDB = publicmethod.PageTurningSettings(gormDB, requestData.Page, requestData.PageSize) findErr := gormDB.Select("d.*").Find(&discusmsglist).Error if findErr != nil { publicmethod.Result(107, findErr, c) return } for _, v := range discusmsglist { var item discusMsgList time := publicmethod.UnixTimeToDay(v.Time, 11) // 时间戳转日期 item.Time = time // 时间 item.State = v.Stater // 状态 switch v.Source { // 类型 case 1: item.Type = "文档类" case 2: item.Type = "文档类评论" case 3: item.Type = "问题" case 4: item.Type = "问题答案" case 5: item.Type = "问题答案评论" } var graphicform modelbookimg.GraphicForm var user modelshr.PersonArchives g_err := graphicform.GetCont(map[string]interface{}{"g_id": v.FileId}, "g_title") if g_err != nil { publicmethod.Result(107, g_err, c) return } item.Con = graphicform.Title // 被评论内容 user.GetCont(map[string]interface{}{"key": v.UserId}) // 员工档案信息 item.Critics = user.Name // 评论人 item.Context = v.Cont // 评论内容 item.Id = v.Id // id discusMsgQuery = append(discusMsgQuery, item) } publicmethod.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(discusMsgQuery)), discusMsgQuery, c) } // 图文信息评论编辑 func (a *ApiMethod) EditDiscusMsg(c *gin.Context) { var requestData editDscusMsg err := c.ShouldBindJSON(&requestData) if err != nil { publicmethod.Result(100, requestData, c) return } if requestData.Id == "" { publicmethod.Result(101, requestData, c) return } var discusMsgOld modelbookimg.DiscussMsg where := publicmethod.MapOut[string]() where["dis_id"] = requestData.Id getErr := discusMsgOld.GetCont(where) if getErr != nil { publicmethod.Result(107, getErr, c) return } saveData := publicmethod.MapOut[string]() if requestData.State != discusMsgOld.Stater { saveData["dis_stater"] = requestData.State // 状态 } saveData["dis_time"] = time.Now().Unix() // 编辑时间 editErr := discusMsgOld.EiteCont(where, saveData) if editErr != nil { publicmethod.Result(106, err, c) } else { publicmethod.Result(0, err, c) } } // 图文信息评论删除(软删除) func (a *ApiMethod) SoftDelDiscusMsg(c *gin.Context) { var requestData delDiscusMsg err := c.ShouldBindJSON(&requestData) if err != nil { publicmethod.Result(100, err, c) return } if len(requestData.Ids) <= 0 { publicmethod.Result(101, requestData, c) return } where := publicmethod.MapOut[string]() for _, v := range requestData.Ids { where["dis_id"] = v var discusmsg modelbookimg.DiscussMsg getErr := discusmsg.GetCont(where) if getErr != nil { publicmethod.Result(107, requestData, c) return } editErr := discusmsg.EiteCont(where, map[string]interface{}{"dis_stater": 4}) if editErr != nil { publicmethod.Result(108, editErr, c) return } } publicmethod.Result(0, "删除成功", c) } // 图文信息评论删除 func (a *ApiMethod) HardDelDiscusMsg(c *gin.Context) { var requestData delDiscusMsg err := c.ShouldBindJSON(&requestData) if err != nil { publicmethod.Result(100, err, c) return } if len(requestData.Ids) <= 0 { publicmethod.Result(101, requestData, c) return } where := publicmethod.MapOut[string]() for _, v := range requestData.Ids { where["dis_id"] = v var discusmsg modelbookimg.DiscussMsg getErr := discusmsg.GetCont(where) if getErr != nil { publicmethod.Result(107, requestData, c) return } delErr := discusmsg.DelCont(where) if delErr != nil { publicmethod.Result(108, requestData, c) return } } publicmethod.Result(0, "删除成功", c) } // 图文信息栏目列表 func (a *ApiMethod) OutBookImgColumn(c *gin.Context) { var requestData outBookImgColumn err := c.ShouldBindJSON(&requestData) if err != nil { publicmethod.Result(100, err, c) return } if requestData.Page == 0 { requestData.Page = 1 } if requestData.PageSize == 0 { requestData.PageSize = 20 } var archivesType modelbookimg.ArchivesType gormDB := overall.CONSTANT_DB_Master.Model(&archivesType).Table(fmt.Sprintf("%s at2", archivesType.TableName())).Where("at2.at_parent_id = ? and at2.at_stater != 3", requestData.Parent) var total int64 countErr := gormDB.Count(&total).Error if countErr != nil { total = 0 } var archivesTypeList []modelbookimg.ArchivesType findErr := gormDB.Find(&archivesTypeList).Error if findErr != nil { publicmethod.Result(107, findErr, c) return } var outListQuery []outBookImgColumn for _, v := range archivesTypeList { var item outBookImgColumn item.Title = v.Title // 栏目名称 item.Sort = v.Sort // 排序 item.State = v.Stater // 状态 item.Parent = v.ParentId // 父级 item.Id = v.Id // id outListQuery = append(outListQuery, item) } publicmethod.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(outListQuery)), outListQuery, c) } // 图文信息栏目增加 func (a *ApiMethod) AddBookImgColumn(c *gin.Context) { var requestData addBookImgColumn err := c.ShouldBindJSON(&requestData) if err != nil { publicmethod.Result(100, err, c) return } if requestData.Title == "" { publicmethod.Result(101, requestData, c) return } var archivesType modelbookimg.ArchivesType // 图文信息栏目信息 getErr := archivesType.GetCont(map[string]interface{}{"at_title": requestData.Title, "at_parent_id": requestData.Parent}, "at_id") if getErr == nil { publicmethod.Result(103, getErr, c) return } var aid int64 = 0 snowflakeId, snowflakeErr := snowflake.NewWorker(1) // 雪花算法获取id if snowflakeErr != nil { aid = publicmethod.TableNumber() } else { aid = snowflakeId.GetId() } archivesType.Id = aid // id archivesType.Title = requestData.Title // 栏目名称 archivesType.ParentId = requestData.Parent // 父级 archivesType.Sort = requestData.Sort // 排序 archivesType.Time = time.Now().Unix() // 添加时间 archivesType.Uid = requestData.Uid // 添加人员id createErr := overall.CONSTANT_DB_Master.Create(&archivesType).Error if createErr != nil { publicmethod.Result(104, createErr, c) return } publicmethod.Result(0, requestData, c) } // 图文信息栏目修改 func (a *ApiMethod) EditBookImgColumn(c *gin.Context) { var requestData editBookImgColumn err := c.ShouldBindJSON(&requestData) if err != nil { publicmethod.Result(100, err, c) return } if requestData.Id == "" { publicmethod.Result(101, requestData, c) return } where := publicmethod.MapOut[string]() where["at_id"] = requestData.Id var archivesTypeOld modelbookimg.ArchivesType getErr := archivesTypeOld.GetCont(where) if getErr != nil { publicmethod.Result(107, getErr, c) return } saveData := publicmethod.MapOut[string]() if requestData.Title != "" && requestData.Title != archivesTypeOld.Title { var isExist modelbookimg.ArchivesType existErr := isExist.GetCont(map[string]interface{}{"at_title": requestData.Title, "at_parent_id": requestData.Parent}, "at_id") if existErr == nil { publicmethod.Result(103, existErr, c) return } saveData["at_title"] = requestData.Title // 栏目标题名称 } if requestData.State != 0 && requestData.State != archivesTypeOld.Stater { saveData["at_stater"] = requestData.State // 状态 } if requestData.Sort != archivesTypeOld.Sort { saveData["at_sort"] = requestData.Sort // 排序 } saveData["at_parent_id"] = requestData.Parent // 父级 saveData["at_time"] = time.Now().Unix() // 时间 saveData["at_uid"] = requestData.Uid // 人员 editErr := archivesTypeOld.EiteCont(where, saveData) if editErr != nil { publicmethod.Result(106, editErr, c) return } publicmethod.Result(0, requestData, c) } // 图文信息栏目删除(软删除) func (a *ApiMethod) SoftDelBookImgColumn(c *gin.Context) { var requestData delBookimgColumn err := c.ShouldBindJSON(&requestData) if err != nil { publicmethod.Result(100, err, c) return } if len(requestData.Ids) < 1 { publicmethod.Result(101, requestData, c) return } where := publicmethod.MapOut[string]() for _, v := range requestData.Ids { where["at_id"] = v var archivesType modelbookimg.ArchivesType getErr := archivesType.GetCont(where) if getErr != nil { publicmethod.Result(107, getErr, c) return } editErr := archivesType.EiteCont(where, map[string]interface{}{"at_stater": 2}) if editErr != nil { publicmethod.Result(108, editErr, c) return } // 软删除图文信息栏目子栏目 syncSeting.Add(1) go SoftDelBookimgColumnSubtopic(archivesType.Id, archivesType.Uid) // 软删除图文信息栏目下的文章 syncSeting.Add(1) go SoftDelBookImgColumnGraphicform(archivesType.Id, archivesType.Uid) } syncSeting.Wait() publicmethod.Result(0, "删除成功", c) } // 软删除图文信息栏目子栏目 func SoftDelBookimgColumnSubtopic(parentId, Uid int64) { defer syncSeting.Done() var archivesTypeList []modelbookimg.ArchivesType var archivesType modelbookimg.ArchivesType overall.CONSTANT_DB_Master.Model(&archivesType).Table(fmt.Sprintf("%s at2", archivesType.TableName())).Where("at2.at_parent_id = ?", parentId).Find(&archivesTypeList) for _, item := range archivesTypeList { item.EiteCont(map[string]interface{}{"at2.at_stater": 1}, map[string]interface{}{"at2.at_stater": 3, "at2.at_uid": Uid, "at2.at_time": time.Now().Unix()}) } } // 软删除图文信息栏目下的文章 func SoftDelBookImgColumnGraphicform(parentId, Uid int64) { defer syncSeting.Done() var graphicformList []modelbookimg.GraphicForm var graphicform modelbookimg.GraphicForm overall.CONSTANT_DB_IMAGES_TEST.Model(&graphicform).Table(fmt.Sprintf("%s g", graphicform.TableName())).Where("g.g_parent_sun = ?", parentId).Find(&graphicformList) for _, item := range graphicformList { discusSyncSeting.Add(1) go SoftDelGraphicFormDiscus(item.Id) item.EiteCont(map[string]interface{}{"g.g_state": 1}, map[string]interface{}{"g.g_state": 4, "g.g_eite_time": time.Now().Unix(), "g.g_user_key": Uid}) } discusSyncSeting.Wait() } // 软删除图文信息文章评论 func SoftDelGraphicFormDiscus(fileId int64) { defer discusSyncSeting.Done() var discusMsgList []modelbookimg.DiscussMsg var discusMsg modelbookimg.DiscussMsg overall.CONSTANT_DB_FILE_BOOK.Model(&discusMsg).Table(fmt.Sprintf("%s dm", discusMsg.TableName())).Where("dm.dis_file_id = ?", fileId).Find(&discusMsgList) for _, item := range discusMsgList { item.EiteCont(map[string]interface{}{"dm.dis_stater": 1}, map[string]interface{}{"dm.dis_stater": 4, "dm.dis_eite_time": time.Now().Unix()}) } }