Browse Source

Merge branch 'cygx/cygx_14_8' of http://8.136.199.33:3000/hongze/hz_crm_api into debug

zhangchuanxing 2 days ago
parent
commit
34db4c0c1e

+ 90 - 20
controllers/cygx/morning_meeting_review.go

@@ -109,6 +109,7 @@ func (this *MorningMeetingController) List() {
 			Status:        item.Status,
 			PartNums:      item.PartNums,
 			IndustryNames: item.IndustryNames,
+			OpUserName:    item.OpUserName,
 		}
 		if item.Status == 1 {
 			respItem.PublishTime = item.PublishTime.Local().Format(utils.FormatDateTime)
@@ -165,19 +166,21 @@ func (this *MorningMeetingController) PreserveAndPublish() {
 	}
 	industryNames := strings.Join(industryNameslice, ",")
 
+	//先新增主表
+	reviewItem := cygx.CygxMorningMeetingReviews{
+		MeetingTime:   meetingTime,
+		CreateTime:    time.Now(),
+		ModifyTime:    time.Now(),
+		PartNums:      len(reqList.List),
+		IndustryNames: industryNames,
+		OpUserId:      sysUser.AdminId,
+		OpUserName:    sysUser.RealName,
+	}
+	reviewItem.Status = 2
 	if reqList.MeetingId <= 0 {
-		//先新增主表
-		reviewItem := cygx.CygxMorningMeetingReviews{
-			MeetingTime:   meetingTime,
-			CreateTime:    time.Now(),
-			ModifyTime:    time.Now(),
-			PartNums:      len(reqList.List),
-			IndustryNames: industryNames,
-		}
-
 		if reqList.DoType == 1 {
 			reviewItem.PublishTime = time.Now()
-			reviewItem.Status = 1
+
 		}
 
 		meetingId, err := cygx.AddCygxMorningMeetingReviews(&reviewItem)
@@ -267,8 +270,9 @@ func (this *MorningMeetingController) PreserveAndPublish() {
 			}
 			for _, itemchapter := range listchapter {
 				//go cygxService.UpdateResourceData(itemchapter.Id, "meetingreviewchapt", "add", time.Now().Format(utils.FormatDateTime))
-				go cygxService.UpdateMeetingreviewchaptResourceData(itemchapter.Id) //写入首页最新  cygx_resource_data 表
-				go elastic.AddComprehensiveMeetingreviewchapt(itemchapter.Id)       //Es添加晨会精华
+				go cygxService.UpdateMeetingreviewchaptResourceData(itemchapter.Id)                                 //写入首页最新  cygx_resource_data 表
+				go elastic.AddComprehensiveMeetingreviewchapt(itemchapter.Id)                                       //Es添加晨会精华
+				go cygxService.AddCygxMorningMeetingReviewLog(itemchapter, "发布", sysUser.RealName, sysUser.AdminId) //添加晨会精华日志信息,并发送模版消息
 			}
 			br.Msg = "发布成功"
 			br.Data = meetingId
@@ -285,14 +289,6 @@ func (this *MorningMeetingController) PreserveAndPublish() {
 			return
 		}
 
-		reviewItem := cygx.CygxMorningMeetingReviews{
-			Id:            reqList.MeetingId,
-			MeetingTime:   meetingTime,
-			ModifyTime:    time.Now(),
-			PartNums:      len(reqList.List),
-			IndustryNames: industryNames,
-		}
-
 		if reqList.DoType == 1 {
 			reviewItem.PublishTime = time.Now()
 			reviewItem.Status = 1
@@ -882,3 +878,77 @@ func MorningMeetingHistoryListExport(this *MorningMeetingController, resp cygx.C
 	br.Success = true
 	br.Msg = "导出成功"
 }
+
+// @Title 提交审核与撤回审核接口
+// @Description 提交审核与撤回审核接口
+// @Param	request	body cygx.MorningReviewApproveSubmiteq true "type json string"
+// @Success 200 Ret=200 取消发布成功
+// @router /morningMeeting/approve/submit [post]
+func (this *MorningMeetingController) ApproveSubmitReport() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+	var req cygx.MorningReviewApproveSubmiteq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	reviewId := req.ReviewId
+	status := req.Status
+	if reviewId <= 0 {
+		br.Msg = "参数错误"
+		br.ErrMsg = "参数错误,晨会id不可为空"
+		return
+	}
+	if status != 2 && status != 4 {
+		br.Msg = "操作失败"
+		br.ErrMsg = "发布状态错误"
+		return
+	}
+	var operate string
+	if status == 2 {
+		operate = "提交审核"
+	} else {
+		operate = "撤回"
+	}
+
+	//reviewInfo, err := cygx.GetMorningMeetingReviewById(reviewId)
+	//if err != nil {
+	//	br.Msg = "取消发布失败"
+	//	br.ErrMsg = "取消发布失败,Err:" + err.Error()
+	//	return
+	//}
+
+	//添加到首页最新
+	listchapter, err := cygx.GetCygxMorningMeetingReviewsListById(reviewId)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		return
+	}
+
+	err = cygx.UpdateMorningMeetingReviewStatusById(status, reviewId)
+	if err != nil {
+		br.Msg = "操作失败"
+		br.ErrMsg = "操作失败失败,Err:" + err.Error()
+		return
+	}
+	for _, itemchapter := range listchapter {
+		go cygxService.AddCygxMorningMeetingReviewLog(itemchapter, operate, sysUser.RealName, sysUser.AdminId) //添加晨会精华日志信息,并发送模版消息
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = operate + "成功"
+}

+ 19 - 1
models/cygx/cygx_morning_meeting_reviews.go

@@ -17,6 +17,8 @@ type CygxMorningMeetingReviews struct {
 	Status        int       `json:"status"`       // 0:未发布,1:已发布
 	PartNums      int       `json:"partNums"`     // 段落数
 	IndustryNames string    `json:"industryName"` // 产业名称
+	OpUserId      int       `description:"操作人编号"`
+	OpUserName    string    `description:"操作人名称"`
 }
 
 // 添加晨报点评
@@ -59,6 +61,7 @@ type CygxMorningMeetingReviewItem struct {
 	IndustryNames string `json:"industryName"` // 产业名称
 	Pv            int    `description:"PV"`
 	Uv            int    `description:"UV"`
+	OpUserName    string `description:"操作人名称"`
 }
 
 type CygxMorningMeetingReviewsList struct {
@@ -81,6 +84,14 @@ func PublishMorningMeetingReviewById(reviewId int) (err error) {
 	return
 }
 
+// 发布报告
+func UpdateMorningMeetingReviewStatusById(status, reviewId int) (err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := `UPDATE cygx_morning_meeting_reviews SET status= ?,publish_time=now(),modify_time=NOW() WHERE id = ? `
+	_, err = o.Raw(sql, status, reviewId).Exec()
+	return
+}
+
 type MorningReviewPublishReq struct {
 	ReviewIds string `description:"晨会id,多个用英文逗号隔开"`
 }
@@ -89,6 +100,11 @@ type MorningReviewPublishCancelReq struct {
 	ReviewId int `description:"晨会id"`
 }
 
+type MorningReviewApproveSubmiteq struct {
+	ReviewId int `description:"晨会id"`
+	Status   int `description:"0:未发布,1:已发布,2:待审核、3:已驳回、4:已撤回、5:未提交"`
+}
+
 // 取消发布报告
 func PublishCancelMorningMeetingReview(reviewId int) (err error) {
 	o := orm.NewOrmUsingDB("hz_cygx")
@@ -146,9 +162,11 @@ func UpdateCygxMorningMeetingReviews(item *CygxMorningMeetingReviews) (err error
 			  modify_time = ?,
 			  part_nums = ?,
 			  industry_names = ?,
+			  op_user_id = ?,
+			  op_user_name = ?,
 			  status = ? 
 			WHERE id = ? `
-	_, err = o.Raw(sql, item.MeetingTime, item.PublishTime, item.ModifyTime, item.PartNums, item.IndustryNames, item.Status, item.Id).Exec()
+	_, err = o.Raw(sql, item.MeetingTime, item.PublishTime, item.ModifyTime, item.PartNums, item.IndustryNames, item.OpUserId, item.OpUserName, item.Status, item.Id).Exec()
 
 	return
 }

+ 34 - 0
models/cygx/morning_meeting_review_log.go

@@ -0,0 +1,34 @@
+package cygx
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type CygxMorningMeetingReviewLog struct {
+	LogId                int       `orm:"column(log_id);pk"`
+	MeetingTime          time.Time `description:"晨会日期"`
+	CreateTime           time.Time `description:"创建时间"`
+	ModifyTime           time.Time `description:"修改时间"`
+	IndustryId           int       `description:"产业ID"`
+	IndustryName         string    `description:"产业名称"`
+	ChartPermissionName  string    `description:"行业名称"`
+	ChartPermissionId    int       `description:"行业ID"`
+	IndustrialSubjectIds string    `description:"标的ID"`
+	MeetingId            int       `description:"主表ID"`
+	Content              string    `description:"内容"`
+	ReportLink           string    `description:"报告链接"`
+	LinkArticleId        int       `description:"跳转的文章ID"`
+	Title                string    `description:"标题"`
+	Remark               string    `description:"备注说明"`
+	Operate              string    `description:"操作内容"`
+	OpUserId             int       `description:"操作人编号"`
+	OpUserName           string    `description:"操作人名称"`
+}
+
+// 添加晨报点评章节日志信息
+func AddCygxMorningMeetingReviewLog(item *CygxMorningMeetingReviewLog) (err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	_, err = o.Insert(item)
+	return
+}

+ 1 - 0
models/db.go

@@ -442,6 +442,7 @@ func initCygx() {
 		new(cygx.CygxActivitySpecialMeetingDetail),
 		new(cygx.CygxMorningMeetingReviewChapter),
 		new(cygx.CygxMorningMeetingReviews),
+		new(cygx.CygxMorningMeetingReviewLog), //晨会操作日志
 		new(cygx.CygxResourceData),
 		new(cygx.CygxReportSelectionChartLog),
 		new(cygx.CygxActivitySpecialTripBill),

+ 9 - 0
routers/commentsRouter.go

@@ -2167,6 +2167,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:MorningMeetingController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:MorningMeetingController"],
+        beego.ControllerComments{
+            Method: "ApproveSubmitReport",
+            Router: `/morningMeeting/approve/submit`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:MorningMeetingController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/cygx:MorningMeetingController"],
         beego.ControllerComments{
             Method: "Delete",

+ 35 - 0
services/cygx/morning_meeting.go

@@ -6,6 +6,7 @@ import (
 	"hongze/hz_crm_api/models/cygx"
 	"hongze/hz_crm_api/services/alarm_msg"
 	"hongze/hz_crm_api/utils"
+	"time"
 )
 
 //func init() {
@@ -43,3 +44,37 @@ func GetCygxMorningMeetingReviewChapterHistoryPvUvMap(articleIdArr []int) (mapPv
 	}
 	return
 }
+
+// 添加晨会精华操作日志
+func AddCygxMorningMeetingReviewLog(itemReq *cygx.CygxMorningMeetingReviewChapter, operate, opUserName string, opUserId int) (mapPvResp, mapUvResp map[int]int) {
+
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go alarm_msg.SendAlarmMsg("添加晨会精华操作日志 失败,AddCygxMorningMeetingReviewLog Err:"+err.Error(), 3)
+		}
+	}()
+
+	item := new(cygx.CygxMorningMeetingReviewLog)
+	item.MeetingTime = itemReq.MeetingTime
+	item.CreateTime = time.Now()
+	item.ModifyTime = time.Now()
+	item.IndustryId = itemReq.IndustryId
+	item.IndustryName = itemReq.IndustryName
+	item.ChartPermissionName = itemReq.ChartPermissionName
+	item.ChartPermissionId = itemReq.ChartPermissionId
+	item.IndustrialSubjectIds = itemReq.IndustrialSubjectIds
+	item.MeetingId = int(itemReq.MeetingId)
+	item.Content = itemReq.Content
+	item.ReportLink = itemReq.ReportLink
+	item.LinkArticleId = itemReq.LinkArticleId
+	item.Title = itemReq.Title
+	//item.Remark = remark
+	item.Operate = operate
+	item.OpUserName = opUserName
+	item.OpUserId = opUserId
+
+	err = cygx.AddCygxMorningMeetingReviewLog(item)
+	return
+}