瀏覽代碼

雷达数据列表

zoujiajian 2 年之前
父節點
當前提交
4afd12b7a3

+ 42 - 0
netflix-dao/src/main/java/com/cyksj/model/views/CorpInteractiveRadarOrderDataView.java

@@ -0,0 +1,42 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: CorpInteractiveRadarOrderDataView
+ * 创建者: JavaZou
+ * 创建时间:2023/10/24 11:37
+ */
+@Getter
+@Setter
+public class CorpInteractiveRadarOrderDataView {
+
+	private CorpInteractiveRadarOrderData today;
+
+	private CorpInteractiveRadarOrderData history;
+
+	@Getter
+	@Setter
+	@SearchBean(tables = "corp_interactive_radar_user_record cr left join order_don o on o.user_id = cr.user_id and o.status not in ('close','noPayment','refund')",
+			where = ":condition:")
+	public static class CorpInteractiveRadarOrderData{
+		@DbField("count(distinct cr.id)")
+		private Integer click;
+
+		@DbField("count(distinct o.id)")
+		private Integer payNum;
+
+		@DbField("count(distinct cr.user_id)")
+		private Integer clickUserNum;
+
+		@DbField("count(distinct o.user_id)")
+		private Integer payUserNum;
+
+		@DbField("count(distinct if(o.order_type = 2,o.user_id,NULL))")
+		private Integer renewUserNum;
+	}
+}

+ 21 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/corp/CorpInteractiveRadarController.java

@@ -1,5 +1,7 @@
 package com.cyksj.web.controller.manage.corp;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.util.Jsons;
 import com.cyksj.dto.Result;
@@ -7,6 +9,7 @@ import com.cyksj.enums.GatewayResponse;
 import com.cyksj.model.entity.CorpInteractiveRadar;
 import com.cyksj.model.entity.CorpInteractiveRadarUserRecord;
 import com.cyksj.model.entity.CorpInteractiveReaderLink;
+import com.cyksj.model.views.CorpInteractiveRadarOrderDataView;
 import com.cyksj.model.views.CorpInteractiveReaderOrderDetailView;
 import com.cyksj.model.views.CorpInteractiveReaderView;
 import com.cyksj.service.corp.CorpInteractiveRadarService;
@@ -100,4 +103,22 @@ public class CorpInteractiveRadarController {
 		return GatewayResponse.SUCCESS.newBuilder().toResult(detailView);
 	}
 
+
+	/**
+	 * 雷达数据
+	 */
+	@GetMapping("/get/data/{id}")
+	public Result<CorpInteractiveRadarOrderDataView> corpInteractiveRadarOrderDataViewResult(@PathVariable Long id) {
+		CorpInteractiveRadarOrderDataView view = new CorpInteractiveRadarOrderDataView();
+		DateTime beginOfDay = DateUtil.beginOfDay(DateTime.now());
+		String idEq = String.format(" cr.id = %s", id);
+		String conditionSql = String.format(" %s and cr.created_time >= '%s'", idEq, beginOfDay.toString());
+		CorpInteractiveRadarOrderDataView.CorpInteractiveRadarOrderData today = beanSearcher.searchFirst(CorpInteractiveRadarOrderDataView.CorpInteractiveRadarOrderData.class, MapUtils.builder().put("condition", conditionSql).build());
+
+		CorpInteractiveRadarOrderDataView.CorpInteractiveRadarOrderData history = beanSearcher.searchFirst(CorpInteractiveRadarOrderDataView.CorpInteractiveRadarOrderData.class, MapUtils.builder().put("condition", idEq).build());
+
+		view.setToday(today);
+		view.setHistory(history);
+		return GatewayResponse.SUCCESS.newBuilder().toResult(view);
+	}
 }