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.
416 lines
12 KiB
416 lines
12 KiB
package newsclass
|
|
|
|
import (
|
|
"appPlatform/models/modelbookimg"
|
|
"appPlatform/models/modelshr"
|
|
"appPlatform/overall"
|
|
"appPlatform/overall/publicmethod"
|
|
"strconv"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2023-11-09 10:18:58
|
|
@ 功能: 热门新闻
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) HotNews(c *gin.Context) {
|
|
var requestData HosNewsParameter
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
publicmethod.Result(10001, err, c)
|
|
return
|
|
}
|
|
if requestData.Page == 0 {
|
|
requestData.Page = 1
|
|
}
|
|
if requestData.PageSize == 0 {
|
|
requestData.PageSize = 7
|
|
}
|
|
if requestData.Types == 0 {
|
|
requestData.Types = 1
|
|
}
|
|
context, _ := c.Get(overall.MyContJwt)
|
|
var userCont modelshr.ManCont
|
|
userCont.GetLoginCont(context)
|
|
var sunOrg publicmethod.GetOrgAllParent
|
|
sunOrg.GetOrgSonAllId(userCont.MainDeparment)
|
|
sunOrg.Id = append(sunOrg.Id, userCont.MainDeparment)
|
|
|
|
var orgListInfo []modelshr.OrgContType
|
|
overall.CONSTANT_DB_HR.Select("`id`,`level`").Where("`id` IN ?", sunOrg.Id).Find(&orgListInfo)
|
|
|
|
var orgAry []int64
|
|
var workPost []int64
|
|
for i := 0; i < len(orgListInfo); i++ {
|
|
// var orgType modelshr.OrgContType
|
|
// orgType.GetCont(map[string]interface{}{"`id`": orgListInfo[i].OrganizationType}, "`level`")
|
|
if orgListInfo[i].Level >= 6 {
|
|
workPost = append(workPost, orgListInfo[i].Id)
|
|
} else {
|
|
orgAry = append(orgAry, orgListInfo[i].Id)
|
|
}
|
|
}
|
|
|
|
var list []modelbookimg.GraphicForm
|
|
gormDb := overall.CONSTANT_DB_IMAGES_TEST.Model(&modelbookimg.GraphicForm{}).Select("`g_id`,`g_title`,`g_content`,`g_text_name`,`g_test_url`,`g_physics_path`,`g_add_time`,`g_read`,`g_com_sum`,`g_collection_sum`,`g_likes`,`g_step_on`,`g_thumbnail`")
|
|
if requestData.Types == 5 {
|
|
gormDb = gormDb.Where("`g_recommend` = 1")
|
|
}
|
|
if requestData.GroupId != "" {
|
|
gormDb = gormDb.Where("`g_parent` = ?", requestData.GroupId)
|
|
}
|
|
if requestData.SunGroupId != "" {
|
|
gormDb = gormDb.Where("`g_parent_sun` = ?", requestData.SunGroupId)
|
|
}
|
|
gormDb = gormDb.Where("`g_state` = 2")
|
|
gormDb = gormDb.Where("`g_visit_strat` = 1 OR (`g_visit_strat` = 2 AND `g_bf_id` IN ?) OR (`g_visit_strat` = 3 AND `g_ws_id` IN ?) OR (`g_visit_strat` = 4 AND FIND_IN_SET(?,`g_range`))", orgAry, workPost, userCont.Id)
|
|
|
|
var total int64
|
|
totalErr := gormDb.Count(&total).Error
|
|
if totalErr != nil {
|
|
total = 0
|
|
}
|
|
gormDb = publicmethod.PageTurningSettings(gormDb, requestData.Page, requestData.PageSize)
|
|
switch requestData.Types {
|
|
case 1:
|
|
gormDb = gormDb.Order("`g_read` DESC").Order("`g_add_time` DESC")
|
|
case 2:
|
|
gormDb = gormDb.Order("`g_com_sum` DESC").Order("`g_add_time` DESC")
|
|
case 3:
|
|
gormDb = gormDb.Order("`g_collection_sum` DESC").Order("`g_add_time` DESC")
|
|
case 4:
|
|
gormDb = gormDb.Order("`g_likes` DESC").Order("`g_add_time` DESC")
|
|
case 5:
|
|
gormDb = gormDb.Order("`g_recommend` DESC").Order("`g_add_time` DESC")
|
|
case 6:
|
|
gormDb = gormDb.Order("`g_step_on` DESC").Order("`g_add_time` DESC")
|
|
default:
|
|
gormDb = gormDb.Order("`g_add_time` DESC")
|
|
}
|
|
err = gormDb.Find(&list).Error
|
|
if err != nil && len(list) < 1 {
|
|
publicmethod.Result(0, err, c)
|
|
return
|
|
}
|
|
var sendList []SendHotNews
|
|
for _, v := range list {
|
|
var sendCont SendHotNews
|
|
sendCont.Id = strconv.FormatInt(v.Id, 10)
|
|
sendCont.Title = v.Title //"title"`
|
|
sendCont.PageInfo = v.Content //"pageInfo"`
|
|
sendCont.FileName = v.TextName //"fileName"`
|
|
sendCont.FileUrl = v.TestUrl //"fileUrl"`
|
|
sendCont.FilePath = v.PhysicsPath //"filePath"`
|
|
sendCont.PageType = 1 //"pagetype"`
|
|
if v.TestUrl != "" {
|
|
sendCont.PageType = 2
|
|
}
|
|
sendCont.Time = publicmethod.UnixTimeToDay(v.AddTime, 24) //"time"`
|
|
sendCont.ReadNumber = v.Read //readNumber"`
|
|
sendCont.CommentNumber = v.ComSum //commentNumber"`
|
|
sendCont.CollectNumber = v.CollectionSum //collectNumber"`
|
|
sendCont.LikeNumber = v.Likes //likeNumber"`
|
|
sendCont.CriticizeNumber = v.StepOn //criticizeNumber"`
|
|
sendCont.Thumbnail = v.Thumbnail
|
|
sendCont.Describe = v.Describe
|
|
sendList = append(sendList, sendCont)
|
|
}
|
|
publicmethod.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(sendList)), sendList, c)
|
|
}
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2024-11-08 11:29:11
|
|
@ 功能: 录播图
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) HomeCarouselImage(c *gin.Context) {
|
|
var requestData CarouselImage
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
publicmethod.Result(10001, err, c)
|
|
return
|
|
}
|
|
if requestData.Num == 0 {
|
|
requestData.Num = 1
|
|
}
|
|
var list []modelbookimg.GraphicForm
|
|
overall.CONSTANT_DB_IMAGES_TEST.Model(&modelbookimg.GraphicForm{}).Select("`g_id`,`g_title`,`g_thumbnail`").Where("`g_state` = 2 AND `g_thumbnail` <> '' ").Limit(requestData.Num).Order("`g_add_time` DESC").Find(&list)
|
|
var sendData []SendCarouselImage
|
|
for _, v := range list {
|
|
var sendInfo SendCarouselImage
|
|
sendInfo.Id = strconv.FormatInt(v.Id, 10)
|
|
sendInfo.Title = v.Title
|
|
sendInfo.Img = v.Thumbnail
|
|
sendData = append(sendData, sendInfo)
|
|
}
|
|
publicmethod.Result(0, sendData, c)
|
|
}
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2024-11-11 08:41:54
|
|
@ 功能: 按分类获取新闻信息
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) GetHomenNews(c *gin.Context) {
|
|
var requestData NewsClassInfo
|
|
c.ShouldBindJSON(&requestData)
|
|
//获取当前登录人信息
|
|
context, _ := c.Get(overall.MyContJwt)
|
|
var userCont modelshr.ManCont
|
|
userCont.GetLoginCont(context)
|
|
var sunOrg publicmethod.GetOrgAllParent
|
|
sunOrg.GetOrgSonAllId(userCont.MainDeparment)
|
|
sunOrg.Id = append(sunOrg.Id, userCont.MainDeparment)
|
|
|
|
//获取知行学院组织架构
|
|
// var schoolId []int64
|
|
var list []SendNewsInfo
|
|
gormDb := overall.CONSTANT_DB_IMAGES_TEST.Model(&modelbookimg.GraphicForm{}).Where("`g_state` = 2")
|
|
if requestData.GroupId != "" {
|
|
gormDb = gormDb.Where("`g_parent` = ?", requestData.GroupId)
|
|
}
|
|
if requestData.SunGroupId != "" {
|
|
gormDb = gormDb.Where("`g_parent_sun` = ?", requestData.SunGroupId)
|
|
}
|
|
switch requestData.Types {
|
|
case 1:
|
|
gormDb = gormDb.Where("`g_recommend` = 1")
|
|
gormDb = gormDb.Order("`g_add_time` DESC")
|
|
case 2: //不推荐
|
|
gormDb = gormDb.Where("`g_recommend` <> 1")
|
|
gormDb = gormDb.Order("`g_add_time` DESC")
|
|
case 3: //热门
|
|
gormDb = gormDb.Order("`g_read` DESC")
|
|
gormDb = gormDb.Order("`g_com_sum` DESC")
|
|
case 4: //收藏
|
|
gormDb = gormDb.Where("`g_collection_sum` > 0")
|
|
gormDb = gormDb.Order("`g_collection_sum` DESC")
|
|
case 5: //点赞
|
|
gormDb = gormDb.Where("`g_likes` > 0")
|
|
gormDb = gormDb.Order("`g_likes` DESC")
|
|
case 6: //评论
|
|
gormDb = gormDb.Where("`g_com_sum` > 0")
|
|
gormDb = gormDb.Order("`g_com_sum` DESC")
|
|
case 7: //阅读量
|
|
gormDb = gormDb.Order("`g_read` DESC")
|
|
default:
|
|
gormDb = gormDb.Order("`g_add_time` DESC")
|
|
}
|
|
// gormDb = gormDb.Where("`g_visit_strat` = 1 OR (`g_visit_strat` = 2 AND `g_bf_id` IN ?) OR (`g_visit_strat` = 3 AND `g_ws_id` IN ?) OR (`g_visit_strat` = 4 AND FIND_IN_SET(?,`g_range`))", orgAry, workPost, userCont.Id)
|
|
if requestData.Limit < 1 {
|
|
requestData.Limit = 1
|
|
}
|
|
err := gormDb.Limit(requestData.Limit).Find(&list).Error
|
|
if err != nil && len(list) < 1 {
|
|
publicmethod.Result(0, err, c)
|
|
return
|
|
}
|
|
for i, v := range list {
|
|
list[i].IdStr = strconv.FormatInt(v.Id, 10)
|
|
list[i].CreationTime = publicmethod.UnixTimeToDay(v.AddTime, 4)
|
|
}
|
|
publicmethod.Result(0, list, c)
|
|
}
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2024-11-11 15:23:15
|
|
@ 功能: 获取新闻类型分类
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) GetNewType(c *gin.Context) {
|
|
var requestData publicmethod.PublicId
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
publicmethod.Result(100, err, c)
|
|
return
|
|
}
|
|
if requestData.Id == "" {
|
|
publicmethod.Result(1, err, c, "未知参数!")
|
|
return
|
|
}
|
|
var list []SendMsgArchives
|
|
err = overall.CONSTANT_DB_Master.Where("`at_stater` = 1 AND `at_parent_id` = ?", requestData.Id).Order("`at_sort` ASC").Find(&list).Error
|
|
if err != nil || len(list) < 1 {
|
|
publicmethod.Result(0, list, c)
|
|
return
|
|
}
|
|
for i, v := range list {
|
|
list[i].IdStr = strconv.FormatInt(v.Id, 10)
|
|
}
|
|
publicmethod.Result(0, list, c)
|
|
}
|
|
|
|
/*
|
|
*
|
|
@ 作者: 秦东
|
|
@ 时间: 2024-11-12 10:05:02
|
|
@ 功能: 新闻列表资讯
|
|
@ 参数
|
|
|
|
#
|
|
|
|
@ 返回值
|
|
|
|
#
|
|
|
|
@ 方法原型
|
|
|
|
#
|
|
*/
|
|
func (a *ApiMethod) NewHotNews(c *gin.Context) {
|
|
var requestData HosNewsParameter
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
publicmethod.Result(10001, err, c)
|
|
return
|
|
}
|
|
if requestData.Page == 0 {
|
|
requestData.Page = 1
|
|
}
|
|
if requestData.PageSize == 0 {
|
|
requestData.PageSize = 7
|
|
}
|
|
if requestData.Types == 0 {
|
|
requestData.Types = 1
|
|
}
|
|
context, _ := c.Get(overall.MyContJwt)
|
|
var userCont modelshr.ManCont
|
|
userCont.GetLoginCont(context)
|
|
var sunOrg publicmethod.GetOrgAllParent
|
|
sunOrg.GetOrgSonAllId(userCont.MainDeparment)
|
|
sunOrg.Id = append(sunOrg.Id, userCont.MainDeparment)
|
|
|
|
var orgListInfo []modelshr.OrgContType
|
|
overall.CONSTANT_DB_HR.Select("`id`,`level`").Where("`id` IN ?", sunOrg.Id).Find(&orgListInfo)
|
|
|
|
var orgAry []int64
|
|
var workPost []int64
|
|
for i := 0; i < len(orgListInfo); i++ {
|
|
// var orgType modelshr.OrgContType
|
|
// orgType.GetCont(map[string]interface{}{"`id`": orgListInfo[i].OrganizationType}, "`level`")
|
|
if orgListInfo[i].Level >= 6 {
|
|
workPost = append(workPost, orgListInfo[i].Id)
|
|
} else {
|
|
orgAry = append(orgAry, orgListInfo[i].Id)
|
|
}
|
|
}
|
|
|
|
var list []SendNewsInfo
|
|
gormDb := overall.CONSTANT_DB_IMAGES_TEST.Model(&modelbookimg.GraphicForm{}).Where("`g_state` = 2")
|
|
if requestData.Types == 5 {
|
|
gormDb = gormDb.Where("`g_recommend` = 1")
|
|
}
|
|
if requestData.GroupId != "" {
|
|
gormDb = gormDb.Where("`g_parent` = ?", requestData.GroupId)
|
|
}
|
|
if requestData.SunGroupId != "" {
|
|
gormDb = gormDb.Where("`g_parent_sun` = ?", requestData.SunGroupId)
|
|
}
|
|
gormDb = gormDb.Where("`g_visit_strat` = 1 OR (`g_visit_strat` = 2 AND `g_bf_id` IN ?) OR (`g_visit_strat` = 3 AND `g_ws_id` IN ?) OR (`g_visit_strat` = 4 AND FIND_IN_SET(?,`g_range`))", orgAry, workPost, userCont.Id)
|
|
|
|
var total int64
|
|
totalErr := gormDb.Count(&total).Error
|
|
if totalErr != nil {
|
|
total = 0
|
|
}
|
|
gormDb = publicmethod.PageTurningSettings(gormDb, requestData.Page, requestData.PageSize)
|
|
switch requestData.Types {
|
|
case 1:
|
|
gormDb = gormDb.Order("`g_read` DESC").Order("`g_add_time` DESC")
|
|
case 2:
|
|
gormDb = gormDb.Order("`g_com_sum` DESC").Order("`g_add_time` DESC")
|
|
case 3:
|
|
gormDb = gormDb.Order("`g_collection_sum` DESC").Order("`g_add_time` DESC")
|
|
case 4:
|
|
gormDb = gormDb.Order("`g_likes` DESC").Order("`g_add_time` DESC")
|
|
case 5:
|
|
gormDb = gormDb.Order("`g_recommend` DESC").Order("`g_add_time` DESC")
|
|
case 6:
|
|
gormDb = gormDb.Order("`g_step_on` DESC").Order("`g_add_time` DESC")
|
|
default:
|
|
gormDb = gormDb.Order("`g_add_time` DESC")
|
|
}
|
|
err = gormDb.Find(&list).Error
|
|
if err != nil && len(list) < 1 {
|
|
publicmethod.Result(0, err, c)
|
|
return
|
|
}
|
|
// var sendList []SendHotNews
|
|
// for _, v := range list {
|
|
// var sendCont SendHotNews
|
|
// sendCont.Id = strconv.FormatInt(v.Id, 10)
|
|
// sendCont.Title = v.Title //"title"`
|
|
// sendCont.PageInfo = v.Content //"pageInfo"`
|
|
// sendCont.FileName = v.TextName //"fileName"`
|
|
// sendCont.FileUrl = v.TestUrl //"fileUrl"`
|
|
// sendCont.FilePath = v.PhysicsPath //"filePath"`
|
|
// sendCont.PageType = 1 //"pagetype"`
|
|
// if v.TestUrl != "" {
|
|
// sendCont.PageType = 2
|
|
// }
|
|
// sendCont.Time = publicmethod.UnixTimeToDay(v.AddTime, 24) //"time"`
|
|
// sendCont.ReadNumber = v.Read //readNumber"`
|
|
// sendCont.CommentNumber = v.ComSum //commentNumber"`
|
|
// sendCont.CollectNumber = v.CollectionSum //collectNumber"`
|
|
// sendCont.LikeNumber = v.Likes //likeNumber"`
|
|
// sendCont.CriticizeNumber = v.StepOn //criticizeNumber"`
|
|
// sendCont.Thumbnail = v.Thumbnail
|
|
// sendCont.Describe = v.Describe
|
|
// sendList = append(sendList, sendCont)
|
|
// }
|
|
for i, v := range list {
|
|
list[i].IdStr = strconv.FormatInt(v.Id, 10)
|
|
list[i].CreationTime = publicmethod.UnixTimeToDay(v.AddTime, 4)
|
|
}
|
|
publicmethod.ResultList(0, requestData.Page, requestData.PageSize, total, int64(len(list)), list, c)
|
|
}
|
|
|