#NJYCJT-2# 二开代码,单点、定时器、扩展页面等接口开发
parent
ff2d965137
commit
f52a1d3af0
@ -0,0 +1,90 @@
|
||||
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
<%@ page import="weaver.hrm.User" %>
|
||||
<%@ page import="weaver.general.BaseBean" %>
|
||||
<%@ page import="weaver.hrm.HrmUserVarify" %>
|
||||
<%@ page import="org.apache.commons.lang3.StringUtils" %>
|
||||
<%@ page import="java.nio.charset.StandardCharsets" %>
|
||||
<%@ page import="javax.crypto.spec.SecretKeySpec" %>
|
||||
<%@ page import="javax.xml.bind.DatatypeConverter" %>
|
||||
<%@ page import="java.security.NoSuchAlgorithmException" %>
|
||||
<%@ page import="java.security.InvalidKeyException" %>
|
||||
<%@ page import="javax.crypto.*" %>
|
||||
<jsp:useBean id="ResourceComInfo" class="weaver.hrm.resource.ResourceComInfo" scope="page"/>
|
||||
|
||||
<%
|
||||
BaseBean bb = new BaseBean();
|
||||
String host = "https://mip.beta.myspacex.cn/yczg/fw/OA_SSO_Login";
|
||||
String secretKey = "httpsoanjycjtcom";
|
||||
|
||||
String msg = "" ;
|
||||
String jumpUrl = "" ;
|
||||
User user = HrmUserVarify.getUser (request,response);
|
||||
try{
|
||||
if(user !=null){
|
||||
String userid = user.getUID()+"";
|
||||
String workcode = ResourceComInfo.getWorkcode(userid);
|
||||
if(StringUtils.isNotBlank(workcode) && StringUtils.isNotBlank(secretKey)){
|
||||
String token = encryptAES(secretKey,workcode);
|
||||
jumpUrl = host+"?Token="+token ;
|
||||
}else{
|
||||
msg = "获取当前用户工号为空";
|
||||
}
|
||||
}else{
|
||||
msg = "获取当前用户为空";
|
||||
}
|
||||
|
||||
}catch (Exception e){
|
||||
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(jumpUrl)){
|
||||
response.sendRedirect(jumpUrl);
|
||||
}
|
||||
|
||||
%>
|
||||
|
||||
<script type="text/javascript" src="<%=weaver.general.GCONST.getContextPath()%>/cloudstore/resource/pc/jquery/jquery.min.js"></script>
|
||||
<script>
|
||||
|
||||
// window.location.href=viewUrl+"&returnUrl="+window.encodeURIComponent(returnUrl);
|
||||
jQuery(document).ready(function () {
|
||||
var msg = "<%=msg %>";
|
||||
var jumpUrl = "<%=jumpUrl %>";
|
||||
if(jumpUrl =="" && msg !=""){
|
||||
alert(msg);
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<%!
|
||||
/**
|
||||
* AES加密字符串
|
||||
* @return 加密后内容
|
||||
*/
|
||||
public String encryptAES(String password,String data) {
|
||||
String ALGORITHM = "AES";
|
||||
String encrtptData = "" ;
|
||||
try {
|
||||
byte[] keyBytes = password.getBytes(StandardCharsets.UTF_8); // 生成随机的16字节密钥
|
||||
SecretKey secretKey = new SecretKeySpec(keyBytes, ALGORITHM); // 创建SecretKey对象
|
||||
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
|
||||
cipher.init(Cipher.ENCRYPT_MODE, secretKey); // 初始化加密器
|
||||
byte[] encryptedBytes = cipher.doFinal(data.getBytes());
|
||||
encrtptData = DatatypeConverter.printHexBinary(encryptedBytes);
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
e.printStackTrace();
|
||||
} catch (NoSuchPaddingException e) {
|
||||
e.printStackTrace();
|
||||
}catch (InvalidKeyException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IllegalBlockSizeException e) {
|
||||
e.printStackTrace();
|
||||
} catch (BadPaddingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return encrtptData ;
|
||||
}
|
||||
%>
|
@ -0,0 +1,21 @@
|
||||
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
<%@ page import="com.alibaba.fastjson.JSONObject" %>
|
||||
<%@ page import="weaver.interfaces.njycjt.mode.UpdateZjjhzxsj_ModeExpand" %>
|
||||
<jsp:useBean id="bb" class="weaver.general.BaseBean"/>
|
||||
<%
|
||||
|
||||
JSONObject dataJson = new JSONObject();
|
||||
try{
|
||||
UpdateZjjhzxsj_ModeExpand updateZjjhzxsj_ModeExpand = new UpdateZjjhzxsj_ModeExpand();
|
||||
updateZjjhzxsj_ModeExpand.updateZjjhzxsjData();
|
||||
}catch (Exception e){
|
||||
dataJson.put("code",500);
|
||||
}
|
||||
|
||||
dataJson.put("code",200);
|
||||
%>
|
||||
|
||||
<%=dataJson.toJSONString() %>
|
||||
|
||||
|
@ -0,0 +1,90 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
|
||||
<%@ page import="weaver.general.Util,weaver.conn.RecordSet" %>
|
||||
<%@ page import="weaver.hrm.HrmUserVarify" %>
|
||||
<%@ page import="weaver.hrm.User" %>
|
||||
<%@ page import="java.nio.charset.StandardCharsets" %>
|
||||
<%@ page import="javax.crypto.spec.SecretKeySpec" %>
|
||||
<%@ page import="javax.xml.bind.DatatypeConverter" %>
|
||||
<%@ page import="java.security.NoSuchAlgorithmException" %>
|
||||
<%@ page import="java.security.InvalidKeyException" %>
|
||||
<%@ page import="javax.crypto.*" %>
|
||||
<%@ page import="org.apache.commons.lang3.StringUtils" %>
|
||||
<jsp:useBean id="ResourceComInfo" class="weaver.hrm.resource.ResourceComInfo" scope="page"/>
|
||||
<%
|
||||
String secretKey = "httpsoanjycjtcom";
|
||||
|
||||
User user = HrmUserVarify.getUser (request,response);
|
||||
RecordSet rs = new RecordSet();
|
||||
|
||||
String pcurlsrc = "";
|
||||
String userid = user.getUID()+"";
|
||||
String workcode = ResourceComInfo.getWorkcode(userid);
|
||||
String tododataid = request.getParameter("tododataid");
|
||||
String isremark = request.getParameter("isremark");
|
||||
|
||||
if( "0".equals(isremark) || "8".equals(isremark)){
|
||||
rs.executeQuery("select * from ofs_todo_data where id = ?",tododataid);
|
||||
rs.next();
|
||||
pcurlsrc = Util.null2String(rs.getString("pcurlsrc"));
|
||||
}else{
|
||||
rs.executeQuery("select * from ofs_done_data where id = ?",tododataid);
|
||||
rs.next();
|
||||
pcurlsrc = Util.null2String(rs.getString("pcurlsrc"));
|
||||
}
|
||||
|
||||
String token = "";
|
||||
if(StringUtils.isNotBlank(workcode)){
|
||||
token = encryptAES(secretKey,workcode);
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(token)){
|
||||
if(pcurlsrc.contains("#")) {
|
||||
String[] split = pcurlsrc.split("#");
|
||||
if(split[0].contains("?")){
|
||||
pcurlsrc = split[0] + "&Token=" + token + "#" + split[1];
|
||||
}else{
|
||||
pcurlsrc = split[0] + "?Token=" + token + "#" + split[1];
|
||||
}
|
||||
}else if(pcurlsrc.contains("?")){
|
||||
pcurlsrc = pcurlsrc + "&Token=" + token ;
|
||||
}else{
|
||||
pcurlsrc = pcurlsrc + "?Token=" + token ;
|
||||
}
|
||||
}
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
location.replace('<%=pcurlsrc%>');
|
||||
</script>
|
||||
|
||||
|
||||
<%!
|
||||
/**
|
||||
* AES加密字符串
|
||||
* @return 加密后内容
|
||||
*/
|
||||
public String encryptAES(String password,String data) {
|
||||
String ALGORITHM = "AES";
|
||||
String encrtptData = "" ;
|
||||
try {
|
||||
byte[] keyBytes = password.getBytes(StandardCharsets.UTF_8); // 生成随机的16字节密钥
|
||||
SecretKey secretKey = new SecretKeySpec(keyBytes, ALGORITHM); // 创建SecretKey对象
|
||||
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
|
||||
cipher.init(Cipher.ENCRYPT_MODE, secretKey); // 初始化加密器
|
||||
byte[] encryptedBytes = cipher.doFinal(data.getBytes());
|
||||
encrtptData = DatatypeConverter.printHexBinary(encryptedBytes);
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
e.printStackTrace();
|
||||
} catch (NoSuchPaddingException e) {
|
||||
e.printStackTrace();
|
||||
}catch (InvalidKeyException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IllegalBlockSizeException e) {
|
||||
e.printStackTrace();
|
||||
} catch (BadPaddingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return encrtptData ;
|
||||
}
|
||||
%>
|
||||
|
@ -0,0 +1,90 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
|
||||
<%@ page import="weaver.general.Util,weaver.conn.RecordSet" %>
|
||||
<%@ page import="weaver.hrm.HrmUserVarify" %>
|
||||
<%@ page import="weaver.hrm.User" %>
|
||||
<%@ page import="java.nio.charset.StandardCharsets" %>
|
||||
<%@ page import="javax.crypto.spec.SecretKeySpec" %>
|
||||
<%@ page import="javax.xml.bind.DatatypeConverter" %>
|
||||
<%@ page import="java.security.NoSuchAlgorithmException" %>
|
||||
<%@ page import="java.security.InvalidKeyException" %>
|
||||
<%@ page import="javax.crypto.*" %>
|
||||
<%@ page import="org.apache.commons.lang3.StringUtils" %>
|
||||
<jsp:useBean id="ResourceComInfo" class="weaver.hrm.resource.ResourceComInfo" scope="page"/>
|
||||
<%
|
||||
String secretKey = "httpsoanjycjtcom";
|
||||
|
||||
User user = HrmUserVarify.getUser (request,response);
|
||||
RecordSet rs = new RecordSet();
|
||||
|
||||
String pcurlsrc = "";
|
||||
String userid = user.getUID()+"";
|
||||
String workcode = ResourceComInfo.getWorkcode(userid);
|
||||
String tododataid = request.getParameter("tododataid");
|
||||
String isremark = request.getParameter("isremark");
|
||||
|
||||
if( "0".equals(isremark) || "8".equals(isremark)){
|
||||
rs.executeQuery("select * from ofs_todo_data where id = ?",tododataid);
|
||||
rs.next();
|
||||
pcurlsrc = Util.null2String(rs.getString("pcurlsrc"));
|
||||
}else{
|
||||
rs.executeQuery("select * from ofs_done_data where id = ?",tododataid);
|
||||
rs.next();
|
||||
pcurlsrc = Util.null2String(rs.getString("pcurlsrc"));
|
||||
}
|
||||
|
||||
String token = "";
|
||||
if(StringUtils.isNotBlank(workcode)){
|
||||
token = encryptAES(secretKey,workcode);
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(token)){
|
||||
if(pcurlsrc.contains("#")) {
|
||||
String[] split = pcurlsrc.split("#");
|
||||
if(split[0].contains("?")){
|
||||
pcurlsrc = split[0] + "&Token=" + token + "#" + split[1];
|
||||
}else{
|
||||
pcurlsrc = split[0] + "?Token=" + token + "#" + split[1];
|
||||
}
|
||||
}else if(pcurlsrc.contains("?")){
|
||||
pcurlsrc = pcurlsrc + "&Token=" + token ;
|
||||
}else{
|
||||
pcurlsrc = pcurlsrc + "?Token=" + token ;
|
||||
}
|
||||
}
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
location.replace('<%=pcurlsrc%>');
|
||||
</script>
|
||||
|
||||
|
||||
<%!
|
||||
/**
|
||||
* AES加密字符串
|
||||
* @return 加密后内容
|
||||
*/
|
||||
public String encryptAES(String password,String data) {
|
||||
String ALGORITHM = "AES";
|
||||
String encrtptData = "" ;
|
||||
try {
|
||||
byte[] keyBytes = password.getBytes(StandardCharsets.UTF_8); // 生成随机的16字节密钥
|
||||
SecretKey secretKey = new SecretKeySpec(keyBytes, ALGORITHM); // 创建SecretKey对象
|
||||
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
|
||||
cipher.init(Cipher.ENCRYPT_MODE, secretKey); // 初始化加密器
|
||||
byte[] encryptedBytes = cipher.doFinal(data.getBytes());
|
||||
encrtptData = DatatypeConverter.printHexBinary(encryptedBytes);
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
e.printStackTrace();
|
||||
} catch (NoSuchPaddingException e) {
|
||||
e.printStackTrace();
|
||||
}catch (InvalidKeyException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IllegalBlockSizeException e) {
|
||||
e.printStackTrace();
|
||||
} catch (BadPaddingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return encrtptData ;
|
||||
}
|
||||
%>
|
||||
|
@ -0,0 +1,76 @@
|
||||
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
<%@ page import="weaver.conn.RecordSet" %>
|
||||
<%@ page import="weaver.general.Util" %>
|
||||
<%@ page import="org.apache.commons.lang.StringUtils" %>
|
||||
<%@ page import="com.alibaba.fastjson.JSONObject" %>
|
||||
<%@ page import="com.alibaba.fastjson.JSONArray" %>
|
||||
<%@ page import="java.text.SimpleDateFormat" %>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page import="java.util.Calendar" %>
|
||||
<%@ page import="java.util.ArrayList" %>
|
||||
<%@ page import="java.util.List" %>
|
||||
<%@ page import="weaver.general.BaseBean" %>
|
||||
<jsp:useBean id="bb" class="weaver.general.BaseBean"/>
|
||||
<%
|
||||
|
||||
JSONObject dataJson = new JSONObject();
|
||||
RecordSet rs = new RecordSet();
|
||||
String xqny = Util.null2String(request.getParameter("xqny"));
|
||||
String htmc = Util.null2String(request.getParameter("htmc"));
|
||||
bb.writeLog("xqny:"+xqny);
|
||||
bb.writeLog("htmc:"+htmc);
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Calendar c = Calendar.getInstance();//获得一个日历的实例
|
||||
List<String> list = new ArrayList<String>();
|
||||
if(StringUtils.isNotBlank(xqny) && xqny.length()==7){
|
||||
String selectDate = xqny+"-01";
|
||||
for(int i=0;i<6;i++)
|
||||
try{
|
||||
Date date = sdf.parse(selectDate);//初始日期
|
||||
c.setTime(date);//设置日历时间
|
||||
c.add(Calendar.MONTH,i);//在日历的月份上增加6个月
|
||||
String resDate = sdf.format(c.getTime());
|
||||
if(StringUtils.isNotBlank(resDate) && resDate.length()==10){
|
||||
String resMonth = resDate.substring(0,7);
|
||||
bb.writeLog("resMonth:"+resMonth);
|
||||
|
||||
list.add(resMonth);
|
||||
}
|
||||
}catch(Exception e){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
JSONObject yfObject = new JSONObject();
|
||||
String[] field_lisy = new String[]{"yf","yf1","yf2","yf3","yf4","yf5","yf6"};
|
||||
for(int i=0;i<list.size();i++){
|
||||
String zjjhje = "" ;
|
||||
String zjjhyf = list.get(i);
|
||||
|
||||
bb.writeLog("zjjhyf:"+zjjhyf);
|
||||
if(StringUtils.isNotBlank(xqny) && StringUtils.isNotBlank(htmc)){
|
||||
String sql =" SELECT zjjhje FROM uf_zjjhzxsj WHERE zjjhx='" +htmc+"' and zjjhyf='"+zjjhyf+"' " ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
rs.executeQuery(sql);
|
||||
if (rs.next()){
|
||||
zjjhje = Util.null2String(rs.getString("zjjhje"));
|
||||
bb.writeLog("zjjhje:"+zjjhje);
|
||||
}
|
||||
}
|
||||
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("zjjhje",zjjhje);
|
||||
jsonObject.put("zjjhyf",zjjhyf);
|
||||
String field = field_lisy[i];
|
||||
jsonObject.put("field",field);
|
||||
yfObject.put(field,jsonObject);
|
||||
}
|
||||
dataJson.put("data",yfObject);
|
||||
dataJson.put("code",200);
|
||||
%>
|
||||
|
||||
<%=dataJson.toJSONString() %>
|
||||
|
||||
|
@ -0,0 +1,32 @@
|
||||
package test;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
public class Test8 {
|
||||
public static void main(String[] args) {
|
||||
String xqny = "2024-04";
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Calendar c = Calendar.getInstance();//获得一个日历的实例
|
||||
if(StringUtils.isNotBlank(xqny) && xqny.length()==7){
|
||||
String selectDate = xqny+"-01";
|
||||
for(int i=0;i<6;i++)
|
||||
try{
|
||||
Date date = sdf.parse(selectDate);//初始日期
|
||||
c.setTime(date);//设置日历时间
|
||||
c.add(Calendar.MONTH,i);//在日历的月份上增加6个月
|
||||
System.out.println(sdf.format(c.getTime()));
|
||||
String resDate = sdf.format(c.getTime());
|
||||
if(StringUtils.isNotBlank(resDate) && resDate.length()==10){
|
||||
String resMonth = resDate.substring(0,7);
|
||||
System.out.println(resMonth);
|
||||
}
|
||||
}catch(Exception e){
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,549 @@
|
||||
package test;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
public class Test9 {
|
||||
public static void main(String[] args) {
|
||||
|
||||
String EXPERCandidateId = "";
|
||||
String EXPEREducationLevel = "" ;
|
||||
String EXPERName = "";
|
||||
String EXPERGender = "";
|
||||
String EXPERBirthday = "" ;
|
||||
String EXPEROgYearsOfWork = "";
|
||||
String JobId = "";
|
||||
|
||||
String datas = "{\n" +
|
||||
" \"msg\": \"执行成功\",\n" +
|
||||
" \"batchKey\": \"TEST_1711378150237_EJPH\",\n" +
|
||||
" \"code\": 100,\n" +
|
||||
" \"data\": {\n" +
|
||||
" \"statusCode\": \"200\",\n" +
|
||||
" \"header\": \"{}\",\n" +
|
||||
" \"body\": {\n" +
|
||||
" \"data\": [\n" +
|
||||
" {\n" +
|
||||
" \"id\": \"83f48e30-703d-4118-ae88-f33e0e79849e\",\n" +
|
||||
" \"columns\": [\n" +
|
||||
" {\n" +
|
||||
" \"EXPERCandidateId\": {\n" +
|
||||
" \"value\": \"C00598355\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEREducationLevel\": {\n" +
|
||||
" \"value\": \"2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERName\": {\n" +
|
||||
" \"value\": \"卢嘻嘻\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERGender\": {\n" +
|
||||
" \"value\": \"1\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERBirthday\": {\n" +
|
||||
" \"value\": \"1995-10-02 00:00:00\",\n" +
|
||||
" \"valueType\": \"6\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEROgYearsOfWork\": {\n" +
|
||||
" \"value\": \"6年\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"JobId\": [\n" +
|
||||
" {\n" +
|
||||
" \"value\": \"867499ec-2bf6-477e-9b48-5af06303120a\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" },\n" +
|
||||
" {\n" +
|
||||
" \"EXPERCandidateId\": {\n" +
|
||||
" \"value\": \"C00598355\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEREducationLevel\": {\n" +
|
||||
" \"value\": \"2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERName\": {\n" +
|
||||
" \"value\": \"卢嘻嘻\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERGender\": {\n" +
|
||||
" \"value\": \"1\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERBirthday\": {\n" +
|
||||
" \"value\": \"1995-10-02 00:00:00\",\n" +
|
||||
" \"valueType\": \"6\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEROgYearsOfWork\": {\n" +
|
||||
" \"value\": \"6年\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"JobId\": [\n" +
|
||||
" {\n" +
|
||||
" \"value\": \"867499ec-2bf6-477e-9b48-5af06303120a\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" },\n" +
|
||||
" {\n" +
|
||||
" \"EXPERCandidateId\": {\n" +
|
||||
" \"value\": \"C00598355\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEREducationLevel\": {\n" +
|
||||
" \"value\": \"2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERName\": {\n" +
|
||||
" \"value\": \"卢嘻嘻\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERGender\": {\n" +
|
||||
" \"value\": \"1\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERBirthday\": {\n" +
|
||||
" \"value\": \"1995-10-02 00:00:00\",\n" +
|
||||
" \"valueType\": \"6\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEROgYearsOfWork\": {\n" +
|
||||
" \"value\": \"6年\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"JobId\": [\n" +
|
||||
" {\n" +
|
||||
" \"value\": \"867499ec-2bf6-477e-9b48-5af06303120a\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" },\n" +
|
||||
" {\n" +
|
||||
" \"EXPERCandidateId\": {\n" +
|
||||
" \"value\": \"C00598355\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEREducationLevel\": {\n" +
|
||||
" \"value\": \"2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERName\": {\n" +
|
||||
" \"value\": \"卢嘻嘻\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERGender\": {\n" +
|
||||
" \"value\": \"1\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERBirthday\": {\n" +
|
||||
" \"value\": \"1995-10-02 00:00:00\",\n" +
|
||||
" \"valueType\": \"6\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEROgYearsOfWork\": {\n" +
|
||||
" \"value\": \"6年\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"JobId\": [\n" +
|
||||
" {\n" +
|
||||
" \"value\": \"867499ec-2bf6-477e-9b48-5af06303120a\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" },\n" +
|
||||
" {\n" +
|
||||
" \"EXPERCandidateId\": {\n" +
|
||||
" \"value\": \"C00598355\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEREducationLevel\": {\n" +
|
||||
" \"value\": \"2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERName\": {\n" +
|
||||
" \"value\": \"卢嘻嘻\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERGender\": {\n" +
|
||||
" \"value\": \"1\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERBirthday\": {\n" +
|
||||
" \"value\": \"1995-10-02 00:00:00\",\n" +
|
||||
" \"valueType\": \"6\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEROgYearsOfWork\": {\n" +
|
||||
" \"value\": \"6年\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"JobId\": [\n" +
|
||||
" {\n" +
|
||||
" \"value\": \"867499ec-2bf6-477e-9b48-5af06303120a\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" },\n" +
|
||||
" {\n" +
|
||||
" \"EXPERCandidateId\": {\n" +
|
||||
" \"value\": \"C00598355\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEREducationLevel\": {\n" +
|
||||
" \"value\": \"2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERName\": {\n" +
|
||||
" \"value\": \"卢嘻嘻\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERGender\": {\n" +
|
||||
" \"value\": \"1\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERBirthday\": {\n" +
|
||||
" \"value\": \"1995-10-02 00:00:00\",\n" +
|
||||
" \"valueType\": \"6\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEROgYearsOfWork\": {\n" +
|
||||
" \"value\": \"6年\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"JobId\": [\n" +
|
||||
" {\n" +
|
||||
" \"value\": \"867499ec-2bf6-477e-9b48-5af06303120a\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" },\n" +
|
||||
" {\n" +
|
||||
" \"EXPERCandidateId\": {\n" +
|
||||
" \"value\": \"C00598355\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEREducationLevel\": {\n" +
|
||||
" \"value\": \"2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERName\": {\n" +
|
||||
" \"value\": \"卢嘻嘻\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERGender\": {\n" +
|
||||
" \"value\": \"1\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERBirthday\": {\n" +
|
||||
" \"value\": \"1995-10-02 00:00:00\",\n" +
|
||||
" \"valueType\": \"6\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEROgYearsOfWork\": {\n" +
|
||||
" \"value\": \"6年\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"JobId\": [\n" +
|
||||
" {\n" +
|
||||
" \"value\": \"867499ec-2bf6-477e-9b48-5af06303120a\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" },\n" +
|
||||
" {\n" +
|
||||
" \"id\": \"2f726aeb-2df2-48ad-bab5-db811b9354df\",\n" +
|
||||
" \"columns\": [\n" +
|
||||
" {\n" +
|
||||
" \"EXPERCandidateId\": {\n" +
|
||||
" \"value\": \"C00598355\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEREducationLevel\": {\n" +
|
||||
" \"value\": \"2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERName\": {\n" +
|
||||
" \"value\": \"卢嘻嘻\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERGender\": {\n" +
|
||||
" \"value\": \"1\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERBirthday\": {\n" +
|
||||
" \"value\": \"1995-10-02 00:00:00\",\n" +
|
||||
" \"valueType\": \"6\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEROgYearsOfWork\": {\n" +
|
||||
" \"value\": \"6年\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"JobId\": [\n" +
|
||||
" {\n" +
|
||||
" \"value\": \"03ddf35f-7d6d-4ef8-8f0b-7676c365d8a2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" },\n" +
|
||||
" {\n" +
|
||||
" \"EXPERCandidateId\": {\n" +
|
||||
" \"value\": \"C00598355\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEREducationLevel\": {\n" +
|
||||
" \"value\": \"2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERName\": {\n" +
|
||||
" \"value\": \"卢嘻嘻\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERGender\": {\n" +
|
||||
" \"value\": \"1\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERBirthday\": {\n" +
|
||||
" \"value\": \"1995-10-02 00:00:00\",\n" +
|
||||
" \"valueType\": \"6\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEROgYearsOfWork\": {\n" +
|
||||
" \"value\": \"6年\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"JobId\": [\n" +
|
||||
" {\n" +
|
||||
" \"value\": \"03ddf35f-7d6d-4ef8-8f0b-7676c365d8a2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" },\n" +
|
||||
" {\n" +
|
||||
" \"EXPERCandidateId\": {\n" +
|
||||
" \"value\": \"C00598355\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEREducationLevel\": {\n" +
|
||||
" \"value\": \"2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERName\": {\n" +
|
||||
" \"value\": \"卢嘻嘻\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERGender\": {\n" +
|
||||
" \"value\": \"1\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERBirthday\": {\n" +
|
||||
" \"value\": \"1995-10-02 00:00:00\",\n" +
|
||||
" \"valueType\": \"6\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEROgYearsOfWork\": {\n" +
|
||||
" \"value\": \"6年\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"JobId\": [\n" +
|
||||
" {\n" +
|
||||
" \"value\": \"03ddf35f-7d6d-4ef8-8f0b-7676c365d8a2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" },\n" +
|
||||
" {\n" +
|
||||
" \"EXPERCandidateId\": {\n" +
|
||||
" \"value\": \"C00598355\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEREducationLevel\": {\n" +
|
||||
" \"value\": \"2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERName\": {\n" +
|
||||
" \"value\": \"卢嘻嘻\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERGender\": {\n" +
|
||||
" \"value\": \"1\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERBirthday\": {\n" +
|
||||
" \"value\": \"1995-10-02 00:00:00\",\n" +
|
||||
" \"valueType\": \"6\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEROgYearsOfWork\": {\n" +
|
||||
" \"value\": \"6年\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"JobId\": [\n" +
|
||||
" {\n" +
|
||||
" \"value\": \"03ddf35f-7d6d-4ef8-8f0b-7676c365d8a2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" },\n" +
|
||||
" {\n" +
|
||||
" \"EXPERCandidateId\": {\n" +
|
||||
" \"value\": \"C00598355\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEREducationLevel\": {\n" +
|
||||
" \"value\": \"2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERName\": {\n" +
|
||||
" \"value\": \"卢嘻嘻\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERGender\": {\n" +
|
||||
" \"value\": \"1\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERBirthday\": {\n" +
|
||||
" \"value\": \"1995-10-02 00:00:00\",\n" +
|
||||
" \"valueType\": \"6\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEROgYearsOfWork\": {\n" +
|
||||
" \"value\": \"6年\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"JobId\": [\n" +
|
||||
" {\n" +
|
||||
" \"value\": \"03ddf35f-7d6d-4ef8-8f0b-7676c365d8a2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" },\n" +
|
||||
" {\n" +
|
||||
" \"EXPERCandidateId\": {\n" +
|
||||
" \"value\": \"C00598355\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEREducationLevel\": {\n" +
|
||||
" \"value\": \"2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERName\": {\n" +
|
||||
" \"value\": \"卢嘻嘻\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERGender\": {\n" +
|
||||
" \"value\": \"1\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERBirthday\": {\n" +
|
||||
" \"value\": \"1995-10-02 00:00:00\",\n" +
|
||||
" \"valueType\": \"6\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEROgYearsOfWork\": {\n" +
|
||||
" \"value\": \"6年\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"JobId\": [\n" +
|
||||
" {\n" +
|
||||
" \"value\": \"03ddf35f-7d6d-4ef8-8f0b-7676c365d8a2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" },\n" +
|
||||
" {\n" +
|
||||
" \"EXPERCandidateId\": {\n" +
|
||||
" \"value\": \"C00598355\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEREducationLevel\": {\n" +
|
||||
" \"value\": \"2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERName\": {\n" +
|
||||
" \"value\": \"卢嘻嘻\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERGender\": {\n" +
|
||||
" \"value\": \"1\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPERBirthday\": {\n" +
|
||||
" \"value\": \"1995-10-02 00:00:00\",\n" +
|
||||
" \"valueType\": \"6\"\n" +
|
||||
" },\n" +
|
||||
" \"EXPEROgYearsOfWork\": {\n" +
|
||||
" \"value\": \"6年\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" },\n" +
|
||||
" \"JobId\": [\n" +
|
||||
" {\n" +
|
||||
" \"value\": \"03ddf35f-7d6d-4ef8-8f0b-7676c365d8a2\",\n" +
|
||||
" \"valueType\": \"0\"\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" }\n" +
|
||||
" ],\n" +
|
||||
" \"code\": \"200\"\n" +
|
||||
" }\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
|
||||
JSONObject jsonObject = JSONObject.parseObject(datas);
|
||||
JSONObject data2Object = jsonObject.getJSONObject("data");
|
||||
if(data2Object.containsKey("statusCode")){
|
||||
String statusCode = data2Object.getString("statusCode");
|
||||
if("200".equals(statusCode)){
|
||||
JSONObject body2Object = data2Object.getJSONObject("body");
|
||||
if(body2Object.containsKey("data")){
|
||||
JSONArray dataArray = body2Object.getJSONArray("data");
|
||||
if(dataArray.size()>=1){
|
||||
JSONObject resObject = dataArray.getJSONObject(dataArray.size()-1);
|
||||
if(resObject.containsKey("columns")){
|
||||
JSONArray columnsArray = resObject.getJSONArray("columns");
|
||||
JSONObject columnsObject = columnsArray.getJSONObject(columnsArray.size()-1);
|
||||
|
||||
JSONObject EXPERCandidateId_Object = columnsObject.getJSONObject("EXPERCandidateId");
|
||||
EXPERCandidateId = EXPERCandidateId_Object.getString("value");
|
||||
|
||||
JSONObject EXPEREducationLevel_Object = columnsObject.getJSONObject("EXPEREducationLevel");
|
||||
EXPEREducationLevel = EXPEREducationLevel_Object.getString("value");
|
||||
|
||||
JSONObject EXPERName_Object = columnsObject.getJSONObject("EXPERName");
|
||||
EXPERName = EXPERName_Object.getString("value");
|
||||
|
||||
JSONObject EXPERGender_Object = columnsObject.getJSONObject("EXPERGender");
|
||||
EXPERGender = EXPERGender_Object.getString("value");
|
||||
|
||||
JSONObject EXPERBirthday_Object = columnsObject.getJSONObject("EXPERBirthday");
|
||||
EXPERBirthday = EXPERBirthday_Object.getString("value");
|
||||
|
||||
|
||||
JSONObject EXPEROgYearsOfWork_Object = columnsObject.getJSONObject("EXPEROgYearsOfWork");
|
||||
EXPEROgYearsOfWork = EXPEROgYearsOfWork_Object.getString("value");
|
||||
|
||||
|
||||
JSONArray JobId_Array = columnsObject.getJSONArray("JobId");
|
||||
JSONObject JobId_Object = JobId_Array.getJSONObject(JobId_Array.size()-1);
|
||||
JobId = JobId_Object.getString("value");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
JSONObject resObject = new JSONObject();
|
||||
resObject.put("EXPERCandidateId",EXPERCandidateId);
|
||||
resObject.put("EXPEREducationLevel",EXPEREducationLevel);
|
||||
resObject.put("EXPERName",EXPERName);
|
||||
resObject.put("EXPERGender",EXPERGender);
|
||||
resObject.put("EXPERBirthday",EXPERBirthday);
|
||||
resObject.put("EXPEROgYearsOfWork",EXPEROgYearsOfWork);
|
||||
resObject.put("JobId",JobId);
|
||||
|
||||
JSONObject outObject = new JSONObject();
|
||||
outObject.put("code",200);
|
||||
outObject.put("data",resObject);
|
||||
System.out.println(outObject.toString());
|
||||
}
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
package test;
|
||||
|
||||
import javax.crypto.*;
|
||||
import java.security.*;
|
||||
import java.util.Base64;
|
||||
import javax.crypto.spec.SecretKeySpec;
|
||||
import javax.xml.bind.DatatypeConverter;
|
||||
|
||||
public class test3 {
|
||||
private static final String ALGORITHM = "AES"; // 指定加密算法为AES
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
String originalText = "11057"; // 要加密的原始文本
|
||||
String password = "njycjt";
|
||||
byte[] keyBytes = generateKey(password); // 生成随机的16字节密钥
|
||||
|
||||
|
||||
SecretKey secretKey = new SecretKeySpec(keyBytes, ALGORITHM); // 创建SecretKey对象
|
||||
|
||||
|
||||
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); // 选择加密模式和填充方式
|
||||
cipher.init(Cipher.ENCRYPT_MODE, secretKey); // 初始化加密器
|
||||
|
||||
byte[] encryptedBytes = cipher.doFinal(originalText.getBytes()); // 执行加密操作
|
||||
String encryptedText = Base64.getEncoder().encodeToString(encryptedBytes);
|
||||
System.out.println("encryptedBytes:"+ encryptedText);
|
||||
String encryptedText16 = DatatypeConverter.printHexBinary(encryptedBytes);
|
||||
System.out.println("Encrypted Text: " + encryptedText16);
|
||||
|
||||
byte[] decodeds22= DatatypeConverter.parseHexBinary(encryptedText16);
|
||||
System.out.println(new String(decodeds22));
|
||||
|
||||
cipher.init(Cipher.DECRYPT_MODE, secretKey); // 初始化解密器
|
||||
byte[] decryptedBytes = cipher.doFinal(decodeds22); // 执行解密操作
|
||||
System.out.println("Decrypted Text: " + new String(decryptedBytes));
|
||||
|
||||
|
||||
String s2 = "Testing DatatypeConverter.printHexBinary";
|
||||
String encodeds2 = DatatypeConverter.printHexBinary(s2.getBytes());
|
||||
System.out.println(encodeds2);
|
||||
byte[] decodeds2= DatatypeConverter.parseHexBinary(encodeds2);
|
||||
System.out.println(new String(decodeds2));
|
||||
|
||||
|
||||
}
|
||||
|
||||
private static byte[] generateKey(String password) throws NoSuchAlgorithmException {
|
||||
KeyGenerator keyGen = KeyGenerator.getInstance(ALGORITHM);
|
||||
SecureRandom random = new SecureRandom();
|
||||
random.setSeed(password.getBytes());
|
||||
keyGen.init(random);
|
||||
return keyGen.generateKey().getEncoded();
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package test;
|
||||
|
||||
import javax.crypto.BadPaddingException;
|
||||
import javax.crypto.IllegalBlockSizeException;
|
||||
import javax.crypto.NoSuchPaddingException;
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
public class test4 {
|
||||
|
||||
public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException {
|
||||
|
||||
|
||||
String ALGORITHM="AES";
|
||||
String token = "52962E1C6C63AB0DD4F03680E3FAC585";
|
||||
String password = "njycjt";
|
||||
byte[] testjm = javax.xml.bind.DatatypeConverter.parseHexBinary(token);
|
||||
javax.crypto.KeyGenerator keyGen = javax.crypto.KeyGenerator.getInstance(ALGORITHM);
|
||||
java.security.SecureRandom random = new java.security.SecureRandom();
|
||||
random.setSeed(password.getBytes());
|
||||
keyGen.init(random);
|
||||
byte[] keyBytes = keyGen.generateKey().getEncoded();
|
||||
javax.crypto.SecretKey secretKey = new javax.crypto.spec.SecretKeySpec(keyBytes, ALGORITHM);
|
||||
javax.crypto.Cipher cipher = javax.crypto.Cipher.getInstance("AES/ECB/PKCS5Padding");
|
||||
cipher.init(javax.crypto.Cipher.DECRYPT_MODE, secretKey);
|
||||
byte[] decryptedBytes = cipher.doFinal(testjm);
|
||||
String output = new String(decryptedBytes);
|
||||
System.out.println(output);
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package test;
|
||||
|
||||
import javax.crypto.Cipher;
|
||||
import javax.crypto.SecretKey;
|
||||
import javax.crypto.spec.SecretKeySpec;
|
||||
import javax.xml.bind.DatatypeConverter;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
public class test5 {
|
||||
private static final String ALGORITHM = "AES"; // 指定加密算法为AES
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
String password = "httpsoanjycjtcom";
|
||||
String encrypted = "43CE957987904F707E5084E20D3C12A6";
|
||||
byte[] decodeds= DatatypeConverter.parseHexBinary(encrypted);
|
||||
byte[] keyBytes = password.getBytes(StandardCharsets.UTF_8); // 生成随机的16字节密钥
|
||||
SecretKey secretKey = new SecretKeySpec(keyBytes, ALGORITHM); // 创建SecretKey对象
|
||||
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); // 选择加密模式和填充方式
|
||||
cipher.init(Cipher.DECRYPT_MODE, secretKey); // 初始化解密器
|
||||
|
||||
byte[] decryptedBytes = cipher.doFinal(decodeds); // 执行解密操作
|
||||
System.out.println("Decrypted Text: " + new String(decryptedBytes));
|
||||
}
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package test;
|
||||
|
||||
import javax.crypto.Cipher;
|
||||
import javax.crypto.KeyGenerator;
|
||||
import javax.crypto.SecretKey;
|
||||
import javax.crypto.spec.SecretKeySpec;
|
||||
import javax.xml.bind.DatatypeConverter;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.Base64;
|
||||
|
||||
public class test7 {
|
||||
|
||||
private static final String ALGORITHM = "AES"; // 指定加密算法为AES
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
String originalText = "11057"; // 要加密的原始文本
|
||||
String password = "httpsoanjycjtcom";
|
||||
byte[] keyBytes = password.getBytes(StandardCharsets.UTF_8); // 生成随机的16字节密钥
|
||||
SecretKey secretKey = new SecretKeySpec(keyBytes, ALGORITHM); // 创建SecretKey对象
|
||||
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); // 选择加密模式和填充方式
|
||||
cipher.init(Cipher.ENCRYPT_MODE, secretKey); // 初始化加密器
|
||||
|
||||
byte[] encryptedBytes = cipher.doFinal(originalText.getBytes()); // 执行加密操作
|
||||
System.out.println("Encrypted Text: " + DatatypeConverter.printHexBinary(encryptedBytes));
|
||||
|
||||
//
|
||||
//
|
||||
// cipher.init(Cipher.DECRYPT_MODE, secretKey); // 初始化解密器
|
||||
// byte[] decryptedBytes = cipher.doFinal(decodeds22); // 执行解密操作
|
||||
// System.out.println("Decrypted Text: " + new String(decryptedBytes));
|
||||
//
|
||||
//
|
||||
// String s2 = "Testing DatatypeConverter.printHexBinary";
|
||||
// String encodeds2 = DatatypeConverter.printHexBinary(s2.getBytes());
|
||||
// System.out.println(encodeds2);
|
||||
// byte[] decodeds2= DatatypeConverter.parseHexBinary(encodeds2);
|
||||
// System.out.println(new String(decodeds2));
|
||||
|
||||
|
||||
}
|
||||
|
||||
private static byte[] generateKey(String password) throws NoSuchAlgorithmException {
|
||||
return password.getBytes(StandardCharsets.UTF_8);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,79 @@
|
||||
package weaver.interfaces.njycjt.action;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.formmode.setup.ModeRightInfo;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
import weaver.interfaces.workflow.action.Action;
|
||||
import weaver.soa.workflow.request.RequestInfo;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
public class UpdateModeSharePermissionAction implements Action {
|
||||
|
||||
private String modeid;
|
||||
|
||||
public String getModeid() {
|
||||
return modeid;
|
||||
}
|
||||
|
||||
public void setModeid(String modeid) {
|
||||
this.modeid = modeid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String execute(RequestInfo requestInfo) {
|
||||
BaseBean bb = new BaseBean();
|
||||
RecordSet rs = new RecordSet();
|
||||
try{
|
||||
ModeRightInfo modeRightInfo = new ModeRightInfo();
|
||||
if(StringUtils.isNotBlank(modeid)){
|
||||
String tablename = "" ;
|
||||
String sql =" select h.tablename\n" +
|
||||
" from modeinfo t\n" +
|
||||
" inner join workflow_bill h on t.formid = h.id\n" +
|
||||
" where t.id= "+modeid ;
|
||||
rs.executeQuery(sql);
|
||||
if(rs.next()){
|
||||
tablename = Util.null2String(rs.getString("tablename"));
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(tablename) && tablename.startsWith("uf_")){
|
||||
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
|
||||
Map<String,String> map = null;
|
||||
|
||||
sql = " select id,formmodeid,modedatacreater from "+tablename ;
|
||||
rs.executeQuery(sql);
|
||||
while (rs.next()){
|
||||
String formmodeid = Util.null2String(rs.getString("formmodeid"));
|
||||
String modedatacreater = Util.null2String(rs.getString("modedatacreater"));
|
||||
String id = Util.null2String(rs.getString("id"));
|
||||
|
||||
map = new HashMap<String,String>();
|
||||
map.put("formmodeid",formmodeid);
|
||||
map.put("modedatacreater",modedatacreater);
|
||||
map.put("id",id);
|
||||
list.add(map);
|
||||
}
|
||||
|
||||
for(int i=0;i<list.size();i++){
|
||||
Map<String,String> dataMap = list.get(i);
|
||||
|
||||
int formmodeid = Util.getIntValue(Util.null2String(dataMap.get("formmodeid")));
|
||||
int modedatacreater = Util.getIntValue(Util.null2String(dataMap.get("modedatacreater")));
|
||||
int id = Util.getIntValue(Util.null2String(dataMap.get("id")));
|
||||
modeRightInfo.rebuildModeDataShareByEdit(modedatacreater,formmodeid,id);//编辑时重新生成默认共享
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
bb.writeLog("e:"+e.getMessage());
|
||||
requestInfo.getRequestManager().setMessageid("1234");
|
||||
requestInfo.getRequestManager().setMessage("执行附加ACTION异常");
|
||||
return Action.FAILURE_AND_CONTINUE;
|
||||
}
|
||||
return Action.SUCCESS;
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package weaver.interfaces.njycjt.job;
|
||||
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.interfaces.njycjt.util.updateModeforERPXM;
|
||||
import weaver.interfaces.schedule.BaseCronJob;
|
||||
|
||||
public class UpdateERPXMJob extends BaseCronJob {
|
||||
@Override
|
||||
public void execute() {
|
||||
BaseBean bb = new BaseBean();
|
||||
updateModeforERPXM updateModeforERPXM = new updateModeforERPXM();
|
||||
try{
|
||||
updateModeforERPXM.updateModeforERPXM();
|
||||
}catch (Exception e){
|
||||
bb.writeLog("updateModeforERPXM-e:"+e);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package weaver.interfaces.njycjt.job;
|
||||
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.interfaces.njycjt.util.ModeZcjhxUtil;
|
||||
import weaver.interfaces.njycjt.util.QKJLtoMode;
|
||||
import weaver.interfaces.schedule.BaseCronJob;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class UpdateQKJLJob extends BaseCronJob {
|
||||
@Override
|
||||
public void execute() {
|
||||
BaseBean bb = new BaseBean();
|
||||
QKJLtoMode qkjltoMode = new QKJLtoMode();
|
||||
try{
|
||||
qkjltoMode.updateModeforkqjl();
|
||||
}catch (Exception e){
|
||||
bb.writeLog("updateModeforkqjl-e:"+e);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package weaver.interfaces.njycjt.job;
|
||||
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.interfaces.njycjt.mode.UpdateZjjhzxsj_ModeExpand;
|
||||
import weaver.interfaces.schedule.BaseCronJob;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class UpdateZjjhzxJob extends BaseCronJob {
|
||||
@Override
|
||||
public void execute() {
|
||||
BaseBean bb = new BaseBean();
|
||||
try{
|
||||
UpdateZjjhzxsj_ModeExpand updateZjjhzxsj_ModeExpand = new UpdateZjjhzxsj_ModeExpand();
|
||||
Map<String,String> recordMap1 = updateZjjhzxsj_ModeExpand.updateZjjhzxsjData();
|
||||
bb.writeLog("updateZcjhxData-code:"+recordMap1.get("code"));
|
||||
bb.writeLog("updateZcjhxData-msg:"+recordMap1.get("msg"));
|
||||
}catch (Exception e){
|
||||
bb.writeLog("UpdateZjjhzxJob-e:"+e);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,81 @@
|
||||
package weaver.interfaces.njycjt.util;
|
||||
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.conn.RecordSetDataSource;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class QKJLtoMode {
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Map<String,String> updateModeforkqjl(){
|
||||
|
||||
BaseBean bb = new BaseBean();
|
||||
RecordSet rs = new RecordSet(); //ECOLOGY自带数据源
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource("ids"); //自定义数据源
|
||||
String code = "200";
|
||||
|
||||
Map<String,String> recordMap = new HashMap<String,String>();
|
||||
|
||||
try {
|
||||
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
|
||||
Map<String,String> map = null;
|
||||
//查询考勤卡记录
|
||||
String sql =" select registerid,signdate,signtime from view_kaoqin where signDate = dateadd(day, -1, cast(getdate() as date))" ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String REGISTERID = Util.null2String(rsd.getString("REGISTERID"));
|
||||
String signdate = Util.null2String(rsd.getString("signdate"));
|
||||
String signtime = Util.null2String(rsd.getString("signtimeid"));
|
||||
map = new HashMap<String, String>();
|
||||
map.put("REGISTERID",REGISTERID);
|
||||
map.put("signdate",signdate);
|
||||
map.put("signtime",signtime);
|
||||
list.add(map);
|
||||
}
|
||||
|
||||
String sql_ecology ="select count(1) as tj from uf_ys_dkjl where signdate = DATEADD(day, -1, CAST(GETDATE() AS date))" ;
|
||||
bb.writeLog("sql:"+sql_ecology);
|
||||
rs.executeQuery(sql_ecology);
|
||||
rs.next();
|
||||
String tj = Util.null2String(rs.getString("tj"));
|
||||
if(!"0".equals(tj)){
|
||||
sql_ecology="delete from uf_ys_dkjl where signdate = DATEADD(day, -1, CAST(GETDATE() AS date))" ;
|
||||
rs.executeUpdate(sql_ecology);
|
||||
}
|
||||
|
||||
for(int i=0;i<list.size();i++){
|
||||
Map<String,String> dataMap = list.get(i);
|
||||
String REGISTERID = Util.null2String(dataMap.get("REGISTERID"));
|
||||
String signdate = Util.null2String(dataMap.get("signdate"));
|
||||
String signtime = Util.null2String(dataMap.get("signtime"));
|
||||
String ry = "";
|
||||
sql_ecology = "select id from hrmresource where workcode = '"+REGISTERID+"'";
|
||||
rs.executeQuery(sql_ecology);
|
||||
if(rs.next()){
|
||||
ry = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
bb.writeLog("ry:"+ry);
|
||||
sql_ecology = " insert into uf_ys_dkjl(ry,bh,signdate,signtime) values ("+ry+","+REGISTERID+","+signdate+","+signtime+")";
|
||||
bb.writeLog("sql_ecology:"+sql_ecology);
|
||||
rs.executeUpdate(sql_ecology);
|
||||
}
|
||||
}catch (Exception e){
|
||||
bb.writeLog("updateZcjhxData-e:"+e);
|
||||
code = "500";
|
||||
}
|
||||
String msg = "";
|
||||
recordMap.put("code",code);
|
||||
recordMap.put("msg",msg);
|
||||
return recordMap;
|
||||
}
|
||||
}
|
@ -0,0 +1,106 @@
|
||||
package weaver.interfaces.njycjt.util;
|
||||
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.conn.RecordSetDataSource;
|
||||
import weaver.formmode.setup.ModeRightInfo;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
public class updateModeforERPXM {
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Map<String,String> updateModeforERPXM(){
|
||||
|
||||
BaseBean bb = new BaseBean();
|
||||
RecordSet rs = new RecordSet(); //ECOLOGY自带数据源
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource("ids"); //自定义数据源
|
||||
String code = "200";
|
||||
|
||||
Map<String,String> recordMap = new HashMap<String,String>();
|
||||
|
||||
try {
|
||||
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
|
||||
Map<String,String> map = null;
|
||||
|
||||
String modeTable = "uf_xmxx_mn";
|
||||
String formmodeid = "" ;
|
||||
String sql =" select k.id from modeinfo k \n" +
|
||||
" inner join workflow_bill l on formid = l.id\n" +
|
||||
" where l.tablename = '"+modeTable+"' " ;
|
||||
|
||||
rs.execute(sql);
|
||||
if(rs.next()){
|
||||
formmodeid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
|
||||
ModeRightInfo modeRightInfo = new ModeRightInfo();
|
||||
SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd");
|
||||
SimpleDateFormat formatter2 = new SimpleDateFormat("HH:mm:ss");
|
||||
String currentdate = formatter1.format(new Date());
|
||||
String currenttime = formatter2.format(new Date());
|
||||
String modedatacreater = "1";
|
||||
String modedatacreatertype = "0";
|
||||
|
||||
|
||||
String updatetime = "";
|
||||
String sql_ecology="select updatetime from uf_erpxm_update where updatetype=0";
|
||||
rs.execute(sql_ecology);
|
||||
if(rs.next()){
|
||||
updatetime = Util.null2String(rsd.getString("updatetime"));
|
||||
}
|
||||
|
||||
//查询项目信息
|
||||
sql =" select id,xmmc,sjxm,isdel,updtime from erp_xm where left('updtime',19) > '"+updatetime+"'" ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
String xmmc = Util.null2String(rsd.getString("xmmc"));
|
||||
String sjxm = Util.null2String(rsd.getString("sjxm"));
|
||||
String isdel = Util.null2String(rsd.getString("isdel"));
|
||||
map = new HashMap<String, String>();
|
||||
map.put("id",id);
|
||||
map.put("xmmc",xmmc);
|
||||
map.put("sjxm",sjxm);
|
||||
map.put("isdel",isdel);
|
||||
list.add(map);
|
||||
}
|
||||
|
||||
|
||||
for(int i=0;i<list.size();i++){
|
||||
Map<String,String> dataMap = list.get(i);
|
||||
String xmid = Util.null2String(dataMap.get("id"));
|
||||
String xmmc = Util.null2String(dataMap.get("xmmc"));
|
||||
String sjxmid = Util.null2String(dataMap.get("sjxm"));
|
||||
String sfysc = Util.null2String(dataMap.get("isdel"));
|
||||
sql_ecology = "select count(1) tj from uf_xmxx_mn where xmid= '" + xmid + "'";
|
||||
rs.executeQuery(sql_ecology);
|
||||
if(rs.next()){
|
||||
sql_ecology = "update uf_xmxx_mn set sfysc = '"+sfysc+"', xmmc = '"+xmmc+"',sjxmid = '" + sjxmid + "' where xmid = '" + xmid + "'";
|
||||
bb.writeLog("sql_ecology:"+sql_ecology);
|
||||
rs.executeUpdate(sql_ecology);
|
||||
}else{
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
sql_ecology = "insert into uf_xmxx_mn \n" +
|
||||
" (xmid,xmmc,sjxmid,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,MODEUUID) \n" +
|
||||
" values " +
|
||||
" ('"+xmid+"','"+xmmc+"','"+sjxmid+"',"+formmodeid+",1,0,'"+currentdate+"','"+currenttime+"','"+uuid+"')";
|
||||
bb.writeLog("sql_ecology:"+sql_ecology);
|
||||
rs.executeUpdate(sql_ecology);
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
bb.writeLog("updateModeforERPXM-e:"+e);
|
||||
code = "500";
|
||||
}
|
||||
String msg = "";
|
||||
recordMap.put("code",code);
|
||||
recordMap.put("msg",msg);
|
||||
return recordMap;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue