diff --git a/yxt/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/utils/HttpUtils.java b/yxt/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/utils/HttpUtils.java index 5c2a4f96..4bdb6203 100644 --- a/yxt/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/utils/HttpUtils.java +++ b/yxt/yxt-common/yxt-common-base/src/main/java/com/yxt/common/base/utils/HttpUtils.java @@ -1,22 +1,47 @@ package com.yxt.common.base.utils; import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; +import org.apache.http.client.CookieStore; +import org.apache.http.client.HttpClient; import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; +import org.apache.http.conn.ClientConnectionManager; +import org.apache.http.conn.scheme.Scheme; +import org.apache.http.conn.scheme.SchemeRegistry; +import org.apache.http.conn.ssl.SSLSocketFactory; +import org.apache.http.cookie.Cookie; import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.BasicCookieStore; import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.client.HttpClients; +import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import java.io.IOException; +import java.security.KeyManagementException; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; @@ -33,7 +58,7 @@ import java.util.Iterator; public class HttpUtils { private final Logger LOG = LogManager.getLogger(this.getClass()); - + private static CloseableHttpClient httpClient; /** * 向指定 URL 发送POST方法的请求 * @@ -172,5 +197,126 @@ public class HttpUtils { return result; } + public static String sendPostMap(String url, Map map, String token) { + + String charset = "UTF-8"; + HttpClient httpClient = null; + HttpPost httpPost = null; + String result = null; + + try { + httpClient = new SSLClient(); + httpPost = new HttpPost(url); + //设置参数 + + List list = new ArrayList(); + Iterator iterator = map.entrySet().iterator(); + while (iterator.hasNext()) { + Map.Entry elem = (Map.Entry) iterator.next(); + list.add(new BasicNameValuePair(elem.getKey(), elem.getValue())); + } + if (list.size() > 0) { + UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list, charset); + httpPost.setEntity(entity); + } + if (token != "") { + httpPost.setHeader("Authorization", "Bearer " + token); + } + HttpResponse response = httpClient.execute(httpPost); + if (response != null) { + HttpEntity resEntity = response.getEntity(); + if (resEntity != null) { + result = EntityUtils.toString(resEntity, charset); + } + } + } catch (Exception ex) { + ex.printStackTrace(); + } + return result; + } + /** + * 链接GET请求 + * + * @param url + * @return + * @throws KeyManagementException + * @throws NoSuchAlgorithmException + * @throws KeyStoreException + * @throws ClientProtocolException + * @throws IOException + */ + public static String sendGet(String url, String token) throws KeyManagementException, + NoSuchAlgorithmException, KeyStoreException, ClientProtocolException, IOException { + String[] strArray = new String[5]; + // 获取cookies信息 + CookieStore store = new BasicCookieStore(); + CloseableHttpClient client = HttpClients.custom().setDefaultCookieStore(store).build(); + HttpGet httpGet = null; + CloseableHttpResponse resp = null; + String jsonString = ""; + try { + httpGet = new HttpGet(url); + httpGet.setHeader("Authorization", "Bearer " + token); + resp = client.execute(httpGet); + //读取cookie信息 + List cookielist = store.getCookies(); + for (Cookie c : cookielist) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String cookie_name = c.getName(); + String cookie_value = c.getValue(); + String cookie_expiry_date = sdf.format(c.getExpiryDate()); + } + + HttpEntity entity = resp.getEntity(); + jsonString = EntityUtils.toString(entity, "UTF-8"); +// String headCookie = ""; +// Header[] hs = resp.getHeaders("Set-Cookie"); +// if (hs.length > 0) { +// headCookie = hs[0].toString(); +// } +// strArray[0] = headCookie; +// strArray[1] = jsonString; +// return strArray; + return jsonString; + } catch (Exception ex) { + return null; + } finally { + if (resp != null) { + try { + resp.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (httpGet != null) { + httpGet.releaseConnection(); + } + } + } } + +class SSLClient extends DefaultHttpClient { + //用于进行Https请求的HttpClient + public SSLClient() throws Exception { + super(); + SSLContext ctx = SSLContext.getInstance("TLS"); + X509TrustManager tm = new X509TrustManager() { + + public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { + } + + public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { + } + + public X509Certificate[] getAcceptedIssuers() { + return null; + } + }; + ctx.init(null, new TrustManager[]{tm}, null); + SSLSocketFactory ssf = new SSLSocketFactory(ctx, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); + ClientConnectionManager ccm = this.getConnectionManager(); + SchemeRegistry sr = ccm.getSchemeRegistry(); + sr.register(new Scheme("https", 443, ssf)); + } +} \ No newline at end of file diff --git a/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/imgmessageslog/ImgMessagesLogVo.java b/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/imgmessageslog/ImgMessagesLogVo.java index 655648e2..d1c6fa79 100644 --- a/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/imgmessageslog/ImgMessagesLogVo.java +++ b/yxt_supervise/supervise-report/supervise-report-api/src/main/java/com/yxt/supervise/report/api/imgmessageslog/ImgMessagesLogVo.java @@ -23,6 +23,7 @@ public class ImgMessagesLogVo implements Vo { private Map map; private String riskSid; private String shName; + private String shSid; private List devices; private String text; diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/dailysalesreport/DailySalesReportService.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/dailysalesreport/DailySalesReportService.java index e8ea4144..82df8e45 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/dailysalesreport/DailySalesReportService.java +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/dailysalesreport/DailySalesReportService.java @@ -1,6 +1,7 @@ package com.yxt.supervise.report.biz.dailysalesreport; import cn.hutool.Hutool; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -14,6 +15,7 @@ import com.yxt.supervise.report.api.dailysalesreport.ListSalesChannelData; import com.yxt.supervise.report.ds.supplychain.SupplyChainMapper; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; @@ -31,8 +33,14 @@ public class DailySalesReportService extends MybatisBaseService rbJsonObject = projectDailyRest.wxLogin(wxCode, APP_ID, SECRET); JSONObject jsonObject = rbJsonObject.getData(); String openid = jsonObject.get("openid").toString(); diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java index 7cc1e291..ded2dd62 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java @@ -25,6 +25,7 @@ import com.yxt.supervise.report.biz.stock.StockDayRest; import com.yxt.supervise.report.biz.util.WeixinCheckoutUtil; import com.yxt.supervise.report.ds.crm.CrmMapper; import com.yxt.supervise.report.ds.crm.UserProject; +import com.yxt.supervise.report.ds.rms.Device; import com.yxt.supervise.report.ds.rms.RiskAlarm; import com.yxt.supervise.report.ds.rms.RmsMapper; import com.yxt.supervise.report.ds.system.SysUser; @@ -55,6 +56,7 @@ import java.text.SimpleDateFormat; import java.util.*; import static com.yxt.common.base.utils.MsgWs.SendWaitWorkMsg; +import static javax.xml.bind.JAXBIntrospector.getValue; /** * @author wangpengfei @@ -305,6 +307,12 @@ public class WechatRest { r= SuperviseWxMessSender.jgsjzlSend("赵丽晓",openIds,projectSid,projectDaily.getProjectName(),projectDaily.getReportTime()); System.out.println(r); } + + /** + * 设备异常 + * @param shSid + * @param riskSid + */ @GetMapping("/shMessage") public void shMessage(@RequestParam("shSid") String shSid,@RequestParam("riskSid") String riskSid){ //String messSid=riskMessagesLogMapper.getRiskByCode(); @@ -346,6 +354,53 @@ public class WechatRest { r= SuperviseWxMessSender.jkSend("赵丽晓",openIds,projectSid,riskSid,name,riskSid,ft.format(new Date())); System.out.println(r); } + + /** + * 异常解除 + * @param shSid + * @param riskSid + */ + @GetMapping("/secureMessage") + public void secureMessage(@RequestParam("shSid") String shSid,@RequestParam("riskSid") String riskSid){ + //String messSid=riskMessagesLogMapper.getRiskByCode(); + RespMessReturn r=new RespMessReturn(); + List user= crmMapper.users(shSid); + List openIds=new ArrayList<>(); + List mobiles=new ArrayList<>(); + openIds.add("oA-GE69cBwiWG5Tx5R3vvy60o8qk"); + mobiles.add("15932270269"); + openIds.add("oA-GE68JFODQucAXkJQYHPoFOAgs"); + mobiles.add("18603312020"); + openIds.add("oA-GE68gus7lbb-oy4iqCF0ZhNgo"); + mobiles.add("13513219196"); + openIds.add("oA-GE67j581HgEsim_waItx2KOzE"); + mobiles.add("13513211777"); + openIds.add("oA-GE67P_1xD1uKBcexK3wWtFO5Y"); + mobiles.add("13623307393"); + openIds.add("oA-GE6zKB_5wQsVX6USlRQYV39vE"); + mobiles.add("13131170271"); + openIds.add("oA-GE668qWFcn4O-HpeiPe1FOecE"); + mobiles.add("13333113292"); + openIds.add("oA-GE65ExG9RVkqPhOc4e2ctdh0c"); + mobiles.add("19933133338"); +// for(UserProject u:user){ +// SysUser sysUser=systemMapper.getAppletOpenidByUsersid(u.getUserSid()); +// if(null!=sysUser) { +// if (com.yxt.common.base.utils.StringUtils.isNotNull(sysUser.getAppletOpenid())) { +// openIds.add(sysUser.getAppletOpenid()); +// mobiles.add(sysUser.getMobile()); +// } +// } +// } + String projectSid=crmMapper.ProjectSidByshSid(shSid); + String name=warehouseMapper.getNameBySid(shSid); + SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + // 公众号的模板id(也有相应的接口可以查询到) + //sendVerificationCode(name,mobiles,"030404"); + System.out.println("推送中"); + r= SuperviseWxMessSender.secureSend(openIds,projectSid,riskSid,name,riskSid,ft.format(new Date())); + System.out.println(r); + } @GetMapping("/shImgMessage") public void shImgMessage(@RequestParam("shSid") String shSid,@RequestParam("riskSid") String riskSid){ //String messSid=imgMessagesLogMapper.getImgRiskByCode(); diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/rms/Device.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/rms/Device.java new file mode 100644 index 00000000..47cc19a3 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/rms/Device.java @@ -0,0 +1,16 @@ +package com.yxt.supervise.report.ds.rms; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/9/3 17:06 + */ +@Data +public class Device { + + private String name; + private String serialNumber; + private String status; + +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java index 10b12e7d..319c7d7d 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/wx/SuperviseWxMessSender.java @@ -100,6 +100,20 @@ public class SuperviseWxMessSender { }); return respMessReturn; } + public static RespMessReturn secureSend(List tousers, String projectSid,String riskSid, String projectName,String messSid, String reportTime) { + RespMessReturn respMessReturn=new RespMessReturn(); + String orderDate = reportTime.substring(0, 10); + String pagepath ="pages/index/DeviceException"+"?sid="+messSid; + HashMap data = new HashMap<>(); + data.put("thing3", projectName); + data.put("thing2", "设备名"); + data.put("time5", reportTime); + for(String touser:tousers){ + respMessReturn = WxMessage.sendMessage("A1u0HdEegfdJl3_MndronKahtvwkAa5IFDSy2NRHu8U", touser, pagepath, data); + } + return respMessReturn; + } + public static RespMessReturn jkImgSend(String sender, List tousers, String projectSid,String riskSid, String projectName, String messSid,String reportTime) { RespMessReturn respMessReturn=new RespMessReturn(); String orderDate = reportTime.substring(0, 10); diff --git a/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskalarm/RiskAlarm.java b/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskalarm/RiskAlarm.java index 7af68516..eaf11098 100644 --- a/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskalarm/RiskAlarm.java +++ b/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskalarm/RiskAlarm.java @@ -68,5 +68,8 @@ public class RiskAlarm { private String typeCode; @ApiModelProperty("风险类别名称") private String typeName; + //内容 private String content; + private String state; + private int count; } diff --git a/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskalarm/RiskAlarmVo.java b/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskalarm/RiskAlarmVo.java index 93fe7638..6e528434 100644 --- a/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskalarm/RiskAlarmVo.java +++ b/yxt_supervise/supervise-rms/supervise-rms-api/src/main/java/com/supervise/rms/api/riskalarm/RiskAlarmVo.java @@ -62,4 +62,5 @@ public class RiskAlarmVo implements Vo { @ApiModelProperty("风险类别名称") private String typeName; private String bigTypeName; + private int count; } diff --git a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmMapper.java b/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmMapper.java index 40919c97..2e808ca6 100644 --- a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmMapper.java +++ b/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmMapper.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.supervise.rms.api.riskalarm.RiskAlarm; import com.supervise.rms.api.riskalarm.RiskAlarmVo; +import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -21,4 +22,11 @@ public interface RiskAlarmMapper extends BaseMapper { RiskAlarmVo getRiskAlarm(@Param("shSid")String shSid,@Param("code")String code); @Select("select * from risk_alarm where indicatorCode=#{code} order by triggerTime desc limit 1") RiskAlarmVo getRiskAlarmByCode(@Param("code")String code); + @Select("select * from risk_alarm where indicatorCode=#{code} and positionSid=#{shSid} and state=#{state} order by triggerTime desc limit 1") + RiskAlarm getRiskAlarmByState(@Param("code")String code,@Param("shSid")String shSid,@Param("state")String state); + @Insert("insert into device_img (sid,endImage,endTime,name,similarity,startImage,startTime,shSid) value(#{sid},#{endImage},#{endTime},#{name},#{similarity}," + + "#{startImage},#{startTime},#{shSid})") + int insertImg(@Param("sid")String sid,@Param("endImage")String endImage,@Param("endTime")String endTime,@Param("name")String name, + @Param("similarity")String similarity,@Param("startImage")String startImage,@Param("startTime")String startTime, + @Param("shSid")String shSid); } diff --git a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmService.java b/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmService.java index c7e24609..fed09fc3 100644 --- a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmService.java +++ b/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/biz/riskalarm/RiskAlarmService.java @@ -62,7 +62,28 @@ public class RiskAlarmService extends MybatisBaseService vo = PagerUtil.pageToVo(page1, null); return vo; } - + public void saveOrUpdateDto(RiskAlarmDto dto){ + String dtoSid = dto.getSid(); + if (org.apache.commons.lang3.StringUtils.isBlank(dtoSid)) { + this.insertByDto(dto); + return; + } + this.updateByDto(dto); + } + public void insertByDto(RiskAlarmDto dto){ + RiskAlarm entity = new RiskAlarm(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + } + public void updateByDto(RiskAlarmDto dto){ + String dtoSid = dto.getSid(); + if (org.apache.commons.lang3.StringUtils.isBlank(dtoSid)) { + return; + } + RiskAlarm entity = fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } public ResultBean saveRiskAlarm(RiskAlarmDto dto) { ResultBean rb = ResultBean.fireFail(); if (StringUtils.isBlank(dto.getSid())) { @@ -83,17 +104,28 @@ public class RiskAlarmService extends MybatisBaseService{ + wechatFeign.secureMessage(riskAlarm1.getPositionSid(),riskAlarm.getSid()); + }); + } + baseMapper.delete(new QueryWrapper().eq("indicatorCode","030404").eq("positionSid",dto.getSid()).eq("state","0")); } else { RiskIndicators riskIndicators = riskIndicatorsService.getOne(new QueryWrapper().eq("code", "030404")); riskAlarm.setIndicatorSid(riskIndicators.getSid()); @@ -106,6 +138,7 @@ public class RiskAlarmService extends MybatisBaseService().eq("code", "030405")); riskAlarm.setContent(dto.getDeviceImages().toString()); riskAlarm.setIndicatorSid(riskIndicators.getSid()); @@ -148,20 +180,43 @@ public class RiskAlarmService extends MybatisBaseService=2){ + return true; + }else { + risk.setCount(risk.getCount() + 1); + baseMapper.updateById(risk); + } + } + return false; + } public boolean determine(RiskAlarmVo riskAlarmVo,RiskAlarm riskAlarm,String shSid,String type) { if (null == riskAlarmVo) { baseMapper.insert(riskAlarm); - if(type.equals("030404")){ - ThreadUtil.execute(()->{ - wechatFeign.shMessage(shSid,riskAlarm.getSid()); - }); - }else if(type.equals("030405")){ + +// if(type.equals("030404")){ +// ThreadUtil.execute(()->{ +// wechatFeign.shMessage(shSid,riskAlarm.getSid()); +// }); +// }else + if(type.equals("030405")){ ThreadUtil.execute(()->{ wechatFeign.shImgMessage(shSid,riskAlarm.getSid()); }); @@ -171,18 +226,28 @@ public class RiskAlarmService extends MybatisBaseService{ - wechatFeign.shMessage(shSid,riskAlarm.getSid()); - }); + boolean d=deviceDetermine(riskAlarm); + if(d==true){ + ThreadUtil.execute(()->{ + wechatFeign.shMessage(shSid,riskAlarm.getSid()); + }); + } }else if(type.equals("030405")){ + baseMapper.insert(riskAlarm); ThreadUtil.execute(()->{ wechatFeign.shImgMessage(shSid,riskAlarm.getSid()); }); }else if (type.equals("030406")){ + baseMapper.insert(riskAlarm); ThreadUtil.execute(()->{ wechatFeign.sysErrMessage(riskAlarm.getSid()); }); diff --git a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/feign/report/WechatFeign.java b/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/feign/report/WechatFeign.java index 9d580381..7bc4951c 100644 --- a/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/feign/report/WechatFeign.java +++ b/yxt_supervise/supervise-rms/supervise-rms-biz/src/main/java/com/supervise/rms/feign/report/WechatFeign.java @@ -21,4 +21,6 @@ public interface WechatFeign { public void shImgMessage(@RequestParam("shSid") String shSid,@RequestParam("riskSid") String riskSid); @GetMapping("/sysErrMessage") public void sysErrMessage(@RequestParam("riskSid") String riskSid); + @GetMapping("/secureMessage") + public void secureMessage(@RequestParam("shSid") String shSid,@RequestParam("riskSid") String riskSid); } diff --git a/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/device/DeviceRest.java b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/device/DeviceRest.java new file mode 100644 index 00000000..e0331fda --- /dev/null +++ b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/device/DeviceRest.java @@ -0,0 +1,25 @@ +package com.yxt.supervise.system.device; + +import com.alibaba.nacos.common.model.RestResult; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2023/9/9 10:30 + */ +@RestController +@RequestMapping("/device") +public class DeviceRest { + @Autowired + private DeviceService deviceService; + @GetMapping("/token") + public ResultBean token (){ + ResultBean rb=new ResultBean(); + String token=deviceService.spToken(); + return rb.success().setData(token); + } +} diff --git a/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/device/DeviceService.java b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/device/DeviceService.java new file mode 100644 index 00000000..bd9e2e16 --- /dev/null +++ b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/device/DeviceService.java @@ -0,0 +1,57 @@ +package com.yxt.supervise.system.device; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.utils.HttpUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.io.IOException; +import java.security.KeyManagementException; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2023/9/9 10:30 + */ +@Service +public class DeviceService { + @Value("${haiKangConsumer.clientId}") + private String clientId; + + @Value("${haiKangConsumer.clientSecret}") + private String clientSecret; + public static String haiKangToken = ""; + public static String haiKangMessageConsumer = ""; + public void initMain() { + // 先登录 + String loginUrl = "https://api2.hik-cloud.com/oauth/token"; + Map tokenParam = new HashMap<>(); + tokenParam.put("client_id", clientId); // 客户端ID String + tokenParam.put("client_secret", clientSecret); //访问密钥 String + tokenParam.put("grant_type", "client_credentials"); //认证模式 String 目前仅支持client_credentials + String tokenResult = HttpUtils.sendPostMap(loginUrl, tokenParam, ""); + JSONObject tokenObject = JSONObject.parseObject(tokenResult); + haiKangToken = tokenObject.get("access_token").toString(); + } + public String spToken(){ + initMain(); + String lUrl = "https://api2.hik-cloud.com/v1/ezviz/account/info"; + String qlToken=""; + try { + String result=HttpUtils.sendGet(lUrl,haiKangToken); + JSONObject jsonObject = JSONObject.parseObject(result); + JSONObject dataJson = (JSONObject) jsonObject.get("data"); + String appKey = dataJson.get("appKey").toString(); + qlToken = dataJson.get("token").toString(); + } catch (Exception e) { + throw new RuntimeException(e); + } + return qlToken; + } +}