From c85cb58101a4997d3b6c822f23e817c16f950f50 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期日, 12 五月 2024 00:45:21 +0800
Subject: [PATCH] 优化代码
---
service-api/src/main/java/com/java110/api/configuration/ServiceConfiguration.java | 12 +-
service-job/src/main/java/com/java110/job/cmd/mall/ListProductGroupCmd.java | 37 ++++++
service-job/src/main/java/com/java110/job/cmd/mall/QueryHousekeepingTypeCmd.java | 39 ++++++
service-job/src/main/java/com/java110/job/cmd/mall/QueryShopTypeCmd.java | 44 +++++++
service-job/src/main/java/com/java110/job/mall/SendMallImpl.java | 31 ++++
service-job/src/main/java/com/java110/job/cmd/mall/QueryPhoneMainCategoryProductCmd.java | 38 ++++++
java110-utils/src/main/java/com/java110/utils/util/UrlParamToJsonUtil.java | 21 +++
service-job/src/main/java/com/java110/job/cmd/mall/QueryMainCategoryCmd.java | 38 ++++++
springboot/src/main/java/com/java110/boot/configuration/ServiceConfiguration.java | 10
service-job/src/main/java/com/java110/job/cmd/mall/ListProductSeckillCmd.java | 36 ++++++
10 files changed, 291 insertions(+), 15 deletions(-)
diff --git a/java110-utils/src/main/java/com/java110/utils/util/UrlParamToJsonUtil.java b/java110-utils/src/main/java/com/java110/utils/util/UrlParamToJsonUtil.java
index 206cb38..6aa8a99 100644
--- a/java110-utils/src/main/java/com/java110/utils/util/UrlParamToJsonUtil.java
+++ b/java110-utils/src/main/java/com/java110/utils/util/UrlParamToJsonUtil.java
@@ -3,6 +3,8 @@
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
+import java.net.URLEncoder;
+
public class UrlParamToJsonUtil {
public static JSONObject getJson(String paramStr) {
@@ -30,4 +32,23 @@
}
return obj;
}
+
+ public static String jsonToUrlParam(JSONObject json) {
+ StringBuilder params = new StringBuilder();
+ json.keySet().forEach(key -> {
+ String value = json.getString(key);
+ try {
+ String encodedKey = URLEncoder.encode(key, "UTF-8");
+ String encodedValue = URLEncoder.encode(value, "UTF-8");
+ params.append(encodedKey).append("=").append(encodedValue).append("&");
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ });
+ // 鍒犻櫎鏈�鍚庝竴涓�'&'
+ if (params.length() > 0) {
+ params.deleteCharAt(params.length() - 1);
+ }
+ return params.toString();
+ }
}
diff --git a/service-api/src/main/java/com/java110/api/configuration/ServiceConfiguration.java b/service-api/src/main/java/com/java110/api/configuration/ServiceConfiguration.java
index c66544e..e5404f4 100644
--- a/service-api/src/main/java/com/java110/api/configuration/ServiceConfiguration.java
+++ b/service-api/src/main/java/com/java110/api/configuration/ServiceConfiguration.java
@@ -70,13 +70,13 @@
// exclusions.append("/app/room.queryRooms,");
exclusions.append("/app/room.queryRoomsByApp,");
exclusions.append("/app/productCategory/queryMainCategoryAllGoods,");
- exclusions.append("/app/productCategory/queryMainCategory,");
+ exclusions.append("/app/mall.queryMainCategory,");
- exclusions.append("/app/product.queryPhoneMainCategoryProduct,");
+ exclusions.append("/app/mall.queryPhoneMainCategoryProduct,");
exclusions.append("/app/shop/queryShopCommunity,");
- exclusions.append("/app/shopType/queryShopType,");
- exclusions.append("/app/housekeepingType/queryHousekeepingType,");
+ exclusions.append("/app/mall.queryShopType,");
+ exclusions.append("/app/mall.queryHousekeepingType,");
exclusions.append("/app/couponUser.listCouponUser,");
exclusions.append("/app/machine.customCarInOutCmd,");
exclusions.append("/callComponent/propertyRightRegistration.savePropertyRightRegistration,");
@@ -96,11 +96,11 @@
exclusions.append("/app/reserve.listReserveCatalog,");
exclusions.append("/app/reserve.listReserveGoods,");
exclusions.append("/app/reserve.listReserveParams,");
- exclusions.append("/app/productGroup.listProductGroup,");//鎷煎洟鍟嗗搧
+ exclusions.append("/app/mall.listProductGroup,");//鎷煎洟鍟嗗搧
exclusions.append("/app/product/queryGroupProduct,");//鎷煎洟鍟嗗搧
exclusions.append("/app/product/querySeckillProduct,");//绉掓潃鍟嗗搧
- exclusions.append("/app/productSeckill.listProductSeckill,");//绉掓潃鍟嗗搧
+ exclusions.append("/app/mall.listProductSeckill,");//绉掓潃鍟嗗搧
exclusions.append("/app/system.listRegisterProtocol,");//鏌ヨ娉ㄥ唽淇℃伅
exclusions.append("/app/chargeMachine.listChargeMachine,");//鏌ヨ娉ㄥ唽淇℃伅
exclusions.append("/app/chargeMachine.listChargeMachinePort,");//鏌ヨ鍏呯數妗�
diff --git a/service-job/src/main/java/com/java110/job/cmd/mall/ListProductGroupCmd.java b/service-job/src/main/java/com/java110/job/cmd/mall/ListProductGroupCmd.java
new file mode 100644
index 0000000..747ad29
--- /dev/null
+++ b/service-job/src/main/java/com/java110/job/cmd/mall/ListProductGroupCmd.java
@@ -0,0 +1,37 @@
+package com.java110.job.cmd.mall;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.job.mall.ISendMall;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.UrlParamToJsonUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+
+@Java110Cmd(serviceCode = "mall.listProductGroup")
+public class ListProductGroupCmd extends Cmd {
+
+ @Autowired
+ private ISendMall sendMallImpl;
+ @Override
+ public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+ String mallSwitch = MappingCache.getValue("MALL", "MALL_SWITCH");
+ if (!"ON".equals(mallSwitch)) {
+ throw new CmdException("鍟嗗煄绯荤粺鏈儴缃�");
+ }
+ }
+
+ @Override
+ public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+ String param = UrlParamToJsonUtil.jsonToUrlParam(reqJson);
+ ResultVo resultVo = sendMallImpl.get("/mall/api/productGroup.listProductGroup?" + param);
+
+ context.setResponseEntity(ResultVo.createResponseEntity(resultVo));
+ }
+}
diff --git a/service-job/src/main/java/com/java110/job/cmd/mall/ListProductSeckillCmd.java b/service-job/src/main/java/com/java110/job/cmd/mall/ListProductSeckillCmd.java
new file mode 100644
index 0000000..67f7729
--- /dev/null
+++ b/service-job/src/main/java/com/java110/job/cmd/mall/ListProductSeckillCmd.java
@@ -0,0 +1,36 @@
+package com.java110.job.cmd.mall;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.job.mall.ISendMall;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.UrlParamToJsonUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+
+@Java110Cmd(serviceCode = "mall.listProductSeckill")
+public class ListProductSeckillCmd extends Cmd {
+ @Autowired
+ private ISendMall sendMallImpl;
+ @Override
+ public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+ String mallSwitch = MappingCache.getValue("MALL", "MALL_SWITCH");
+ if (!"ON".equals(mallSwitch)) {
+ throw new CmdException("鍟嗗煄绯荤粺鏈儴缃�");
+ }
+ }
+
+ @Override
+ public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+ String param = UrlParamToJsonUtil.jsonToUrlParam(reqJson);
+ ResultVo resultVo = sendMallImpl.get("/mall/api/productSeckill.listProductSeckill?" + param);
+
+ context.setResponseEntity(ResultVo.createResponseEntity(resultVo));
+ }
+}
diff --git a/service-job/src/main/java/com/java110/job/cmd/mall/QueryHousekeepingTypeCmd.java b/service-job/src/main/java/com/java110/job/cmd/mall/QueryHousekeepingTypeCmd.java
new file mode 100644
index 0000000..a5c3e41
--- /dev/null
+++ b/service-job/src/main/java/com/java110/job/cmd/mall/QueryHousekeepingTypeCmd.java
@@ -0,0 +1,39 @@
+package com.java110.job.cmd.mall;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.job.mall.ISendMall;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.UrlParamToJsonUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+
+
+@Java110Cmd(serviceCode = "mall.queryHousekeepingType")
+public class QueryHousekeepingTypeCmd extends Cmd {
+
+ @Autowired
+ private ISendMall sendMallImpl;
+
+ @Override
+ public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+ String mallSwitch = MappingCache.getValue("MALL", "MALL_SWITCH");
+ if (!"ON".equals(mallSwitch)) {
+ throw new CmdException("鍟嗗煄绯荤粺鏈儴缃�");
+ }
+ }
+
+ @Override
+ public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+ String param = UrlParamToJsonUtil.jsonToUrlParam(reqJson);
+ ResultVo resultVo = sendMallImpl.get("/mall/api/housekeepingType.queryHousekeepingType?" + param);
+
+ context.setResponseEntity(ResultVo.createResponseEntity(resultVo));
+ }
+}
diff --git a/service-job/src/main/java/com/java110/job/cmd/mall/QueryMainCategoryCmd.java b/service-job/src/main/java/com/java110/job/cmd/mall/QueryMainCategoryCmd.java
new file mode 100644
index 0000000..9fbf164
--- /dev/null
+++ b/service-job/src/main/java/com/java110/job/cmd/mall/QueryMainCategoryCmd.java
@@ -0,0 +1,38 @@
+package com.java110.job.cmd.mall;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.job.mall.ISendMall;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.UrlParamToJsonUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+
+@Java110Cmd(serviceCode = "mall.queryMainCategory")
+public class QueryMainCategoryCmd extends Cmd {
+
+ @Autowired
+ private ISendMall sendMallImpl;
+
+ @Override
+ public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+ String mallSwitch = MappingCache.getValue("MALL", "MALL_SWITCH");
+ if (!"ON".equals(mallSwitch)) {
+ throw new CmdException("鍟嗗煄绯荤粺鏈儴缃�");
+ }
+ }
+
+ @Override
+ public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+ String param = UrlParamToJsonUtil.jsonToUrlParam(reqJson);
+ ResultVo resultVo = sendMallImpl.get("/mall/api/productCategory.queryMainCategory?" + param);
+
+ context.setResponseEntity(ResultVo.createResponseEntity(resultVo));
+ }
+}
diff --git a/service-job/src/main/java/com/java110/job/cmd/mall/QueryPhoneMainCategoryProductCmd.java b/service-job/src/main/java/com/java110/job/cmd/mall/QueryPhoneMainCategoryProductCmd.java
new file mode 100644
index 0000000..a408c5e
--- /dev/null
+++ b/service-job/src/main/java/com/java110/job/cmd/mall/QueryPhoneMainCategoryProductCmd.java
@@ -0,0 +1,38 @@
+package com.java110.job.cmd.mall;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.job.mall.ISendMall;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.UrlParamToJsonUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+
+@Java110Cmd(serviceCode = "mall.queryPhoneMainCategoryProduct")
+public class QueryPhoneMainCategoryProductCmd extends Cmd {
+
+ @Autowired
+ private ISendMall sendMallImpl;
+
+ @Override
+ public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+ String mallSwitch = MappingCache.getValue("MALL", "MALL_SWITCH");
+ if (!"ON".equals(mallSwitch)) {
+ throw new CmdException("鍟嗗煄绯荤粺鏈儴缃�");
+ }
+ }
+
+ @Override
+ public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+ String param = UrlParamToJsonUtil.jsonToUrlParam(reqJson);
+ ResultVo resultVo = sendMallImpl.get("/mall/api/product.queryPhoneMainCategoryProduct?" + param);
+
+ context.setResponseEntity(ResultVo.createResponseEntity(resultVo));
+ }
+}
diff --git a/service-job/src/main/java/com/java110/job/cmd/mall/QueryShopTypeCmd.java b/service-job/src/main/java/com/java110/job/cmd/mall/QueryShopTypeCmd.java
new file mode 100644
index 0000000..c15d8a6
--- /dev/null
+++ b/service-job/src/main/java/com/java110/job/cmd/mall/QueryShopTypeCmd.java
@@ -0,0 +1,44 @@
+package com.java110.job.cmd.mall;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.job.mall.ISendMall;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.UrlParamToJsonUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+
+/**
+ * 鏌ヨ鍟嗛摵绫诲瀷
+ */
+@Java110Cmd(serviceCode = "mall.queryShopType")
+public class QueryShopTypeCmd extends Cmd {
+
+ @Autowired
+ private ISendMall sendMallImpl;
+
+ @Override
+ public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+
+ String mallSwitch = MappingCache.getValue("MALL", "MALL_SWITCH");
+ if (!"ON".equals(mallSwitch)) {
+ throw new CmdException("鍟嗗煄绯荤粺鏈儴缃�");
+ }
+ }
+
+ @Override
+ public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+
+ String param = UrlParamToJsonUtil.jsonToUrlParam(reqJson);
+ ResultVo resultVo = sendMallImpl.get("/mall/api/shopType.queryShopType?" + param);
+
+ context.setResponseEntity(ResultVo.createResponseEntity(resultVo));
+ }
+}
diff --git a/service-job/src/main/java/com/java110/job/mall/SendMallImpl.java b/service-job/src/main/java/com/java110/job/mall/SendMallImpl.java
index c4dc7e3..0337b3e 100644
--- a/service-job/src/main/java/com/java110/job/mall/SendMallImpl.java
+++ b/service-job/src/main/java/com/java110/job/mall/SendMallImpl.java
@@ -4,6 +4,8 @@
import com.java110.core.client.RestTemplate;
import com.java110.core.factory.AuthenticationFactory;
import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.core.log.LoggerFactory;
+import com.java110.db.dao.impl.QueryServiceDAOImpl;
import com.java110.dto.machine.MachineTranslateErrorDto;
import com.java110.intf.common.IMachineTranslateErrorInnerServiceSMO;
import com.java110.job.adapt.hcIot.IotConstant;
@@ -14,18 +16,21 @@
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
+import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
+import org.springframework.web.client.HttpStatusCodeException;
import java.util.Date;
import java.util.UUID;
@Service
public class SendMallImpl implements ISendMall {
+ private final static Logger logger = LoggerFactory.getLogger(SendMallImpl.class);
public static final String GET_TOKEN_URL = "/mall/api/login.pcUserLogin";
private static final String DEFAULT_MALL_URL = "https://mall.homecommunity.cn";
@@ -44,9 +49,19 @@
@Override
public ResultVo get(String url) {
- HttpHeaders header = getHeaders(url, "", HttpMethod.POST);
+ url = getUrl(url);
+ HttpHeaders header = getHeaders(url, "", HttpMethod.GET);
HttpEntity<String> httpEntity = new HttpEntity<String>("", header);
- ResponseEntity<String> tokenRes = outRestTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);
+ ResponseEntity<String> tokenRes = null;
+ try {
+ tokenRes = outRestTemplate.exchange(url, HttpMethod.GET, httpEntity, String.class);
+ } catch (HttpStatusCodeException e) {
+ logger.error("璋冪敤寮傚父", e);
+ return new ResultVo(ResultVo.CODE_ERROR, e.getResponseBodyAsString());
+ } catch (Exception e) {
+ logger.error("璋冪敤寮傚父", e);
+ return new ResultVo(ResultVo.CODE_ERROR, e.getMessage());
+ }
String body = tokenRes.getBody();
JSONObject paramOut = JSONObject.parseObject(body);
@@ -59,8 +74,16 @@
url = getUrl(url);
HttpHeaders header = getHeaders(url, paramIn.toJSONString(), HttpMethod.POST);
HttpEntity<String> httpEntity = new HttpEntity<String>(paramIn.toJSONString(), header);
- ResponseEntity<String> tokenRes = outRestTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);
-
+ ResponseEntity<String> tokenRes = null;
+ try {
+ tokenRes = outRestTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);
+ } catch (HttpStatusCodeException e) {
+ logger.error("璋冪敤寮傚父", e);
+ return new ResultVo(ResultVo.CODE_ERROR, e.getResponseBodyAsString());
+ } catch (Exception e) {
+ logger.error("璋冪敤寮傚父", e);
+ return new ResultVo(ResultVo.CODE_ERROR, e.getMessage());
+ }
String body = tokenRes.getBody();
JSONObject paramOut = JSONObject.parseObject(body);
diff --git a/springboot/src/main/java/com/java110/boot/configuration/ServiceConfiguration.java b/springboot/src/main/java/com/java110/boot/configuration/ServiceConfiguration.java
index 184eeb8..e120b27 100644
--- a/springboot/src/main/java/com/java110/boot/configuration/ServiceConfiguration.java
+++ b/springboot/src/main/java/com/java110/boot/configuration/ServiceConfiguration.java
@@ -70,11 +70,11 @@
// exclusions.append("/app/room.queryRooms,");
exclusions.append("/app/room.queryRoomsByApp,");
exclusions.append("/app/productCategory/queryMainCategoryAllGoods,");
- exclusions.append("/app/productCategory/queryMainCategory,");
- exclusions.append("/app/product.queryPhoneMainCategoryProduct,");
+ exclusions.append("/app/mall.queryMainCategory,");
+ exclusions.append("/app/mall.queryPhoneMainCategoryProduct,");
exclusions.append("/app/shop/queryShopCommunity,");
- exclusions.append("/app/shopType/queryShopType,");
- exclusions.append("/app/housekeepingType/queryHousekeepingType,");
+ exclusions.append("/app/mall.queryShopType,");
+ exclusions.append("/app/mall.queryHousekeepingType,");
exclusions.append("/app/couponUser.listCouponUser,");
exclusions.append("/app/machine.customCarInOutCmd,");
exclusions.append("/callComponent/propertyRightRegistration.savePropertyRightRegistration,");
@@ -98,7 +98,7 @@
exclusions.append("/app/product/queryGroupProduct,");//鎷煎洟鍟嗗搧
exclusions.append("/app/product/querySeckillProduct,");//绉掓潃鍟嗗搧
- exclusions.append("/app/productSeckill.listProductSeckill,");//绉掓潃鍟嗗搧
+ exclusions.append("/app/mall.listProductSeckill,");//绉掓潃鍟嗗搧
exclusions.append("/app/system.listRegisterProtocol,");//鏌ヨ娉ㄥ唽淇℃伅
exclusions.append("/app/chargeMachine.listChargeMachine,");//鏌ヨ鍏呯數妗�
exclusions.append("/app/chargeMachine.listChargeMachinePort,");//鏌ヨ鍏呯數妗�
--
Gitblit v1.8.0