You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
814 lines
28 KiB
814 lines
28 KiB
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()})
|
|
}
|
|
}
|
|
|