|
@@ -497,12 +497,12 @@ func (this *PptV2CommonController) DownloadPptx() {
|
|
|
func (this *PptV2Controller) Publish() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
+ if br.ErrMsg == "" {
|
|
|
+ br.IsSendEmail = false
|
|
|
+ }
|
|
|
this.Data["json"] = br
|
|
|
this.ServeJSON()
|
|
|
}()
|
|
|
-
|
|
|
- //SavePptV2PathReq
|
|
|
- //PptV2PublishReq
|
|
|
var req models.SavePptV2PathReq
|
|
|
err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
if err != nil {
|
|
@@ -515,14 +515,65 @@ func (this *PptV2Controller) Publish() {
|
|
|
br.Msg = "参数错误"
|
|
|
return
|
|
|
}
|
|
|
- err = models.EditPptV2Path(pptId, req.PptxUrl)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "发布失败"
|
|
|
- br.ErrMsg = "发布失败,Err:" + err.Error()
|
|
|
+ req.PptxUrl = strings.TrimSpace(req.PptxUrl)
|
|
|
+ if req.PptxUrl == "" {
|
|
|
+ br.Msg = "文件地址为空"
|
|
|
return
|
|
|
}
|
|
|
+ //err = models.EditPptV2Path(pptId, req.PptxUrl)
|
|
|
+ //if err != nil {
|
|
|
+ // br.Msg = "发布失败"
|
|
|
+ // br.ErrMsg = "发布失败,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+
|
|
|
+ pptItem, e := models.GetPptV2ById(pptId)
|
|
|
+ if e != nil {
|
|
|
+ if utils.IsErrNoRow(e) {
|
|
|
+ br.Msg = "PPT不存在, 请刷新页面"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取PPT失败, %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var updateCols []string
|
|
|
+ updateCols = append(updateCols, "PptxUrl", "ModifyTime")
|
|
|
+ pptItem.PptxUrl = req.PptxUrl
|
|
|
+ pptItem.ModifyTime = time.Now()
|
|
|
+
|
|
|
+ // 本地PPT(不加限制, 想发布就发布)
|
|
|
+ if pptItem.ReportSource == utils.ReportSourceLocal {
|
|
|
+ updateCols = append(updateCols, "State", "PublishTime")
|
|
|
+ pptItem.State = models.ReportStatePublished
|
|
|
+ pptItem.PublishTime = time.Now()
|
|
|
+ }
|
|
|
|
|
|
- // TODO:发布
|
|
|
+ // 外部PPT
|
|
|
+ if pptItem.ReportSource == utils.ReportSourceOuter {
|
|
|
+ // 报告状态
|
|
|
+ if pptItem.OutReportId == "" {
|
|
|
+ br.Msg = "PPT异常"
|
|
|
+ br.ErrMsg = fmt.Sprintf("PPT外部报告ID为空, ID: %d", pptId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if pptItem.State != models.ReportStateWaitSubmit && pptItem.State != models.ReportStateRefused {
|
|
|
+ br.Msg = "状态异常, 不允许提交"
|
|
|
+ br.ErrMsg = fmt.Sprintf("PPT报告状态异常, %d", pptItem.State)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ updateCols = append(updateCols, "SubmitTime", "State")
|
|
|
+ pptItem.SubmitTime = time.Now()
|
|
|
+ pptItem.State = models.ReportStateWaitApprove
|
|
|
+ }
|
|
|
+
|
|
|
+ // 更新PPT
|
|
|
+ if e = pptItem.Update(updateCols); e != nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("更新PPT失败, %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
//添加发布记录
|
|
|
{
|
|
@@ -532,6 +583,14 @@ func (this *PptV2Controller) Publish() {
|
|
|
record.PptUrl = req.PptxUrl
|
|
|
go models.AddPptV2PublishRecord(record)
|
|
|
}
|
|
|
+
|
|
|
+ // TODO:智力共享-报告回调
|
|
|
+ go func() {
|
|
|
+ if pptItem.ReportSource != utils.ReportSourceOuter {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "发布成功"
|