From b173d31976fc4731b7c247d4038de92134eba317 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 29 六月 2023 11:42:17 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-report/src/main/java/com/java110/report/cmd/reportCustomComponent/ListReportCustomComponentDataCmd.java | 37 ++++++++++++++++++++++++++++++-------
1 files changed, 30 insertions(+), 7 deletions(-)
diff --git a/service-report/src/main/java/com/java110/report/cmd/reportCustomComponent/ListReportCustomComponentDataCmd.java b/service-report/src/main/java/com/java110/report/cmd/reportCustomComponent/ListReportCustomComponentDataCmd.java
index 0baf935..dbb1b14 100644
--- a/service-report/src/main/java/com/java110/report/cmd/reportCustomComponent/ListReportCustomComponentDataCmd.java
+++ b/service-report/src/main/java/com/java110/report/cmd/reportCustomComponent/ListReportCustomComponentDataCmd.java
@@ -15,20 +15,22 @@
*/
package com.java110.report.cmd.reportCustomComponent;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.ICmdDataFlowContext;
-import com.java110.core.event.cmd.AbstractServiceCmdListener;
+import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.log.LoggerFactory;
import com.java110.dto.PageDto;
-import com.java110.dto.reportCustomComponent.ReportCustomComponentDto;
+import com.java110.dto.reportCustom.ReportCustomComponentDto;
import com.java110.intf.report.IReportCustomComponentV1InnerServiceSMO;
import com.java110.service.smo.IQueryServiceSMO;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -47,11 +49,13 @@
* // modify by 寮犱笁 at 2021-09-12 绗�10琛屽湪鏌愮鍦烘櫙涓嬪瓨鍦ㄦ煇绉峛ug 闇�瑕佷慨澶嶏紝娉ㄩ噴10鑷�20琛� 鍔犲叆 20琛岃嚦30琛�
*/
@Java110Cmd(serviceCode = "reportCustomComponent.listReportCustomComponentData")
-public class ListReportCustomComponentDataCmd extends AbstractServiceCmdListener {
+public class ListReportCustomComponentDataCmd extends Cmd {
private static Logger logger = LoggerFactory.getLogger(ListReportCustomComponentDataCmd.class);
+
@Autowired
private IReportCustomComponentV1InnerServiceSMO reportCustomComponentV1InnerServiceSMOImpl;
+
@Autowired
private IQueryServiceSMO queryServiceSMOImpl;
@@ -64,6 +68,9 @@
@Override
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
+ String storeId = cmdDataFlowContext.getReqHeaders().get("store-id");
+ reqJson.put("storeId", storeId);
//鏌ヨ缁勪欢鏄惁瀛樺湪
ReportCustomComponentDto reportCustomComponentDto = new ReportCustomComponentDto();
@@ -83,8 +90,17 @@
}
private void doDealJava(JSONObject reqJson, ReportCustomComponentDto reportCustomComponentDto, ICmdDataFlowContext cmdDataFlowContext) {
-
-
+ //鏍¢獙鏄惁浼犱簡 鍒嗛〉淇℃伅
+ String javaScript = reportCustomComponentDto.getJavaScript();
+ int page = reqJson.getInteger("page");
+ if (page != PageDto.DEFAULT_PAGE) {
+ reqJson.put("page", (page - 1) * reqJson.getIntValue("row"));
+ }
+ JSONObject data = queryServiceSMOImpl.execJava(reqJson, javaScript);
+ long total = data.getLong("total");
+ ResultVo resultVo = new ResultVo((int) Math.ceil((double) total / (double) reqJson.getInteger("row")), total, data);
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+ cmdDataFlowContext.setResponseEntity(responseEntity);
}
private void doDealSql(JSONObject reqJson, ReportCustomComponentDto reportCustomComponentDto, ICmdDataFlowContext cmdDataFlowContext) {
@@ -101,7 +117,7 @@
}
reqJsonCount.put("count", "1");
JSONObject data = queryServiceSMOImpl.execQuerySql(reqJsonCount, sql);
- total = data.getJSONArray("data").getJSONObject(0).getIntValue("total");
+ total = data.getJSONArray("td").getJSONObject(0).getIntValue("total");
}
reqJson.put("count", "0");
int page = reqJson.getInteger("page");
@@ -109,6 +125,13 @@
reqJson.put("page", (page - 1) * reqJson.getIntValue("row"));
}
JSONObject data = queryServiceSMOImpl.execQuerySql(reqJson, sql);
+ if (!sql.trim().contains("test=\"count")) {
+ total = JSONArray.parseArray(data.getString("td")).size();
+ }
+ if (!StringUtil.isEmpty(sql) && !sql.contains("limit #page#,#row#")) {
+ sql = sql + " limit #page#,#row#";
+ data = queryServiceSMOImpl.execQuerySql(reqJson, sql);
+ }
ResultVo resultVo = new ResultVo((int) Math.ceil((double) total / (double) reqJson.getInteger("row")), total, data);
ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
cmdDataFlowContext.setResponseEntity(responseEntity);
--
Gitblit v1.8.0