ibm 对接提交
This commit is contained in:
parent
fc3c2bd71c
commit
e2b09733cd
|
@ -214,6 +214,28 @@
|
|||
|
||||
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<version>5.8.15</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.bouncycastle</groupId>
|
||||
<artifactId>bcprov-ext-jdk15on</artifactId>
|
||||
<version>1.69</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.bouncycastle</groupId>
|
||||
<artifactId>bcpkix-jdk15on</artifactId>
|
||||
<version>1.69</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.bouncycastle</groupId>
|
||||
<artifactId>bcprov-jdk15on</artifactId>
|
||||
<version>1.69</version>
|
||||
</dependency>
|
||||
|
||||
<!-- JAX-WS API -->
|
||||
<dependency>
|
||||
<groupId>javax.xml.ws</groupId>
|
||||
|
|
|
@ -6,10 +6,12 @@ import cn.zhxu.okhttps.HttpResult;
|
|||
import cn.zhxu.okhttps.OkHttps;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.ruoyi.common.task.forest.MyTaskClient;
|
||||
import com.ruoyi.common.utils.http.HttpUtils;
|
||||
import com.ruoyi.common.utils.sign.Md5Utils;
|
||||
import com.ruoyi.project.oil.domain.monitor.ThDevice;
|
||||
import com.ruoyi.project.oil.mapper.ThDeviceMapper;
|
||||
import com.ruoyi.project.outside.service.OutSideService;
|
||||
import org.apache.http.client.HttpClient;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -18,6 +20,7 @@ import org.springframework.stereotype.Component;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class EquTask {
|
||||
|
@ -28,6 +31,8 @@ public class EquTask {
|
|||
private MyTaskClient myClient;
|
||||
@Autowired
|
||||
private OutSideService outSideService;
|
||||
@Autowired
|
||||
private ThDeviceMapper thDeviceMapper;
|
||||
/**
|
||||
* 港口原有设备对接
|
||||
*/
|
||||
|
@ -42,11 +47,9 @@ public class EquTask {
|
|||
JSONObject tokenByJson = httpResult.getBody().toBean(JSONObject.class);
|
||||
JSONObject dataByJson = tokenByJson.getJSONObject("data");
|
||||
String token = dataByJson.getString("token");
|
||||
ArrayList<ThDevice> equLists = new ArrayList<>(); //查询 数据库 获取 港口以前的 设备信息
|
||||
ThDevice thDevice = new ThDevice();
|
||||
thDevice.setSn("e75153fd53d243289057ffec33f36cb9");
|
||||
thDevice.setName("油气回收voc监测设备3#");
|
||||
equLists.add(thDevice);
|
||||
thDevice.setDeptId(5l);
|
||||
List<ThDevice> equLists = thDeviceMapper.selectDeviceList(thDevice);
|
||||
equLists.forEach(e->{
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
|
||||
|
@ -55,12 +58,17 @@ public class EquTask {
|
|||
HttpResult result = OkHttps.sync("http://10.201.35.30:8090/enviSensor/select?" +
|
||||
"page=1&pageSize=20&valid=0&type=5&sensorUId={sensorUId}&label={label}")
|
||||
.addPathPara(map)
|
||||
.addHeader("token", token)
|
||||
.get();
|
||||
JSONObject vocByJson = result.getBody().toBean(JSONObject.class);
|
||||
JSONObject vocDataByJson = vocByJson.getJSONObject("data");
|
||||
JSONArray vocByArray = vocDataByJson.getJSONArray("array");
|
||||
System.out.println(vocByArray.toJSONString());
|
||||
.addHeader("token", token)
|
||||
.get();
|
||||
JSONObject vocByJson = result.getBody().toBean(JSONObject.class);
|
||||
JSONObject vocDataByJson = vocByJson.getJSONObject("data");
|
||||
JSONArray vocByArray = vocDataByJson.getJSONArray("array");
|
||||
System.out.println(vocByArray.toString());
|
||||
try {
|
||||
Integer integer = outSideService.insertOldDeviceData(vocByArray.toJSONString());
|
||||
} catch (JsonProcessingException jsonProcessingException) {
|
||||
jsonProcessingException.printStackTrace();
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.ruoyi.common.wsdl;
|
||||
|
||||
import cn.hutool.core.lang.Console;
|
||||
import cn.hutool.http.webservice.SoapClient;
|
||||
|
||||
|
||||
|
@ -12,24 +13,24 @@ import javax.xml.soap.SOAPMessage;
|
|||
*/
|
||||
public class TestWsdl {
|
||||
public static void main(String[] args) throws Exception {
|
||||
// 创建SoapClient实例 wsdl协议请求地址:http://xxx.cn/services/GanSuInterface (去掉?wsdl)
|
||||
SoapClient client = SoapClient.create("http://10.171.19.193:8080/dxpt/ws/shortMessageWs")
|
||||
// 设置方法名和命名空间(命名空间url:http://webservice.xxx.xxx ,方法名:getSydwJsonList)
|
||||
// tns 命名空间targetNamespace,没有命名空间时直接写方法名即可
|
||||
.setMethod("tns:returnMassages", "http://service.cxf.com")
|
||||
// 设置参数(最后的false参数表示参数不加命名空间的前缀web)
|
||||
.setParam("in0", "afe9cff39173ff8901917a54c90e448d", false);
|
||||
|
||||
//获取SOAPMessage实例(此步作用是输出请求的XML参数,实际开发并不需要)
|
||||
SOAPMessage message = client.getMessage();
|
||||
System.out.println(client.getMsgStr(true));
|
||||
|
||||
// 发送请求(true表示输出的结果格式化处理)
|
||||
String send = client.send(true);
|
||||
// Document document = DocumentHelper.parseText(send);
|
||||
// Element root = document.getRootElement();
|
||||
// String value = root.getStringValue();
|
||||
System.out.println(send);
|
||||
// System.out.println(value);
|
||||
|
||||
// 新建客户端
|
||||
SoapClient client = SoapClient.create("http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx")
|
||||
// 设置要请求的方法,此接口方法前缀为web,传入对应的命名空间
|
||||
.setMethod("web:getCountryCityByIp", "http://WebXml.com.cn/")
|
||||
// 设置参数,此处自动添加方法的前缀:web
|
||||
.setParam("phone", "18437762352")
|
||||
.setParam("msg", "1112121")
|
||||
.setParam("dwdm", "SGJT-山港集团");
|
||||
|
||||
// 发送请求,参数true表示返回一个格式化后的XML内容
|
||||
// 返回内容为XML字符串,可以配合XmlUtil解析这个响应
|
||||
Console.log(client.send(true));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -23,7 +23,7 @@ import com.ruoyi.framework.security.handle.LogoutSuccessHandlerImpl;
|
|||
|
||||
/**
|
||||
* spring security配置
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@EnableMethodSecurity(prePostEnabled = true, securedEnabled = true)
|
||||
|
@ -35,7 +35,7 @@ public class SecurityConfig
|
|||
*/
|
||||
@Autowired
|
||||
private UserDetailsService userDetailsService;
|
||||
|
||||
|
||||
/**
|
||||
* 认证失败处理类
|
||||
*/
|
||||
|
@ -53,7 +53,7 @@ public class SecurityConfig
|
|||
*/
|
||||
@Autowired
|
||||
private JwtAuthenticationTokenFilter authenticationTokenFilter;
|
||||
|
||||
|
||||
/**
|
||||
* 跨域过滤器
|
||||
*/
|
||||
|
@ -97,35 +97,36 @@ public class SecurityConfig
|
|||
protected SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception
|
||||
{
|
||||
return httpSecurity
|
||||
// CSRF禁用,因为不使用session
|
||||
.csrf(csrf -> csrf.disable())
|
||||
// 禁用HTTP响应标头
|
||||
.headers((headersCustomizer) -> {
|
||||
headersCustomizer.cacheControl(cache -> cache.disable()).frameOptions(options -> options.sameOrigin());
|
||||
})
|
||||
// 认证失败处理类
|
||||
.exceptionHandling(exception -> exception.authenticationEntryPoint(unauthorizedHandler))
|
||||
// 基于token,所以不需要session
|
||||
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
|
||||
// 注解标记允许匿名访问的url
|
||||
.authorizeHttpRequests((requests) -> {
|
||||
permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll());
|
||||
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
|
||||
requests.antMatchers("/login", "/register", "/captchaImage","/outside/*").permitAll()
|
||||
// 静态资源,可匿名访问
|
||||
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
||||
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
||||
// 除上面外的所有请求全部需要鉴权认证
|
||||
.anyRequest().authenticated();
|
||||
})
|
||||
// 添加Logout filter
|
||||
.logout(logout -> logout.logoutUrl("/logout").logoutSuccessHandler(logoutSuccessHandler))
|
||||
// 添加JWT filter
|
||||
.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class)
|
||||
// 添加CORS filter
|
||||
.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class)
|
||||
.addFilterBefore(corsFilter, LogoutFilter.class)
|
||||
.build();
|
||||
// CSRF禁用,因为不使用session
|
||||
.csrf(csrf -> csrf.disable())
|
||||
// 禁用HTTP响应标头
|
||||
.headers((headersCustomizer) -> {
|
||||
headersCustomizer.cacheControl(cache -> cache.disable()).frameOptions(options -> options.sameOrigin());
|
||||
})
|
||||
// 认证失败处理类
|
||||
.exceptionHandling(exception -> exception.authenticationEntryPoint(unauthorizedHandler))
|
||||
// 基于token,所以不需要session
|
||||
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
|
||||
// 注解标记允许匿名访问的url
|
||||
.authorizeHttpRequests((requests) -> {
|
||||
permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll());
|
||||
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
|
||||
requests.antMatchers("/login","/bbc/**",
|
||||
"/register", "/captchaImage","/outside/*").permitAll()
|
||||
// 静态资源,可匿名访问
|
||||
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
||||
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
||||
// 除上面外的所有请求全部需要鉴权认证
|
||||
.anyRequest().authenticated();
|
||||
})
|
||||
// 添加Logout filter
|
||||
.logout(logout -> logout.logoutUrl("/logout").logoutSuccessHandler(logoutSuccessHandler))
|
||||
// 添加JWT filter
|
||||
.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class)
|
||||
// 添加CORS filter
|
||||
.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class)
|
||||
.addFilterBefore(corsFilter, LogoutFilter.class)
|
||||
.build();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,268 +1,307 @@
|
|||
//package com.ruoyi.project.system.controller;
|
||||
//
|
||||
//
|
||||
//import com.alibaba.fastjson2.JSON;
|
||||
//import com.alibaba.fastjson2.JSONObject;
|
||||
//import com.banboocloud.Codec.BamboocloudFacade;
|
||||
//import com.ruoyi.common.utils.reflect.ReflectUtils;
|
||||
//import com.ruoyi.framework.web.controller.BaseController;
|
||||
//import com.ruoyi.project.system.domain.SysUser;
|
||||
//import com.ruoyi.project.system.service.ISysDeptService;
|
||||
//import com.ruoyi.project.system.service.ISysPostService;
|
||||
//import com.ruoyi.project.system.service.ISysRoleService;
|
||||
//import com.ruoyi.project.system.service.ISysUserService;
|
||||
//import com.ruoyi.project.system.utils.BamboocloudUtils;
|
||||
//
|
||||
//import org.slf4j.Logger;
|
||||
//import org.slf4j.LoggerFactory;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.web.bind.annotation.PostMapping;
|
||||
//import org.springframework.web.bind.annotation.RequestMapping;
|
||||
//import org.springframework.web.bind.annotation.ResponseBody;
|
||||
//import org.springframework.web.bind.annotation.RestController;
|
||||
//
|
||||
//import javax.servlet.ServletException;
|
||||
//import javax.servlet.http.HttpServletRequest;
|
||||
//import javax.servlet.http.HttpServletResponse;
|
||||
//import java.io.BufferedReader;
|
||||
//import java.io.IOException;
|
||||
//import java.io.PrintWriter;
|
||||
//import java.util.*;
|
||||
//
|
||||
///**
|
||||
// * swagger 用户测试方法
|
||||
// * 加密认证
|
||||
// * @author ruoyi
|
||||
// */
|
||||
//
|
||||
//@RestController
|
||||
//@RequestMapping("/bbc/user")
|
||||
//public class BbcController extends BaseController {
|
||||
//
|
||||
// private String bimRequestId;
|
||||
//
|
||||
// private static Logger logger = LoggerFactory.getLogger(ReflectUtils.class);
|
||||
//
|
||||
//
|
||||
// @Autowired
|
||||
// private ISysUserService userService;
|
||||
//
|
||||
// @Autowired
|
||||
// private ISysRoleService roleService;
|
||||
//
|
||||
// @Autowired
|
||||
// private ISysDeptService deptService;
|
||||
//
|
||||
// @Autowired
|
||||
// private ISysPostService postService;
|
||||
//
|
||||
//// @ApiOperation("测试")
|
||||
// @RequestMapping()
|
||||
// public JSONObject bbcUser() {
|
||||
//
|
||||
// JSONObject jsonObject = new JSONObject();
|
||||
// jsonObject.put("resultCode", "0");
|
||||
// jsonObject.put("message", "success");
|
||||
// return jsonObject;
|
||||
//
|
||||
// }
|
||||
//
|
||||
//// @ApiOperation("对象属性字段查询")
|
||||
// @PostMapping("/schemaService")
|
||||
// public String SchemaService(HttpServletRequest req, HttpServletResponse resp) {
|
||||
//
|
||||
// JSONObject jsonObject = new JSONObject();
|
||||
//
|
||||
// // StringBuilder sb = stringBuilder(req);
|
||||
// String bodyparam= BamboocloudUtils.getRequestBody(req);
|
||||
// logger.info("json--param-->" + bodyparam);
|
||||
// // String bodyparam = sb.toString();
|
||||
// //解密json字符传
|
||||
// bodyparam = BamboocloudUtils.getPlaintext(bodyparam, "123456", "AES");
|
||||
// logger.info("json--param-->" + bodyparam);
|
||||
// Map<String, Object> reqmap = (Map<String, Object>) JSON.parse(bodyparam);
|
||||
// //验证签名
|
||||
// if (BamboocloudUtils.verify(reqmap, "MD5").booleanValue()) {
|
||||
// String username = (String) reqmap.get("bimRemoteUser");
|
||||
// String password = (String) reqmap.get("bimRemotePwd");
|
||||
// //判断接口中的调用名及调用密码是否正确
|
||||
// if (BamboocloudUtils.checkUsernamePassword(username, password)) {
|
||||
//// //添加返回的对象及属性字段名
|
||||
//// MapJson mapJson = new MapJson();
|
||||
//// Map<String, List<Map<String, Object>>> map = new HashMap<>();
|
||||
//// jsonObject.put("account", mapJson.accountList());
|
||||
//// jsonObject.put("organization", mapJson.organizationList());
|
||||
//// jsonObject.put("role", mapJson.roleList());
|
||||
//// jsonObject.put("post", mapJson.postList());
|
||||
//// jsonObject.put("dict", mapJson.dictDataList());
|
||||
//// jsonObject.put("bimRequestId", reqmap.get("bimRequestId"));
|
||||
// String mapJs = JSON.toJSONString(jsonObject);
|
||||
// logger.info(jsonObject.toJSONString());
|
||||
// //返回加密的json字符串
|
||||
// mapJs = BamboocloudFacade.encrypt(mapJs, "123456", "AES");
|
||||
// //jsonObject.put(map);
|
||||
// //<Object> values = jsonObject.values();
|
||||
// return mapJs;
|
||||
// }
|
||||
// }
|
||||
// jsonObject.put("bimRequestId", bimRequestId);
|
||||
// jsonObject.put("resultCode", "505");
|
||||
// jsonObject.put("message", "连接失败,请检查连接器配置的参数");
|
||||
// logger.info(jsonObject.toJSONString());
|
||||
// String mapJs = JSON.toJSONString(jsonObject);
|
||||
// //返回加密的json字符串
|
||||
// mapJs = BamboocloudFacade.encrypt(mapJs, "123456", "AES");
|
||||
// return mapJs;
|
||||
// }
|
||||
//
|
||||
//// @ApiOperation("新增用户")
|
||||
//// @ApiImplicitParam(name = "user", value = "新增用户信息", dataType = "User")
|
||||
// @PostMapping("/UserCreateService")
|
||||
// @ResponseBody
|
||||
// public String userCreateService(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
||||
//
|
||||
// Map<String, Object> schema = new HashMap<String, Object>();
|
||||
//
|
||||
// JSONObject jsonObject = new JSONObject();
|
||||
//
|
||||
// StringBuilder sb = stringBuilder(req);
|
||||
// //修改多值的属性格式方便转换
|
||||
// String bodyparam = sb.toString();
|
||||
// bodyparam = BamboocloudUtils.getPlaintext(bodyparam, "123456", "AES");
|
||||
// String p = bodyparam;
|
||||
// String z = "[\"";
|
||||
// String y = "\"]";
|
||||
// bodyparam.indexOf(z);
|
||||
// bodyparam.indexOf(y);
|
||||
// while (bodyparam.contains(z)) {
|
||||
// p = bodyparam.substring(bodyparam.indexOf(z), bodyparam.indexOf(y) + 2).replace(z, "\"").replace(y, "\"").replace("\",\"", ",");
|
||||
// bodyparam = bodyparam.substring(0, bodyparam.indexOf(z)) + p + bodyparam.substring(bodyparam.indexOf(y) + 2, bodyparam.length());
|
||||
// }
|
||||
// logger.info("json--param-->" + bodyparam);
|
||||
// Map<String, Object> reqmap = (Map<String, Object>) JSON.parse(bodyparam);
|
||||
// String username = (String) reqmap.get("bimRemoteUser");
|
||||
// String password = (String) reqmap.get("bimRemotePwd");
|
||||
//
|
||||
// if (BamboocloudUtils.checkUsernamePassword(username, password)) {
|
||||
// /**
|
||||
// * 新增用户
|
||||
// */
|
||||
// //获取用户创建所需的参数
|
||||
//// User user = createUpdateUser(reqmap);
|
||||
// SysUser user = new SysUser();
|
||||
// //用户创建
|
||||
// userService.insertUser(user);
|
||||
// //获取返回给IAM连接器的唯一标识,用于后续该条数据的更新修改删除
|
||||
// String uid = user.getUserId() + "";
|
||||
// if (uid != null) {
|
||||
// schema.put("uid", uid);
|
||||
// schema.put("bimRequestId", reqmap.get("bimRequestId"));
|
||||
// schema.put("resultCode", "0");
|
||||
// schema.put("message", "success");
|
||||
// } else {
|
||||
// schema.put("bimRequestId", reqmap.get("bimRequestId"));
|
||||
// schema.put("resultCode", "500");
|
||||
// schema.put("message", "账号创建失败");
|
||||
// }
|
||||
// String mapJson = JSON.toJSONString(schema);
|
||||
// mapJson = BamboocloudFacade.encrypt(mapJson, "123456", "AES");
|
||||
// return mapJson;
|
||||
// }
|
||||
// schema.put("bimRequestId", reqmap.get("bimRequestId"));
|
||||
// schema.put("resultCode", "500");
|
||||
// schema.put("message", "账号创建失败,请检查连接器配置的参数");
|
||||
// String mapJson = JSON.toJSONString(schema);
|
||||
// //返回加密的json字符串
|
||||
// mapJson = BamboocloudFacade.encrypt(mapJson, "123456", "AES");
|
||||
// return mapJson;
|
||||
// }
|
||||
//
|
||||
//
|
||||
//// @ApiOperation("修改用户")
|
||||
//// @ApiImplicitParam(name = "user", value = "修改用户信息", dataType = "User")
|
||||
// @PostMapping("/UserUpdateService")
|
||||
// @ResponseBody
|
||||
// public String userUpdateService(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
||||
//
|
||||
// Map<String, Object> schema = new HashMap<String, Object>();
|
||||
//
|
||||
// JSONObject jsonObject = new JSONObject();
|
||||
//
|
||||
// StringBuilder sb = stringBuilder(req);
|
||||
//
|
||||
// String bodyparam = sb.toString();
|
||||
//
|
||||
// bodyparam = BamboocloudUtils.getPlaintext(bodyparam, "123456", "AES");
|
||||
// //修改多值的属性格式方便转换
|
||||
// String p = bodyparam;
|
||||
// String bdp = bodyparam;
|
||||
// String z = "[\"";
|
||||
// String y = "\"]";
|
||||
// bodyparam.indexOf(z);
|
||||
// bodyparam.indexOf(y);
|
||||
// while (bodyparam.contains(z)) {
|
||||
// p = bodyparam.substring(bodyparam.indexOf(z), bodyparam.indexOf(y) + 2).replace(z, "\"").replace(y, "\"").replace("\",\"", ",");
|
||||
// bodyparam = bodyparam.substring(0, bodyparam.indexOf(z)) + p + bodyparam.substring(bodyparam.indexOf(y) + 2, bodyparam.length());
|
||||
// }
|
||||
// logger.info("json--param-->" + bodyparam);
|
||||
// Map<String, Object> reqmap = (Map<String, Object>) JSON.parse(bodyparam);
|
||||
// String username = (String) reqmap.get("bimRemoteUser");
|
||||
// String password = (String) reqmap.get("bimRemotePwd");
|
||||
// if (BamboocloudUtils.checkUsernamePassword(username, password)) {
|
||||
// SysUser user = new SysUser();
|
||||
// //获取用于更新的参数
|
||||
//// user = createUpdateUser(reqmap);
|
||||
// //获取用于更新的唯一标识
|
||||
// user.setUserId(Long.valueOf(String.valueOf(reqmap.get("bimUid"))));
|
||||
// //更新用户
|
||||
// userService.updateUser(user);
|
||||
// schema.put("bimRequestId", reqmap.get("bimRequestId"));
|
||||
// schema.put("resultCode", "0");
|
||||
// schema.put("message", "success");
|
||||
// String mapJson = JSON.toJSONString(schema);
|
||||
// mapJson = BamboocloudFacade.encrypt(mapJson, "123456", "AES");
|
||||
// logger.info("response----->" + schema);
|
||||
// return mapJson;
|
||||
// }
|
||||
// schema.put("bimRequestId", reqmap.get("bimRequestId"));
|
||||
// schema.put("resultCode", "500");
|
||||
// schema.put("message", "账号更新失败,请检查连接器配置的参数");
|
||||
// String mapJson = JSON.toJSONString(schema);
|
||||
// mapJson = BamboocloudFacade.encrypt(mapJson, "123456", "AES");
|
||||
// logger.info("response----->" + schema);
|
||||
// return mapJson;
|
||||
// }
|
||||
//
|
||||
//
|
||||
// public StringBuilder stringBuilder(HttpServletRequest req) {
|
||||
// BufferedReader br = null;
|
||||
// StringBuilder sb = new StringBuilder();
|
||||
// String str = "";
|
||||
// try {
|
||||
// br = req.getReader();
|
||||
// while ((str = br.readLine()) != null) {
|
||||
// sb.append(str);
|
||||
// }
|
||||
// br.close();
|
||||
// } catch (IOException e) {
|
||||
// e.printStackTrace();
|
||||
// if (br != null)
|
||||
// try {
|
||||
// br.close();
|
||||
// } catch (IOException eo) {
|
||||
// eo.printStackTrace();
|
||||
// }
|
||||
// } finally {
|
||||
// if (br != null) {
|
||||
// try {
|
||||
// br.close();
|
||||
// } catch (IOException e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return sb;
|
||||
// }
|
||||
//
|
||||
//}
|
||||
//
|
||||
package com.ruoyi.project.system.controller;
|
||||
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.banboocloud.Codec.BamboocloudFacade;
|
||||
import com.ruoyi.common.utils.reflect.ReflectUtils;
|
||||
import com.ruoyi.framework.web.controller.BaseController;
|
||||
import com.ruoyi.project.system.domain.SysUser;
|
||||
import com.ruoyi.project.system.service.ISysDeptService;
|
||||
import com.ruoyi.project.system.service.ISysPostService;
|
||||
import com.ruoyi.project.system.service.ISysRoleService;
|
||||
import com.ruoyi.project.system.service.ISysUserService;
|
||||
import com.ruoyi.project.system.utils.BamboocloudUtils;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.userdetails.User;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* swagger 用户测试方法
|
||||
* 加密认证
|
||||
* @author ruoyi
|
||||
*/
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/bbc/user")
|
||||
public class BbcController extends BaseController {
|
||||
|
||||
private String bimRequestId;
|
||||
|
||||
private static Logger logger = LoggerFactory.getLogger(ReflectUtils.class);
|
||||
|
||||
|
||||
@Autowired
|
||||
private ISysUserService userService;
|
||||
|
||||
@Autowired
|
||||
private ISysRoleService roleService;
|
||||
|
||||
@Autowired
|
||||
private ISysDeptService deptService;
|
||||
|
||||
@Autowired
|
||||
private ISysPostService postService;
|
||||
|
||||
// @ApiOperation("测试")
|
||||
@RequestMapping()
|
||||
public JSONObject bbcUser() {
|
||||
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("resultCode", "0");
|
||||
jsonObject.put("message", "success");
|
||||
return jsonObject;
|
||||
|
||||
}
|
||||
|
||||
// @ApiOperation("对象属性字段查询")
|
||||
@PostMapping("/schemaService")
|
||||
public String SchemaService(HttpServletRequest req, HttpServletResponse resp) {
|
||||
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
|
||||
// StringBuilder sb = stringBuilder(req);
|
||||
String bodyparam= BamboocloudUtils.getRequestBody(req);
|
||||
logger.info("json--param-->" + bodyparam);
|
||||
// String bodyparam = sb.toString();
|
||||
//解密json字符传
|
||||
bodyparam = BamboocloudUtils.getPlaintext(bodyparam, "123456", "AES");
|
||||
logger.info("json--param-->" + bodyparam);
|
||||
Map<String, Object> reqmap = (Map<String, Object>) JSON.parse(bodyparam);
|
||||
//验证签名
|
||||
if (BamboocloudUtils.verify(reqmap, "MD5").booleanValue()) {
|
||||
String username = (String) reqmap.get("bimRemoteUser");
|
||||
String password = (String) reqmap.get("bimRemotePwd");
|
||||
//判断接口中的调用名及调用密码是否正确
|
||||
if (BamboocloudUtils.checkUsernamePassword(username, password)) {
|
||||
// //添加返回的对象及属性字段名
|
||||
// MapJson mapJson = new MapJson();
|
||||
Map<String, List<Map<String, Object>>> map = new HashMap<>();
|
||||
ArrayList<HashMap<String,Object>> accountList = new ArrayList<>();
|
||||
HashMap<String, Object> nameMap = new HashMap<>();
|
||||
nameMap.put("multivalued",false);
|
||||
nameMap.put("name","userName");
|
||||
nameMap.put("required",true);
|
||||
nameMap.put("type","String");
|
||||
HashMap<String, Object> passMap = new HashMap<>();
|
||||
passMap.put("multivalued",false);
|
||||
passMap.put("name","password");
|
||||
passMap.put("required",true);
|
||||
passMap.put("type","String");
|
||||
HashMap<String, Object> mobileMap = new HashMap<>();
|
||||
mobileMap.put("multivalued",false);
|
||||
mobileMap.put("name","mobile");
|
||||
mobileMap.put("required",true);
|
||||
mobileMap.put("type","String");
|
||||
HashMap<String, Object> statusMap = new HashMap<>();
|
||||
statusMap.put("multivalued",false);
|
||||
statusMap.put("name","status");
|
||||
statusMap.put("required",true);
|
||||
statusMap.put("type","String");
|
||||
accountList.add(nameMap);
|
||||
accountList.add(passMap);
|
||||
accountList.add(mobileMap);
|
||||
accountList.add(statusMap);
|
||||
jsonObject.put("account", accountList);
|
||||
// jsonObject.put("organization", mapJson.organizationList());
|
||||
// jsonObject.put("role", mapJson.roleList());
|
||||
// jsonObject.put("post", mapJson.postList());
|
||||
// jsonObject.put("dict", mapJson.dictDataList());
|
||||
jsonObject.put("bimRequestId", reqmap.get("bimRequestId"));
|
||||
String mapJs = JSON.toJSONString(jsonObject);
|
||||
logger.info(jsonObject.toJSONString());
|
||||
//返回加密的json字符串
|
||||
mapJs = BamboocloudFacade.encrypt(mapJs, "123456", "AES");
|
||||
//jsonObject.put(map);
|
||||
//<Object> values = jsonObject.values();
|
||||
return mapJs;
|
||||
}
|
||||
}
|
||||
jsonObject.put("bimRequestId", bimRequestId);
|
||||
jsonObject.put("resultCode", "505");
|
||||
jsonObject.put("message", "连接失败,请检查连接器配置的参数");
|
||||
logger.info(jsonObject.toJSONString());
|
||||
String mapJs = JSON.toJSONString(jsonObject);
|
||||
//返回加密的json字符串
|
||||
mapJs = BamboocloudFacade.encrypt(mapJs, "123456", "AES");
|
||||
return mapJs;
|
||||
}
|
||||
|
||||
// @ApiOperation("新增用户")
|
||||
// @ApiImplicitParam(name = "user", value = "新增用户信息", dataType = "User")
|
||||
@PostMapping("/UserCreateService")
|
||||
@ResponseBody
|
||||
public String userCreateService(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
||||
|
||||
Map<String, Object> schema = new HashMap<String, Object>();
|
||||
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
|
||||
StringBuilder sb = stringBuilder(req);
|
||||
//修改多值的属性格式方便转换
|
||||
String bodyparam = sb.toString();
|
||||
bodyparam = BamboocloudUtils.getPlaintext(bodyparam, "123456", "AES");
|
||||
String p = bodyparam;
|
||||
String z = "[\"";
|
||||
String y = "\"]";
|
||||
bodyparam.indexOf(z);
|
||||
bodyparam.indexOf(y);
|
||||
while (bodyparam.contains(z)) {
|
||||
p = bodyparam.substring(bodyparam.indexOf(z), bodyparam.indexOf(y) + 2).replace(z, "\"").replace(y, "\"").replace("\",\"", ",");
|
||||
bodyparam = bodyparam.substring(0, bodyparam.indexOf(z)) + p + bodyparam.substring(bodyparam.indexOf(y) + 2, bodyparam.length());
|
||||
}
|
||||
logger.info("json--param-->" + bodyparam);
|
||||
Map<String, Object> reqmap = (Map<String, Object>) JSON.parse(bodyparam);
|
||||
String username = (String) reqmap.get("bimRemoteUser");
|
||||
String password = (String) reqmap.get("bimRemotePwd");
|
||||
|
||||
if (BamboocloudUtils.checkUsernamePassword(username, password)) {
|
||||
/**
|
||||
* 新增用户
|
||||
*/
|
||||
//获取用户创建所需的参数
|
||||
// User user = createUpdateUser(reqmap);
|
||||
String userName = (String) reqmap.get("userName");
|
||||
String pass = (String) reqmap.get("password");
|
||||
|
||||
logger.info("reqmap---------->"+reqmap);
|
||||
SysUser user = new SysUser();
|
||||
user.setUserName(userName);
|
||||
user.setPassword(pass);
|
||||
//用户创建
|
||||
userService.registerUser(user);
|
||||
//获取返回给IAM连接器的唯一标识,用于后续该条数据的更新修改删除
|
||||
String uid = user.getUserId() + "";
|
||||
if (uid != null) {
|
||||
schema.put("uid", uid);
|
||||
schema.put("bimRequestId", reqmap.get("bimRequestId"));
|
||||
schema.put("resultCode", "0");
|
||||
schema.put("message", "success");
|
||||
} else {
|
||||
schema.put("bimRequestId", reqmap.get("bimRequestId"));
|
||||
schema.put("resultCode", "500");
|
||||
schema.put("message", "账号创建失败");
|
||||
}
|
||||
String mapJson = JSON.toJSONString(schema);
|
||||
mapJson = BamboocloudFacade.encrypt(mapJson, "123456", "AES");
|
||||
return mapJson;
|
||||
}
|
||||
schema.put("bimRequestId", reqmap.get("bimRequestId"));
|
||||
schema.put("resultCode", "500");
|
||||
schema.put("message", "账号创建失败,请检查连接器配置的参数");
|
||||
String mapJson = JSON.toJSONString(schema);
|
||||
//返回加密的json字符串
|
||||
mapJson = BamboocloudFacade.encrypt(mapJson, "123456", "AES");
|
||||
return mapJson;
|
||||
}
|
||||
|
||||
|
||||
// @ApiOperation("修改用户")
|
||||
// @ApiImplicitParam(name = "user", value = "修改用户信息", dataType = "User")
|
||||
@PostMapping("/UserUpdateService")
|
||||
@ResponseBody
|
||||
public String userUpdateService(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
||||
|
||||
Map<String, Object> schema = new HashMap<String, Object>();
|
||||
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
|
||||
StringBuilder sb = stringBuilder(req);
|
||||
|
||||
String bodyparam = sb.toString();
|
||||
|
||||
bodyparam = BamboocloudUtils.getPlaintext(bodyparam, "123456", "AES");
|
||||
//修改多值的属性格式方便转换
|
||||
String p = bodyparam;
|
||||
String bdp = bodyparam;
|
||||
String z = "[\"";
|
||||
String y = "\"]";
|
||||
bodyparam.indexOf(z);
|
||||
bodyparam.indexOf(y);
|
||||
while (bodyparam.contains(z)) {
|
||||
p = bodyparam.substring(bodyparam.indexOf(z), bodyparam.indexOf(y) + 2).replace(z, "\"").replace(y, "\"").replace("\",\"", ",");
|
||||
bodyparam = bodyparam.substring(0, bodyparam.indexOf(z)) + p + bodyparam.substring(bodyparam.indexOf(y) + 2, bodyparam.length());
|
||||
}
|
||||
logger.info("json--param-->" + bodyparam);
|
||||
Map<String, Object> reqmap = (Map<String, Object>) JSON.parse(bodyparam);
|
||||
String username = (String) reqmap.get("bimRemoteUser");
|
||||
String password = (String) reqmap.get("bimRemotePwd");
|
||||
if (BamboocloudUtils.checkUsernamePassword(username, password)) {
|
||||
SysUser user = new SysUser();
|
||||
//获取用于更新的参数
|
||||
// user = createUpdateUser(reqmap);
|
||||
String userName = (String) reqmap.get("userName");
|
||||
String pass = (String) reqmap.get("password");
|
||||
|
||||
logger.info("reqmap---------->"+reqmap);
|
||||
user.setUserName(userName);
|
||||
user.setPassword(pass);
|
||||
//获取用于更新的唯一标识
|
||||
user.setUserId(Long.valueOf(String.valueOf(reqmap.get("bimUid"))));
|
||||
//更新用户
|
||||
userService.updateUserStatus(user);
|
||||
schema.put("bimRequestId", reqmap.get("bimRequestId"));
|
||||
schema.put("resultCode", "0");
|
||||
schema.put("message", "success");
|
||||
String mapJson = JSON.toJSONString(schema);
|
||||
mapJson = BamboocloudFacade.encrypt(mapJson, "123456", "AES");
|
||||
logger.info("response----->" + schema);
|
||||
return mapJson;
|
||||
}
|
||||
schema.put("bimRequestId", reqmap.get("bimRequestId"));
|
||||
schema.put("resultCode", "500");
|
||||
schema.put("message", "账号更新失败,请检查连接器配置的参数");
|
||||
String mapJson = JSON.toJSONString(schema);
|
||||
mapJson = BamboocloudFacade.encrypt(mapJson, "123456", "AES");
|
||||
logger.info("response----->" + schema);
|
||||
return mapJson;
|
||||
}
|
||||
|
||||
|
||||
public StringBuilder stringBuilder(HttpServletRequest req) {
|
||||
BufferedReader br = null;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String str = "";
|
||||
try {
|
||||
br = req.getReader();
|
||||
while ((str = br.readLine()) != null) {
|
||||
sb.append(str);
|
||||
}
|
||||
br.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
if (br != null)
|
||||
try {
|
||||
br.close();
|
||||
} catch (IOException eo) {
|
||||
eo.printStackTrace();
|
||||
}
|
||||
} finally {
|
||||
if (br != null) {
|
||||
try {
|
||||
br.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
return sb;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue