绩效考核
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.
 
 
 

321 lines
9.2 KiB

package archiveapi
import (
"strconv"
"time"
"gin_server_admin/commonus"
"gin_server_admin/global"
"gin_server_admin/model/archivesmodel"
"gin_server_admin/model/common/response"
"github.com/gin-gonic/gin"
)
type ArchiveApiHandle struct{}
func (a *ArchiveApiHandle) Index(c *gin.Context) {
outPut := commonus.MapOut()
response.Result(0, outPut, "获取成功", c)
}
// 栏目列表
func (a *ArchiveApiHandle) ArchiveTypeList(c *gin.Context) {
var requestData archiveTypeListStruct
err := c.ShouldBindJSON(&requestData)
if err != nil {
response.Result(101, err, "参数错误!请重新提交!", c)
return
}
if requestData.PageSize == 0 {
requestData.PageSize = 20
}
if requestData.Page <= 0 {
requestData.Page = 1
}
// psge := (requestData.Page - 1) * requestData.PageSize
psge := commonus.CalculatePages(requestData.Page, requestData.PageSize)
var archiveList []archivesmodel.ArchivesType
//条件
whereMap := commonus.MapOut()
if requestData.ParentId != 0 {
whereMap["at_parent_id"] = requestData.ParentId
} else {
whereMap["at_parent_id"] = 0
}
listErr := global.GVA_DB_Master.Where(whereMap).Where("`at_stater` IN ?", []int{1, 2}).Order("`at_sort` ASC,`at_id` DESC").Limit(requestData.PageSize).Offset(psge).Find(&archiveList).Error
if listErr != nil {
response.Result(102, err, "未获取到数据!", c)
return
}
var outPutList []archiveTypeOutPut
for _, listVal := range archiveList {
var listCont archiveTypeOutPut
listCont.Id = listVal.Id
listCont.OutId = strconv.FormatInt(listVal.Id, 10)
listCont.ColumnrName = listVal.Title
listCont.Sort = listVal.Sort
if listVal.Stater == 1 {
listCont.State = true
} else {
listCont.State = false
}
outPutList = append(outPutList, listCont)
}
var total int64 //获取所有数据
counrErr := global.GVA_DB_Master.Model(&archiveList).Where(whereMap).Where("`at_stater` IN ?", []int{1, 2}).Count(&total).Error
if counrErr != nil {
total = 0
}
countSum := len(outPutList)
printData := commonus.OutPutList(total, int64(countSum), requestData.Page, requestData.PageSize, outPutList)
// fmt.Printf("%v\n", printData)
response.Result(0, printData, "查询成功!", c)
}
// 添加栏目
func (a *ArchiveApiHandle) AddArchive(c *gin.Context) {
var arrData appArchiveType
err := c.ShouldBindJSON(&arrData)
if err != nil {
response.Result(101, err, "参数错误!请重新提交!", c)
return
}
if arrData.UID == 0 {
response.Result(102, err, "参数错误!请重新提交!", c)
return
}
if arrData.Title == "" {
response.Result(103, err, "请输入栏目名称!", c)
return
}
if arrData.Sort == 0 {
arrData.Sort = 50
}
// if
var archiveInfo archivesmodel.ArchivesType
archiveInfo.Id = commonus.GetFileNumberEs()
archiveInfo.ParentId = arrData.ParentId
archiveInfo.Stater = 1
archiveInfo.UID = arrData.UID
archiveInfo.Sort = arrData.Sort
archiveInfo.Time = time.Now().Unix()
archiveInfo.Title = arrData.Title
addArchiveErr := global.GVA_DB_Master.Create(&archiveInfo).Error
if addArchiveErr != nil {
response.Result(104, archiveInfo, "数据写入失败!", c)
} else {
response.Result(0, addArchiveErr, "数据写入成功!", c)
}
}
// 获取单个信息栏目
func (a *ArchiveApiHandle) GetArchiveInfo(c *gin.Context) {
var arrData commonus.SetId
err := c.ShouldBindJSON(&arrData)
if err != nil {
response.Result(101, err, "参数错误!请重新提交!", c)
return
}
if arrData.Id == 0 {
response.Result(102, arrData, "参数错误!请重新提交!", c)
return
}
if arrData.OutId != "" {
outIdVal, outIdErr := strconv.ParseInt(arrData.OutId, 10, 64)
if outIdErr != nil {
response.Result(1022, arrData, "参数错误!请重新提交!", c)
return
}
arrData.Id = outIdVal
// response.Result(1022, outIdVal, "参数错误!请重新提交!", c)
// return
// // arrData.Id = outIdVal
}
var archiveInfo archivesmodel.ArchivesType
archiveInfoErr := global.GVA_DB_Master.Where("at_id = ?", arrData.Id).First(&archiveInfo).Error
if archiveInfoErr != nil {
response.Result(103, archiveInfoErr, "该栏目不存在!", c)
return
}
outPutInfo := commonus.MapOut()
// outIdset, outIdsetErr := strconv.ParseInt(archiveInfo.Id, 10, 64)
outIdset := strconv.FormatInt(archiveInfo.Id, 10)
outPutInfo["id"] = outIdset
outPutInfo["id"] = archiveInfo.Id
outPutInfo["title"] = archiveInfo.Title
outPutInfo["stater"] = archiveInfo.Stater
outPutInfo["parentId"] = archiveInfo.ParentId
outPutInfo["time"] = archiveInfo.Time
outPutInfo["uid"] = archiveInfo.UID
outPutInfo["sort"] = archiveInfo.Sort
response.Result(0, outPutInfo, "获取成功!", c)
}
// 改变栏目状态
func (a *ArchiveApiHandle) EiteArchiveState(c *gin.Context) {
var arrData archiveState
err := c.ShouldBindJSON(&arrData)
if err != nil {
response.Result(101, err, "参数错误!请重新提交!", c)
return
}
if arrData.Id == 0 && arrData.OutId == "" {
response.Result(102, arrData, "参数错误!请重新提交!", c)
return
}
if arrData.OutId != "" {
outIdVal, outIdErr := strconv.ParseInt(arrData.OutId, 10, 64)
if outIdErr != nil {
response.Result(102, arrData, "参数错误!请重新提交!", c)
return
}
arrData.Id = outIdVal
}
if arrData.State == 0 {
arrData.State = 1
}
var archiveInfo archivesmodel.ArchivesType
if arrData.IsDel != 1 {
isTrue, saveErr := archiveStateSet(archiveInfo, arrData)
if isTrue != true {
response.Result(103, saveErr, "修改失败!", c)
return
}
response.Result(0, arrData, "修改成功!", c)
} else {
if arrData.State == 3 {
archiveInfoErr := global.GVA_DB_Master.Where("at_id = ?", arrData.Id).Delete(&archiveInfo).Error
if archiveInfoErr != nil {
response.Result(104, arrData, "删除失败!", c)
return
}
response.Result(0, arrData, "删除成功!", c)
} else {
isTrue, saveErr := archiveStateSet(archiveInfo, arrData)
if isTrue != true {
response.Result(105, saveErr, "修改失败!", c)
return
}
response.Result(0, arrData, "修改成功!", c)
}
}
}
// 状态软操作
func archiveStateSet(archiveInfo archivesmodel.ArchivesType, arrData archiveState) (isTrue bool, archiveInfoErr error) {
isTrue = false
//软处理
saveData := commonus.MapOut()
saveData["at_stater"] = arrData.State
saveData["at_time"] = time.Now().Unix()
archiveInfoErr = global.GVA_DB_Master.Model(&archiveInfo).Where("at_id = ?", arrData.Id).Updates(saveData).Error
if archiveInfoErr != nil {
return
}
isTrue = true
return
}
// 修改栏目信息
func (a *ArchiveApiHandle) EiteArchiveInfo(c *gin.Context) {
var arrData eiteArchiveCont
err := c.ShouldBindJSON(&arrData)
if err != nil {
response.Result(101, err, "参数错误!请重新提交!", c)
return
}
if arrData.Id == 0 {
response.Result(102, arrData, "参数错误!请重新提交!", c)
return
}
if arrData.OutId != "" {
outIdVal, outIdErr := strconv.ParseInt(arrData.OutId, 10, 64)
if outIdErr != nil {
response.Result(102, arrData, "参数错误!请重新提交!", c)
return
}
arrData.Id = outIdVal
}
if arrData.Title == "" {
response.Result(103, err, "请输入栏目名称!", c)
return
}
if arrData.Sort == 0 {
arrData.Sort = 50
}
var archiveInfo archivesmodel.ArchivesType
saveData := commonus.MapOut()
saveData["at_title"] = arrData.Title
saveData["at_sort"] = arrData.Sort
saveData["at_time"] = time.Now().Unix()
archiveInfoErr := global.GVA_DB_Master.Model(&archiveInfo).Where("at_id = ?", arrData.Id).Updates(saveData).Error
if archiveInfoErr != nil {
response.Result(104, err, "修改失败!", c)
return
}
response.Result(0, err, "修改成功!", c)
}
// 批量修改栏目
func (a *ArchiveApiHandle) BatchEiteArchiveState(c *gin.Context) {
var arrData batchArchiveState
err := c.ShouldBindJSON(&arrData)
if err != nil {
response.Result(101, err, "参数错误!请重新提交!", c)
return
}
if len(arrData.Id) < 1 {
response.Result(102, arrData, "参数错误!请重新提交!", c)
return
}
if arrData.State == 0 {
arrData.State = 1
}
var archiveInfo archivesmodel.ArchivesType
if arrData.IsDel != 1 {
isTrue, saveErr := batchArchiveStateSet(archiveInfo, arrData)
if isTrue != true {
response.Result(103, saveErr, "修改失败!", c)
return
}
response.Result(0, arrData, "修改成功!", c)
} else {
if arrData.State == 3 {
archiveInfoErr := global.GVA_DB_Master.Where("at_id IN ?", arrData.Id).Delete(&archiveInfo).Error
if archiveInfoErr != nil {
response.Result(104, arrData, "删除失败!", c)
return
}
response.Result(0, arrData, "删除成功!", c)
} else {
isTrue, saveErr := batchArchiveStateSet(archiveInfo, arrData)
if isTrue != true {
response.Result(105, saveErr, "修改失败!", c)
return
}
response.Result(0, arrData, "修改成功!", c)
}
}
}
// 批量状态软操作
func batchArchiveStateSet(archiveInfo archivesmodel.ArchivesType, arrData batchArchiveState) (isTrue bool, archiveInfoErr error) {
isTrue = false
//软处理
saveData := commonus.MapOut()
saveData["at_stater"] = arrData.State
saveData["at_time"] = time.Now().Unix()
archiveInfoErr = global.GVA_DB_Master.Model(&archiveInfo).Where("at_id IN ?", arrData.Id).Updates(saveData).Error
if archiveInfoErr != nil {
return
}
isTrue = true
return
}