From 3c54729c87284a7e6eba630d552ee6e66e8eeaa5 Mon Sep 17 00:00:00 2001
From: 15856 <15856818120@163.com>
Date: Mon, 29 Jul 2024 09:29:39 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BB=93=E5=82=A8=E6=8E=A8=E9=80=81=E5=88=B0?=
=?UTF-8?q?=E7=A7=9F=E8=B5=81=E5=B9=B3=E5=8F=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../sgzb/auth/controller/TokenController.java | 4 +-
sgzb-common/sgzb-common-core/pom.xml | 4 ++
.../common/core/exception/ExceptionDict.java | 44 +++++++++++++
.../sgzb/common/core/utils/HttpHelper.java | 28 ++++++++
.../sgzb/common/core}/utils/RsaUtil.java | 2 +-
.../base/controller/MaMachineController.java | 12 ++++
.../sgzb/base/service/MaMachineService.java | 3 +
.../service/impl/MaMachineServiceImpl.java | 65 ++++++++++++++++++-
.../impl/ScrapApplyDetailsServiceImpl.java | 3 +-
.../service/impl/ToDoServiceImpl.java | 14 +---
10 files changed, 162 insertions(+), 17 deletions(-)
create mode 100644 sgzb-common/sgzb-common-core/src/main/java/com/bonus/sgzb/common/core/exception/ExceptionDict.java
create mode 100644 sgzb-common/sgzb-common-core/src/main/java/com/bonus/sgzb/common/core/utils/HttpHelper.java
rename {sgzb-auth/src/main/java/com/bonus/sgzb/auth => sgzb-common/sgzb-common-core/src/main/java/com/bonus/sgzb/common/core}/utils/RsaUtil.java (99%)
diff --git a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/controller/TokenController.java b/sgzb-auth/src/main/java/com/bonus/sgzb/auth/controller/TokenController.java
index eefaf2be..8f326c8e 100644
--- a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/controller/TokenController.java
+++ b/sgzb-auth/src/main/java/com/bonus/sgzb/auth/controller/TokenController.java
@@ -6,12 +6,10 @@ import javax.servlet.http.HttpServletRequest;
import com.bonus.sgzb.auth.form.*;
import com.bonus.sgzb.auth.service.NwRegisterService;
import com.bonus.sgzb.auth.service.NwUserLoginService;
-import com.bonus.sgzb.auth.utils.RsaUtil;
import com.bonus.sgzb.common.core.constant.CacheConstants;
-import com.bonus.sgzb.common.core.constant.Constants;
import com.bonus.sgzb.common.core.exception.ServiceException;
import com.bonus.sgzb.common.core.utils.GlobalConstants;
-import com.bonus.sgzb.common.core.constant.Constants;
+import com.bonus.sgzb.common.core.utils.RsaUtil;
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.common.redis.service.RedisService;
import com.bonus.sgzb.system.api.RemoteUserService;
diff --git a/sgzb-common/sgzb-common-core/pom.xml b/sgzb-common/sgzb-common-core/pom.xml
index c931877c..aeae7f55 100644
--- a/sgzb-common/sgzb-common-core/pom.xml
+++ b/sgzb-common/sgzb-common-core/pom.xml
@@ -119,6 +119,10 @@
org.projectlombok
lombok
+
+ org.apache.httpcomponents
+ httpclient
+
diff --git a/sgzb-common/sgzb-common-core/src/main/java/com/bonus/sgzb/common/core/exception/ExceptionDict.java b/sgzb-common/sgzb-common-core/src/main/java/com/bonus/sgzb/common/core/exception/ExceptionDict.java
new file mode 100644
index 00000000..cd4cbe17
--- /dev/null
+++ b/sgzb-common/sgzb-common-core/src/main/java/com/bonus/sgzb/common/core/exception/ExceptionDict.java
@@ -0,0 +1,44 @@
+package com.bonus.sgzb.common.core.exception;
+
+public class ExceptionDict {
+
+ // 参数不合法
+ public static final Integer PARAM_VALUE_IS_ERROR = 50000;
+ public static final String PARAM_VALUE_IS_ERROR_MSG = "参数不合法";
+
+ // 参数为空异常提示code,msg
+ public static final Integer PARAM_IS_NULL_ERROR = 50001;
+ public static final String PARAM_IS_NULL_ERROR_MSG = "参数%s不能为空";
+
+ // 参数为空异常提示code,msg
+ public static final Integer NEW_AGREEMENT_SETTLEMENT_ERROR = 50002;
+ public static final String NEW_AGREEMENT_SETTLEMENT_ERROR_MSG = "新增协议结算记录失败";
+
+ public static final Integer SETTLEMENT_REVIEW_ERROR = 50003;
+ public static final String SETTLEMENT_REVIEW_ERROR_MSG = "结算审核失败";
+
+ public static final Integer NEW_SETTLEMENT_NUMBER_ERROR = 50004;
+ public static final String NEW_SETTLEMENT_NUMBER_ERROR_MSG = "新增结算单号失败";
+
+ public static final Integer TASK_ID_IS_EMPTY = 50005;
+ public static final String TASK_ID_IS_EMPTY_MSG = "任务taskId为空!!";
+
+ public static final Integer BINDING_USER_IS_EMPTY = 50006;
+ public static final String BINDING_USER_IS_EMPTY_MSG = "绑定用户为空!!";
+
+ public static final Integer TASK_IS_EMPTY = 50007;
+ public static final String TASK_IS_EMPTY_MSG = "获取预报废任务为空";
+
+ public static final Integer TASK_DETAILS_IS_EMPTY = 50008;
+ public static final String TASK_DETAILS_IS_EMPTY_MSG = "获取报废任务详细为空";
+
+ public static final Integer ERROR_OCCURRED_DURING_SCRAP_TASK_REVIEW = 50009;
+ public static final String ERROR_OCCURRED_DURING_SCRAP_TASK_REVIEW_MSG = "报废任务审核失败!";
+
+
+ public static void main(String[] args) {
+
+ System.out.println(String.format(ExceptionDict.PARAM_IS_NULL_ERROR_MSG,"name"));
+ }
+
+}
diff --git a/sgzb-common/sgzb-common-core/src/main/java/com/bonus/sgzb/common/core/utils/HttpHelper.java b/sgzb-common/sgzb-common-core/src/main/java/com/bonus/sgzb/common/core/utils/HttpHelper.java
new file mode 100644
index 00000000..b576b97b
--- /dev/null
+++ b/sgzb-common/sgzb-common-core/src/main/java/com/bonus/sgzb/common/core/utils/HttpHelper.java
@@ -0,0 +1,28 @@
+package com.bonus.sgzb.common.core.utils;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
+
+public class HttpHelper {
+
+ public static String sendHttpPost(String url, String JSONBody) throws Exception {
+
+ System.err.println("JSONBody-=========:" + JSONBody);
+ CloseableHttpClient httpClient = HttpClients.createDefault();
+ HttpPost httpPost = new HttpPost(url);
+ httpPost.addHeader("Content-Type", "application/json");
+ httpPost.setEntity(new StringEntity(JSONBody));
+ CloseableHttpResponse response = httpClient.execute(httpPost);
+ HttpEntity entity = response.getEntity();
+ String responseContent = EntityUtils.toString(entity, "UTF-8");
+ response.close();
+ httpClient.close();
+ return responseContent;
+ }
+
+}
\ No newline at end of file
diff --git a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/utils/RsaUtil.java b/sgzb-common/sgzb-common-core/src/main/java/com/bonus/sgzb/common/core/utils/RsaUtil.java
similarity index 99%
rename from sgzb-auth/src/main/java/com/bonus/sgzb/auth/utils/RsaUtil.java
rename to sgzb-common/sgzb-common-core/src/main/java/com/bonus/sgzb/common/core/utils/RsaUtil.java
index d2d8f78c..3369a857 100644
--- a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/utils/RsaUtil.java
+++ b/sgzb-common/sgzb-common-core/src/main/java/com/bonus/sgzb/common/core/utils/RsaUtil.java
@@ -1,4 +1,4 @@
-package com.bonus.sgzb.auth.utils;
+package com.bonus.sgzb.common.core.utils;
import javax.crypto.Cipher;
import java.security.KeyFactory;
diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/MaMachineController.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/MaMachineController.java
index 2c351410..6017da7d 100644
--- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/MaMachineController.java
+++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/controller/MaMachineController.java
@@ -117,4 +117,16 @@ public class MaMachineController extends BaseController {
{
return success(maMachineService.selectMaMachineByMaId(maId));
}
+
+ /**
+ * 把设备推送到租赁平台
+ */
+ @Log(title = "把设备推送到租赁平台", businessType = BusinessType.QUERY)
+ @ApiOperation(value = "把设备推送到租赁平台")
+ @PostMapping("/pushNotifications")
+ public AjaxResult pushNotifications(@RequestBody List maMachineList)
+ {
+ logger.info("MaMachineController pushNotifications 装备推送入口====");
+ return maMachineService.pushNotifications(maMachineList);
+ }
}
diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/MaMachineService.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/MaMachineService.java
index d48f15b1..c8b9af33 100644
--- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/MaMachineService.java
+++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/MaMachineService.java
@@ -1,6 +1,7 @@
package com.bonus.sgzb.base.service;
import com.bonus.sgzb.base.api.domain.MaMachine;
+import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import java.util.List;
@@ -22,4 +23,6 @@ public interface MaMachineService {
public MaMachine selectMaMachineByMaId(Long maId);
MaMachine getMachineByQrCode(MaMachine maMachine);
+
+ AjaxResult pushNotifications(List maMachineList);
}
diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaMachineServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaMachineServiceImpl.java
index 7d9744e1..f8a65349 100644
--- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaMachineServiceImpl.java
+++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/service/impl/MaMachineServiceImpl.java
@@ -1,25 +1,37 @@
package com.bonus.sgzb.base.service.impl;
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+
import com.bonus.sgzb.base.api.domain.MaMachine;
import com.bonus.sgzb.base.api.domain.MaType;
import com.bonus.sgzb.base.api.domain.MaLabelBind;
import com.bonus.sgzb.base.api.domain.SltAgreementApply;
-import com.bonus.sgzb.base.domain.BmProjectLot;
import com.bonus.sgzb.base.domain.MaPropSet;
import com.bonus.sgzb.base.mapper.MaLabelBindMapper;
import com.bonus.sgzb.base.mapper.MaMachineMapper;
import com.bonus.sgzb.base.mapper.MaPropInfoMapper;
import com.bonus.sgzb.base.mapper.MaTypeMapper;
import com.bonus.sgzb.base.service.MaMachineService;
+import com.bonus.sgzb.common.core.constant.Constants;
+import com.bonus.sgzb.common.core.exception.ExceptionDict;
import com.bonus.sgzb.common.core.exception.ServiceException;
+import com.bonus.sgzb.common.core.utils.HttpHelper;
+import com.bonus.sgzb.common.core.utils.RsaUtil;
+import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.common.security.utils.SecurityUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+@Slf4j
@Service
public class MaMachineServiceImpl implements MaMachineService {
@@ -35,6 +47,8 @@ public class MaMachineServiceImpl implements MaMachineService {
@Resource
private MaPropInfoMapper maPropInfoMapper;
+ @Value("${zlptUrl}")
+ private String zlptUrl;
@Override
public List getMaMachine(MaMachine maMachine) {
@@ -152,4 +166,53 @@ public class MaMachineServiceImpl implements MaMachineService {
}
return ma;
}
+
+ @Override
+ public AjaxResult pushNotifications(List maMachineList) {
+ log.info("MaMachineServiceImpl pushNotifications 开始处理设备推送逻辑==={}",maMachineList);
+ if (maMachineList.isEmpty()){
+ throw new ServiceException(String.format(ExceptionDict.PARAM_IS_NULL_ERROR_MSG,"maMachineList"), ExceptionDict.PARAM_IS_NULL_ERROR);
+ }
+ //遍历推送,防止数据量过大
+ String content = JSONObject.toJSONString(maMachineList);
+ String encrypt;
+ try {
+ encrypt = RsaUtil.encryptByPublicKey(content, Constants.publicKey);
+ /* Map map = new HashMap();
+ map.put("body", encrypt);
+ String body = JSONObject.toJSONString(map);*/
+ String data = HttpHelper.sendHttpPost(zlptUrl, encrypt);
+ System.err.println("dataString-=========:" + data);
+ //对返回的结果进行处理
+ resultDataHandler(data);
+
+ } catch (Exception e) {
+ // throw new RuntimeException(e);
+ return AjaxResult.success("请求成功!");
+ }
+ return null;
+ }
+
+ private void resultDataHandler(String data) throws Exception {
+ JSONObject object = JSONObject.parseObject(data);
+ System.err.println(data);
+ String code = object.getString("code");
+ if ("200".equals(code)) {
+ String dataResultString = object.getString("data");
+ // 数据解密
+ String dataArrayString = RsaUtil.decryptByPrivateKey(dataResultString, Constants.publicKey);
+ log.info("dataArrayString-=========:" + dataArrayString);
+ JSONArray dataArray = JSONArray.parseArray(dataArrayString);
+ if (dataArray != null && dataArray.size() > 0) {
+
+ }else {
+
+ }
+
+ } else {
+
+
+ }
+
+ }
}
diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ScrapApplyDetailsServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ScrapApplyDetailsServiceImpl.java
index 69506db2..4a75fe4a 100644
--- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ScrapApplyDetailsServiceImpl.java
+++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ScrapApplyDetailsServiceImpl.java
@@ -13,12 +13,13 @@ import com.bonus.sgzb.common.core.enums.ReviewStatusEnum;
import com.bonus.sgzb.common.core.enums.ScrapSourceEnum;
import com.bonus.sgzb.common.core.enums.TaskStatusEnum;
import com.bonus.sgzb.common.core.enums.TaskTypeEnum;
+import com.bonus.sgzb.common.core.exception.ExceptionDict;
import com.bonus.sgzb.common.core.exception.ServiceException;
import com.bonus.sgzb.common.core.utils.DateUtils;
import com.bonus.sgzb.common.core.utils.StringHelper;
import com.bonus.sgzb.common.security.utils.SecurityUtils;
import com.bonus.sgzb.material.domain.*;
-import com.bonus.sgzb.material.exception.ExceptionDict;
+
import com.bonus.sgzb.material.mapper.*;
import com.bonus.sgzb.material.service.IScrapApplyDetailsService;
import com.bonus.sgzb.material.vo.ForecastWasteExcel;
diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ToDoServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ToDoServiceImpl.java
index 49a18992..9aafb3c1 100644
--- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ToDoServiceImpl.java
+++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ToDoServiceImpl.java
@@ -1,29 +1,21 @@
package com.bonus.sgzb.material.service.impl;
-import com.bonus.sgzb.common.core.enums.TaskStatusEnum;
-import com.bonus.sgzb.common.core.utils.DateUtils;
+
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
-import com.bonus.sgzb.material.domain.AgreementInfo;
import com.bonus.sgzb.material.domain.BmNoticeInfo;
-import com.bonus.sgzb.material.domain.TmTask;
import com.bonus.sgzb.material.domain.ToDoBean;
+
import com.bonus.sgzb.material.exception.ExceptionDict;
-import com.bonus.sgzb.material.mapper.AgreementInfoMapper;
-import com.bonus.sgzb.material.mapper.PurchaseCheckDetailsMapper;
import com.bonus.sgzb.material.mapper.PurchaseCheckInfoMapper;
import com.bonus.sgzb.material.mapper.ToDoMapper;
-import com.bonus.sgzb.material.service.AgreementInfoService;
import com.bonus.sgzb.material.service.ToDoService;
-import com.bonus.sgzb.material.vo.GlobalContants;
import com.bonus.sgzb.material.vo.NoticeInfoVO;
import com.bonus.sgzb.system.api.RemoteUserService;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
+import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import com.bonus.sgzb.common.core.exception.ServiceException;
-import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;