Преглед изворни кода

fix 群发发送记录人数统计

zoujiajian пре 2 година
родитељ
комит
6403a13f42

+ 3 - 2
netflix-dao/src/main/java/com/cyksj/model/views/CorpMsgBulkTaskSendRecordView.java

@@ -1,6 +1,7 @@
 package com.cyksj.model.views;
 
 import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
 import com.ejlchina.searcher.bean.SearchBean;
 import lombok.Getter;
 import lombok.Setter;
@@ -25,7 +26,7 @@ public class CorpMsgBulkTaskSendRecordView {
 	/**
 	 * 总数
 	 */
-	@DbField("count(cr.id)")
+	@DbIgnore
 	private Integer total;
 
 	/**
@@ -37,7 +38,7 @@ public class CorpMsgBulkTaskSendRecordView {
 	/**
 	 * 未送达
 	 */
-	@DbField("count(if(cr.status != 1,cr.id,null))")
+	@DbIgnore
 	private Integer notSend;
 
 	@DbField("any_value(cmr.created_time)")

+ 5 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/corp/CorpMsgBulkTaskController.java

@@ -16,6 +16,7 @@ import com.cyksj.mapper.manage.coupon.CouponMapper;
 import com.cyksj.model.dto.CornMetaDto;
 import com.cyksj.model.entity.CorpMsgBulkTask;
 import com.cyksj.model.entity.CorpMsgBulkTaskCategory;
+import com.cyksj.model.entity.CorpMsgBulkTaskRecord;
 import com.cyksj.model.entity.CorpTag;
 import com.cyksj.model.excel.ExcelCorpMsgBulkTaskSendRecordData;
 import com.cyksj.model.request.CorpActiveBulkMsg;
@@ -186,6 +187,10 @@ public class CorpMsgBulkTaskController {
 		SearchResult<CorpMsgBulkTaskSendRecordView> search = beanSearcher.search(CorpMsgBulkTaskSendRecordView.class, builder
 				.orderBy(CorpMsgBulkTaskSendRecordView::getCreateTime).desc()
 				.build());
+		search.getDataList().forEach(e -> {
+			e.setTotal(beanSearcher.searchSum(CorpMsgBulkTaskRecord.class, MapUtils.builder().field(CorpMsgBulkTaskRecord::getSendId, e.getSenId()).build(), "total").intValue());
+			e.setNotSend(e.getTotal() - e.getSend());
+		});
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
 	}