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;