Commit d3a07f39 by guojx

Merge branch 'feature-2024-05-data-hook' into 'master'

Feature 2024 05 data hook

See merge request !1755
parents a1fc7fbf c7250d20
...@@ -12,7 +12,6 @@ import com.gic.commons.util.DataApiUtils; ...@@ -12,7 +12,6 @@ import com.gic.commons.util.DataApiUtils;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.GlobalVar; import com.gic.commons.util.GlobalVar;
import com.gic.commons.util.HttpClient; import com.gic.commons.util.HttpClient;
import com.gic.commons.util.data.CrossDateUtils;
import com.gic.commons.webapi.reponse.RestResponse; import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.api.dto.EnterpriseSettingDTO; import com.gic.enterprise.api.dto.EnterpriseSettingDTO;
import com.gic.enterprise.api.dto.EnterpriseSourceChannelDTO; import com.gic.enterprise.api.dto.EnterpriseSourceChannelDTO;
...@@ -67,7 +66,11 @@ public class DataController { ...@@ -67,7 +66,11 @@ public class DataController {
List<String> needSelectAllInterface = Stream.of("data_sales_perf_anal_cont_custm_overview", "data_sales_perf_anal_cont_custm_std_overview", List<String> needSelectAllInterface = Stream.of("data_sales_perf_anal_cont_custm_overview", "data_sales_perf_anal_cont_custm_std_overview",
"data_sales_perf_anal_cont_day_overview", "data_sales_perf_anal_cont_month_overview", "data_sales_perf_anal_cont_day_overview", "data_sales_perf_anal_cont_month_overview",
"data_sales_perf_anal_cont_week_overview", "data_sales_perf_anal_cont_year_overview").collect(Collectors.toList()); "data_sales_perf_anal_cont_week_overview", "data_sales_perf_anal_cont_year_overview",
"data_sales_perf_anal_cont_clerk_custm_overview", "data_sales_perf_anal_cont_clerk_day_overview",
"data_sales_perf_anal_cont_clerk_group", "data_sales_perf_anal_cont_clerk_group_std",
"data_sales_perf_anal_cont_clerk_month_overview", "data_sales_perf_anal_cont_clerk_week_overview",
"data_sales_perf_anal_cont_clerk_year_overview").collect(Collectors.toList());
private String isProd() { private String isProd() {
Config config = ConfigService.getConfig("COMMON.gic-properties"); Config config = ConfigService.getConfig("COMMON.gic-properties");
...@@ -322,6 +325,141 @@ public class DataController { ...@@ -322,6 +325,141 @@ public class DataController {
} }
/** /**
* 导购非实时销售数据
* @param qo
* @return
*/
@RequestMapping(value = "get-clerk-sales-data")
@ResponseBody
public RestResponse getClerkSalesData(@RequestBody ClerkDataDateSelectQO qo) {
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(qo.getApiParam());
jsonObject.put("clerkId", qo.getClerkId());
return handle(getHandel(qo, qo.getApolloKeyByType(), jsonObject.toJSONString()));
}
/**
* 店长/导购销售明细
* data_sales_perf_anal_cont_clerk_group
* @param qo
* @return
*/
// @RequestMapping(value = "get-clerk-group-data")
// @ResponseBody
// public RestResponse getClerkGroupData(@RequestBody ClerkGroupDataQO qo) {
// return handle(getHandel(qo, "data_sales_perf_anal_cont_clerk_group",
// JSONObject.toJSONString(qo.getApiParam())));
// }
/**
* 店长/导购实时销售数据
* data_sales_perf_real_time_overview
* @param qo
* @return
*/
@RequestMapping(value = "get-real-time-sales-data")
@ResponseBody
public RestResponse getRelaTimeSalesData(@RequestBody StoreRealTimeSalesQO qo) {
return handle(getHandel(qo, "data_sales_perf_real_time_overview",
JSONObject.toJSONString(qo.getApiParam())));
}
/**
* 店长非实时销售数据
* @param qo
* @return
*/
@RequestMapping(value = "get-store-sales-data")
@ResponseBody
public RestResponse getStoreSales(@RequestBody StoreSalesDataQO qo) {
return handle(getHandel(qo, qo.getApolloKeyByType(),
JSONObject.toJSONString(qo.getApiParam())));
}
/**
* 店长非实时新增会员数据
* 1:data_mbr_scale_stat_new_day_overview
* 2:data_mbr_scale_stat_new_week_overview
* 3:data_mbr_scale_stat_new_month_overview
* 4:data_mbr_scale_stat_new_year_overview
* 5:data_mbr_scale_stat_new_custm_overview
* @param qo
* @return
*/
@RequestMapping(value = "get-store-new-member-data")
@ResponseBody
public RestResponse getStoreMemberData(@RequestBody StoreNewMemberDataQO qo) {
return handle(getHandel(qo, qo.getApolloKeyByType(),
JSONObject.toJSONString(qo.getApiParam())));
}
/**
* 店长/导购会员数据
* 1:data_mbr_scale_stat_clerk_overview
* 2:data_mbr_scale_stat_week_clerk_overview
* 3:data_mbr_scale_stat_month_clerk_overview
* 4:data_mbr_scale_stat_year_clerk_overview
* 5:data_mbr_scale_stat_custm_clerk_overview
* @param qo
* @return
*/
// @RequestMapping(value = "get-store-clerk-member-data")
// @ResponseBody
// public RestResponse getClerkMemberData(@RequestBody StoreMemberDataQO qo) {
// return handle(getHandel(qo, qo.getApolloKeyByType(),JSONObject.toJSONString(qo.getApiParam())));
// }
/**
* 店长总会员数据
* 1:data_mbr_scale_stat_sum_overview
* 2:data_mbr_scale_stat_main_sum_overview
* @param qo
* @return
*/
@RequestMapping(value = "get-store-sum-member-data")
@ResponseBody
public RestResponse getStoreSumMemberData(@RequestBody StoreSumMemberDataQO qo) {
return handle(getHandel(qo, qo.getApolloKeyByType(),JSONObject.toJSONString(qo.getApiParam())));
}
/**
* 导购非实时新增会员数据
* 1:data_mbr_scale_stat_new_day_clerk_overview
* 2:data_mbr_scale_stat_new_week_clerk_overview
* 3:data_mbr_scale_stat_new_month_clerk_overview
* 4:data_mbr_scale_stat_new_year_overview
* 5:data_mbr_scale_stat_new_custm_clerk_overview
* @param qo
* @return
*/
@RequestMapping(value = "get-clerk-new-member-data")
@ResponseBody
public RestResponse getClerkNewMemberData(@RequestBody ClerkNewMemberDataQO qo) {
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(qo.getApiParam());
jsonObject.put("clerkId", qo.getClerkId());
return handle(getHandel(qo, qo.getApolloKeyByType(), jsonObject.toJSONString()));
}
/**
* 店长实时会员数据
* 1:data_mbr_scale_real_time_rel_overview
* 2:data_mbr_scale_real_time_opencard_overview
* @param qo
* @return
*/
@RequestMapping(value = "get-store-real-time-member-data")
@ResponseBody
public RestResponse getStoreRealTimeMemberData(@RequestBody StoreRealTimeMemberQO qo) {
return handle(getHandel(qo, qo.getApolloKeyByType(), JSONObject.toJSONString(qo)));
}
private static HandleQO getHandel(CommonQO commonQO, String apolloKey, String params) {
HandleQO handleQO = EntityUtil.changeEntityNew(HandleQO.class, commonQO);
handleQO.setApolloKey(apolloKey);
handleQO.setParams(params);
return handleQO;
}
/**
* 数据统一调用接口 * 数据统一调用接口
* 参数与返回字段查询数据组的yapi的对应文档 * 参数与返回字段查询数据组的yapi的对应文档
* @param qo * @param qo
......
...@@ -145,6 +145,11 @@ public class GlobalExceptionHandler extends WebBaseController { ...@@ -145,6 +145,11 @@ public class GlobalExceptionHandler extends WebBaseController {
@ExceptionHandler(DataApiException.class) @ExceptionHandler(DataApiException.class)
public HaobanResponse dataApiException(HttpServletResponse response, DataApiException ex) { public HaobanResponse dataApiException(HttpServletResponse response, DataApiException ex) {
logger.info("DataApiException异常信息", ex); logger.info("DataApiException异常信息", ex);
return resultResponse(HaoBanErrCode.ERR_3); HaobanResponse res = new HaobanResponse();
res.setMessage(ex.getMessage());
res.setErrorCode(666);
res.setResult(null);
res.setDetailError(ex.getMessage());
return res;
} }
} }
package com.gic.haoban.manage.web.qo.data;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/29 14:34
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class ClerkDataDateSelectQO extends CommonQO implements Serializable {
private StoreSalesApiQO apiParam;
/**
* 1:data_sales_perf_anal_cont_clerk_day_overview
* 2:data_sales_perf_anal_cont_clerk_week_overview
* 3:data_sales_perf_anal_cont_clerk_month_overview
* 4:data_sales_perf_anal_cont_clerk_year_overview
* 5:data_sales_perf_anal_cont_clerk_custm_overview
*/
private Integer apiNameType;
public String getApolloKeyByType() {
if (apiNameType == null) {
apiNameType = 1;
}
switch (apiNameType) {
case 2:
return "data_sales_perf_anal_cont_clerk_week_overview";
case 3:
return "data_sales_perf_anal_cont_clerk_month_overview";
case 4:
return "data_sales_perf_anal_cont_clerk_year_overview";
case 5 :
return "data_sales_perf_anal_cont_clerk_custm_overview";
default:
return "data_sales_perf_anal_cont_clerk_day_overview";
}
}
}
package com.gic.haoban.manage.web.qo.data;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/29 14:34
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class ClerkGroupDataQO extends CommonQO implements Serializable {
private StoreSalesGroupApiQO apiParam;
}
package com.gic.haoban.manage.web.qo.data;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/30 10:29
*/
@Data
public class ClerkNewMemberApiQO implements Serializable {
private String storeId;
/**
* 1 合计 2趋势图
*/
private Integer storeGroup;
/**
* 业务日期开始时间
*/
private String startDate;
/**
* 业务日期结束时间
*/
private String endDate;
private String bizDate;
}
package com.gic.haoban.manage.web.qo.data;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/30 10:29
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class ClerkNewMemberDataQO extends CommonQO implements Serializable {
private ClerkNewMemberApiQO apiParam;
/**
* 1:data_mbr_scale_stat_new_day_clerk_overview
* 2:data_mbr_scale_stat_new_week_clerk_overview
* 3:data_mbr_scale_stat_new_month_clerk_overview
* 4:data_mbr_scale_stat_new_year_overview
* 5:data_mbr_scale_stat_new_custm_clerk_overview
*/
private Integer apiNameType;
public String getApolloKeyByType() {
if (apiNameType == null) {
apiNameType = 1;
}
switch (apiNameType) {
case 2:
return "data_mbr_scale_stat_new_week_clerk_overview";
case 3:
return "data_mbr_scale_stat_new_month_clerk_overview";
case 4:
return "data_mbr_scale_stat_new_year_overview";
case 5 :
return "data_mbr_scale_stat_new_custm_clerk_overview";
default:
return "data_mbr_scale_stat_new_day_clerk_overview";
}
}
}
package com.gic.haoban.manage.web.qo.data;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/29 15:27
*/
@Data
public class CommonQO implements Serializable {
/**
* 门店查询参数. 区经可以为空,查询所有管辖门店
*/
private String storeId;
/**
* 企业ID.
*/
private String enterpriseId;
/**
* 微信企业
*/
private String wxEnterpriseId;
/**
* 如果是区经,用于查询管辖门店权限
*/
private String clerkId;
}
...@@ -9,7 +9,7 @@ import java.io.Serializable; ...@@ -9,7 +9,7 @@ import java.io.Serializable;
* @Date 2023/11/23 9:13 * @Date 2023/11/23 9:13
*/ */
@Data @Data
public class HandleQO implements Serializable { public class HandleQO extends CommonQO implements Serializable {
/** /**
* 组装的参数,JSON字符串.数据组提供的yapi文档上有. * 组装的参数,JSON字符串.数据组提供的yapi文档上有.
...@@ -21,24 +21,4 @@ public class HandleQO implements Serializable { ...@@ -21,24 +21,4 @@ public class HandleQO implements Serializable {
* 数据组配置的接口key。数据组提供的yapi文档上有 * 数据组配置的接口key。数据组提供的yapi文档上有
*/ */
private String apolloKey; private String apolloKey;
/**
* 门店查询参数. 区经可以为空,查询所有管辖门店
*/
private String storeId;
/**
* 企业ID.
*/
private String enterpriseId;
/**
* 微信企业
*/
private String wxEnterpriseId;
/**
* 如果是区经,用于查询管辖门店权限
*/
private String clerkId;
} }
package com.gic.haoban.manage.web.qo.data;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/30 10:29
*/
@Data
public class StoreClerkRealTimeMemberApiQO implements Serializable {
private Integer pageNum;
/**
* 如果是导购,需要传,店长不传
*/
private String clerkId;
private Integer pageSize;
private String storeId;
/**
* 渠道类型
*/
private String channelCode;
/**
* 聚合类型:9 导购维度聚合 10 导购+渠道维度聚合
*/
private Integer groupType;
/**
* 排序字段:1 新增开卡会员 2 新增开卡会员(昨日)
*/
private Integer orderByFields;
/**
* 排序类型 1 升序 2 降序
*/
private Integer orderByType;
}
package com.gic.haoban.manage.web.qo.data;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/30 10:39
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class StoreClerkRealTimeMemberQO extends CommonQO implements Serializable {
private StoreClerkRealTimeMemberApiQO apiParam;
}
package com.gic.haoban.manage.web.qo.data;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/30 10:29
*/
@Data
public class StoreMemberApiQO implements Serializable {
private Integer pageNum;
/**
* 如果是导购,需要传,店长不传
*/
private String clerkId;
private Integer pageSize;
private String storeId;
/**
* 1会员总数开卡导购 2会员总数服务导购 3新增开卡会员数
*/
private Integer orderByFields;
/**
* 排序类型 1 升序 2 降序
*/
private Integer orderByType;
/**
* 业务日期开始时间
*/
private String startDate;
/**
* 业务日期结束时间
*/
private String endDate;
/**
* 聚合维度 8 合计 9 导购维度
*/
private Integer groupType;
}
package com.gic.haoban.manage.web.qo.data;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/30 10:29
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class StoreMemberDataQO extends CommonQO implements Serializable {
private StoreMemberApiQO apiParam;
/**
* 1:data_mbr_scale_stat_clerk_overview
* 2:data_mbr_scale_stat_week_clerk_overview
* 3:data_mbr_scale_stat_month_clerk_overview
* 4:data_mbr_scale_stat_year_clerk_overview
* 5:data_mbr_scale_stat_custm_clerk_overview
*/
private Integer apiNameType;
public String getApolloKeyByType() {
if (apiNameType == null) {
apiNameType = 1;
}
switch (apiNameType) {
case 2:
return "data_mbr_scale_stat_week_clerk_overview";
case 3:
return "data_mbr_scale_stat_month_clerk_overview";
case 4:
return "data_mbr_scale_stat_year_clerk_overview";
case 5 :
return "data_mbr_scale_stat_custm_clerk_overview";
default:
return "data_mbr_scale_stat_clerk_overview";
}
}
}
package com.gic.haoban.manage.web.qo.data;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/30 10:29
*/
@Data
public class StoreNewMemberApiQO implements Serializable {
private String storeId;
/**
* 渠道类型
*/
private String mbrChannel;
/**
* 1 企业维度 2单周期维度 3渠道维度 4渠道单周期
*/
private Integer storeGroup;
/**
* 业务日期开始时间
*/
private String startDate;
/**
* 业务日期结束时间
*/
private String endDate;
/**
* 自定义类型才有:业务日期相差天数
*/
private Integer days;
/**
* 时间
*/
private String bizDate;
}
package com.gic.haoban.manage.web.qo.data;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/30 10:29
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class StoreNewMemberDataQO extends CommonQO implements Serializable {
private StoreNewMemberApiQO apiParam;
/**
* 1:data_mbr_scale_stat_new_day_overview
* 2:data_mbr_scale_stat_new_week_overview
* 3:data_mbr_scale_stat_new_month_overview
* 4:data_mbr_scale_stat_new_year_overview
* 5:data_mbr_scale_stat_new_custm_overview
*/
private Integer apiNameType;
public String getApolloKeyByType() {
if (apiNameType == null) {
apiNameType = 1;
}
switch (apiNameType) {
case 2:
return "data_mbr_scale_stat_new_week_overview";
case 3:
return "data_mbr_scale_stat_new_month_overview";
case 4:
return "data_mbr_scale_stat_new_year_overview";
case 5 :
return "data_mbr_scale_stat_new_custm_overview";
default:
return "data_mbr_scale_stat_new_day_overview";
}
}
}
package com.gic.haoban.manage.web.qo.data;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/30 10:39
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class StoreRealTimeMemberQO extends CommonQO implements Serializable {
/**
* 1:data_mbr_scale_real_time_rel_overview
* 2:data_mbr_scale_real_time_opencard_overview
*/
private Integer apiNameType;
public String getApolloKeyByType() {
if (apiNameType == null) {
apiNameType = 1;
}
switch (apiNameType) {
case 2:
return "data_mbr_scale_real_time_opencard_overview";
default:
return "data_mbr_scale_real_time_rel_overview";
}
}
}
package com.gic.haoban.manage.web.qo.data;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/29 15:29
*/
@Data
public class StoreRealTimeSalesApiQO implements Serializable {
private String storeId;
/**
* 渠道类型
*/
private String orderChannel;
/**
* 1 企业维度 2渠道维度
*/
private Integer storeGroup;
/**
* 店长不用传,导购需要
*/
private String clerkId;
}
package com.gic.haoban.manage.web.qo.data;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/29 16:56
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class StoreRealTimeSalesQO extends CommonQO implements Serializable {
private StoreRealTimeSalesApiQO apiParam;
}
package com.gic.haoban.manage.web.qo.data;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/29 15:29
*/
@Data
public class StoreSalesApiQO implements Serializable {
private String storeId;
/**
* 渠道类型
*/
private String orderChannel;
/**
* 是否会员 1是 0否 2 会员加非会员
*/
private Integer isMbr;
/**
* 1 企业维度(全渠道) 2 渠道维度 3 渠道单周期维度(用于趋势图) 4 企业单周期维度(用于趋势图)
*/
private Integer storeGroup;
/**
* 业务日期开始时间
*/
private String startDate;
/**
* 时间
*/
private String bizDate;
/**
* 业务日期结束时间
*/
private String endDate;
/**
* 自定义类型才有:业务日期相差天数
*/
private Integer days;
}
package com.gic.haoban.manage.web.qo.data;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/29 15:26
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class StoreSalesDataQO extends CommonQO implements Serializable {
private StoreSalesApiQO apiParam;
/**
* 1:data_sales_perf_anal_cont_day_overview
* 2:data_sales_perf_anal_cont_week_overview
* 3:data_sales_perf_anal_cont_month_overview
* 4:data_sales_perf_anal_cont_year_overview
* 5:data_sales_perf_anal_cont_custm_overview
*/
private Integer apiNameType;
public String getApolloKeyByType() {
if (apiNameType == null) {
apiNameType = 1;
}
switch (apiNameType) {
case 2:
return "data_sales_perf_anal_cont_week_overview";
case 3:
return "data_sales_perf_anal_cont_month_overview";
case 4:
return "data_sales_perf_anal_cont_year_overview";
case 5 :
return "data_sales_perf_anal_cont_custm_overview";
default:
return "data_sales_perf_anal_cont_day_overview";
}
}
}
package com.gic.haoban.manage.web.qo.data;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/29 15:29
*/
@Data
public class StoreSalesGroupApiQO implements Serializable {
private Integer pageNum;
/**
* 如果是导购,需要传,店长不传
*/
private String clerkId;
private Integer pageSize;
private String storeId;
/**
* 渠道类型
*/
private String orderChannel;
/**
* 1 企业维度(全渠道) 2 渠道维度 3 渠道单周期维度(用于趋势图) 4 企业单周期维度(用于趋势图)
*/
private Integer storeGroup;
/**
* 业务日期开始时间
*/
private String startDate;
/**
* 业务日期结束时间
*/
private String endDate;
/**
* 业务日期
*/
private String bizDate;
/**
* 排序类型 1正序 2到序
*/
private Integer orderByType;
/**
* 排序字段序号
*/
private Integer orderByFields;
/**
* 时间类型 1:日 2: 周 3:月 4:自定义 5:年
*/
private Integer dateType;
}
package com.gic.haoban.manage.web.qo.data;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/30 10:29
*/
@Data
public class StoreSumMemberApiQO implements Serializable {
private String storeId;
/**
* 渠道类型
*/
private String mbrChannel;
}
package com.gic.haoban.manage.web.qo.data;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2024/4/30 10:29
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class StoreSumMemberDataQO extends CommonQO implements Serializable {
private StoreSumMemberApiQO apiParam;
/**
* 1:data_mbr_scale_stat_sum_overview
* 2:data_mbr_scale_stat_main_sum_overview
*/
private Integer apiNameType;
public String getApolloKeyByType() {
if (apiNameType == null) {
apiNameType = 1;
}
switch (apiNameType) {
case 2:
return "data_mbr_scale_stat_main_sum_overview";
default:
return "data_mbr_scale_stat_sum_overview";
}
}
}
package com.gic.haoban.manage.web.utils;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* @Author guojx
* @Date 2024/1/4 16:05
*/
@Slf4j
public class RequestParamUtils {
public static boolean isJson(String params) {
try {
JSONObject.parseObject(params);
return true;
} catch (Exception e) {
return false;
}
}
public static String getJsonParam(HttpServletRequest request) {
StringBuilder stringBuilder = new StringBuilder();
BufferedReader bufferedReader = null;
try {
InputStream inputStream = request.getInputStream();
if (inputStream != null) {
bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
char[] charBuffer = new char[128];
int bytesRead = -1;
while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
stringBuilder.append(charBuffer, 0, bytesRead);
}
}
} catch (IOException ex) {
log.warn("获取JSON参数错误:{}", ex.getMessage(), ex);
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException ex) {
log.warn("关闭读取流错误:{}", ex.getMessage(), ex);
}
}
}
return stringBuilder.toString();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment