|
@@ -39,6 +39,7 @@ type ReportUploadCommonController struct {
|
|
|
// @Description 获取报告列表
|
|
|
// @Param PageSize query int true "每页数据条数"
|
|
|
// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
+// @Param TimeType query string true "筛选的时间类别:publish_time(发布时间),modify_time(更新时间)"
|
|
|
// @Param StartDate query string true "开始时间"
|
|
|
// @Param EndDate query string true "结束时间"
|
|
|
// @Param Frequency query string true "频度"
|
|
@@ -59,6 +60,7 @@ func (this *ReportController) ListReport() {
|
|
|
pageSize, _ := this.GetInt("PageSize")
|
|
|
currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
|
|
|
+ timeType := this.GetString("TimeType")
|
|
|
startDate := this.GetString("StartDate")
|
|
|
endDate := this.GetString("EndDate")
|
|
|
frequency := this.GetString("Frequency")
|
|
@@ -78,6 +80,15 @@ func (this *ReportController) ListReport() {
|
|
|
}
|
|
|
startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
|
|
|
+ if timeType == "" {
|
|
|
+ timeType = "publish_time"
|
|
|
+ }
|
|
|
+ if timeType != "publish_time" && timeType != "modify_time" {
|
|
|
+ br.Msg = "请选择正确的时间"
|
|
|
+ br.ErrMsg = "请选择正确的时间"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
|
|
|
@@ -85,11 +96,11 @@ func (this *ReportController) ListReport() {
|
|
|
condition += ` AND (title LIKE '%` + keyWord + `%' OR author LIKE '%` + keyWord + `%' ) `
|
|
|
}
|
|
|
if startDate != "" {
|
|
|
- condition += ` AND create_time >= ? `
|
|
|
+ condition += ` AND ` + timeType + ` >= ? `
|
|
|
pars = append(pars, startDate)
|
|
|
}
|
|
|
if endDate != "" {
|
|
|
- condition += ` AND create_time <= ? `
|
|
|
+ condition += ` AND ` + timeType + ` <= ? `
|
|
|
pars = append(pars, endDate)
|
|
|
}
|
|
|
if frequency != "" {
|
|
@@ -3054,3 +3065,79 @@ func (this *ReportController) CheckDayWeekReportChapterVideo() {
|
|
|
br.Msg = "保存成功"
|
|
|
br.Data = typeNameArr
|
|
|
}
|
|
|
+
|
|
|
+// PrePublishReport
|
|
|
+// @Title 设置定时发布接口
|
|
|
+// @Description 设置定时发布接口
|
|
|
+// @Param request body models.PrePublishReq true "type json string"
|
|
|
+// @Success 200 Ret=200 发布成功
|
|
|
+// @router /pre_publish [post]
|
|
|
+func (this *ReportController) PrePublishReport() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ var req models.PrePublishReq
|
|
|
+ err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ reportId := req.ReportId
|
|
|
+ if reportId == 0 {
|
|
|
+ br.Msg = "参数错误"
|
|
|
+ br.ErrMsg = "参数错误,报告id不可为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.PrePublishTime == "" {
|
|
|
+ br.Msg = "发布时间不能为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ prePublishTime, err := time.ParseInLocation(utils.FormatDateTime, req.PrePublishTime, time.Local)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "发布时间格式错误"
|
|
|
+ br.ErrMsg = "发布时间格式错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if prePublishTime.Before(time.Now()) {
|
|
|
+ br.Msg = "发布时间不允许选择过去时间"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ report, err := models.GetReportById(reportId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取报告信息失败"
|
|
|
+ br.ErrMsg = "获取报告信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if report == nil {
|
|
|
+ br.Msg = "报告不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if report.ClassifyNameFirst == "晨报" || report.ClassifyNameFirst == "周报" {
|
|
|
+ br.Msg = "晨报周报不支持定时发布"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if report.Content == "" {
|
|
|
+ br.Msg = "报告内容为空,不可发布"
|
|
|
+ br.ErrMsg = "报告内容为空,不需要生成,report_id:" + strconv.Itoa(report.Id)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if report.State == 2 {
|
|
|
+ br.Msg = "报告已发布,不可设置定时发布"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var tmpErr error
|
|
|
+ if tmpErr = models.SetPrePublishReportById(report.Id, req.PrePublishTime); tmpErr != nil {
|
|
|
+ br.Msg = "设置定时发布失败"
|
|
|
+ br.ErrMsg = "设置定时发布失败, Err:" + tmpErr.Error() + ", report_id:" + strconv.Itoa(report.Id)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "定时发布成功"
|
|
|
+}
|