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 ( ) } )
}
}