Bladeren bron

解决通知公告系统消息查询不到usertype=5内容的问题

zhou.xiaoning 1 jaar geleden
bovenliggende
commit
1392460a0a
1 gewijzigde bestanden met toevoegingen van 23 en 0 verwijderingen
  1. 23 0
      controllers/common/notice.go

+ 23 - 0
controllers/common/notice.go

@@ -134,6 +134,29 @@ func QueryNotice(c *gin.Context) {
 	}
 	rst = append(rst, datas3...)
 
+	// 查询SENDTYPE = 5的数据
+	if userAccount.Usertype == 5 {
+		datas5 := make([]QueryNoticeRsp, 0)
+		s = engine.Where("SENDTYPE = 5 and SYSDATE > SCHEDULETIME and SYSDATE < ENDTIME and SENTSTATUS=1").
+			And("PUBLISHER = ? or PUBLISHER in (select USERACCOUNT.USERID from USERACCOUNT where USERACCOUNT.USERTYPE = 1)", userAccount.Memberuserid)
+		if req.MsgType > 0 {
+			s = s.And("MSGTYPE = ?", req.MsgType)
+		}
+		if req.LastID != 0 {
+			s = s.And("AUTOID > ?", req.LastID)
+		}
+		if req.OnlyUnRead && len(msgReceivers) > 0 {
+			s = s.NotIn("AUTOID", msgReceivers)
+		}
+		if err := s.Find(&datas5); err != nil {
+			// 查询失败
+			logger.GetLogger().Errorf("QueryNotice failed: %s", err.Error())
+			appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
+			return
+		}
+		rst = append(rst, datas5...)
+	}
+
 	// 排序
 	sort.Slice(rst, func(i int, j int) bool {
 		return rst[i].Scheduletime.After(rst[j].Scheduletime)