Przeglądaj źródła

调整redis存储策略

刘韬 5 lat temu
rodzic
commit
99c41a9fbe

+ 19 - 17
PacsOnline_Wechat_Doctor/pom.xml

@@ -1,14 +1,15 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.zskk</groupId>
-  <artifactId>PacsOnline_Wechat_Doctor</artifactId>
-  <packaging>war</packaging>
-  <version>0.0.1-SNAPSHOT</version>
-  <name>PacsOnline_Wechat_Doctor</name>
-  <url>http://maven.apache.org</url>
-  
-  <properties>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>com.zskk</groupId>
+	<artifactId>PacsOnline_Wechat_Doctor</artifactId>
+	<packaging>war</packaging>
+	<version>0.0.1-SNAPSHOT</version>
+	<name>PacsOnline_Wechat_Doctor</name>
+	<url>http://maven.apache.org</url>
+
+	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<jdk.version>11</jdk.version>
 	</properties>
@@ -66,12 +67,13 @@
 			<version>4.0.1</version>
 			<scope>provided</scope>
 		</dependency>
-<!--  		<dependency>
-    <groupId>com.jfinal</groupId>
-    <artifactId>jetty-server</artifactId>
-    <version>2019.3</version>
-    <scope>provided</scope>
-</dependency> -->
+		<dependency>
+			<groupId>com.aliyun</groupId>
+			<artifactId>aliyun-java-sdk-core</artifactId>
+			<version>4.1.0</version>
+		</dependency>
+		<!-- <dependency> <groupId>com.jfinal</groupId> <artifactId>jetty-server</artifactId> 
+			<version>2019.3</version> <scope>provided</scope> </dependency> -->
 	</dependencies>
 
 	<build>

+ 11 - 31
PacsOnline_Wechat_Doctor/src/main/java/com/zskk/controller/WxaUserApiController.java

@@ -2,8 +2,10 @@ package com.zskk.controller;
 
 import java.security.AlgorithmParameters;
 import java.security.Key;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
+import java.util.List;
 
 import javax.crypto.Cipher;
 import javax.crypto.spec.IvParameterSpec;
@@ -19,7 +21,6 @@ import com.jfinal.plugin.redis.Redis;
 import com.jfinal.weixin.sdk.api.ApiConfigKit;
 import com.jfinal.weixin.sdk.api.ApiResult;
 import com.jfinal.weixin.sdk.cache.IAccessTokenCache;
-import com.jfinal.weixin.sdk.encrypt.WxaBizDataCrypt;
 import com.jfinal.weixin.sdk.utils.Charsets;
 import com.jfinal.wxaapp.api.WxaUserApi;
 import com.jfinal.wxaapp.jfinal.WxaController;
@@ -81,7 +82,9 @@ public class WxaUserApiController extends WxaController {
 		if (doctors != null) {
 			doctors.setPassword("");
 			String tokenKey = "TOKEN_WXA_" + StrKit.getRandomUUID();
-			Redis.use("pc").setex(tokenKey, 7200, doctors.toJson());
+			List<Doctors> doctors2 = new ArrayList<Doctors>(1);
+			doctors2.add(doctors);
+			Redis.use("pc").setex(tokenKey, 7200, doctors2);
 			loginBean.setDoctorBean(doctors);
 			loginBean.setToken(tokenKey);
 		}
@@ -271,37 +274,14 @@ public class WxaUserApiController extends WxaController {
 		doctorsWechat.setDoctorId(doctors.getId());
 		doctorsWechat.update();
 		LoginBean loginBean = new LoginBean();
-		loginBean.setSessionId(sessionId);
+		doctors.setPassword("");
+		String tokenKey = "TOKEN_WXA_" + StrKit.getRandomUUID();
+		List<Doctors> doctors2 = new ArrayList<Doctors>(1);
+		doctors2.add(doctors);
+		Redis.use("pc").setex(tokenKey, 7200, doctors2);
 		loginBean.setDoctorBean(doctors);
+		loginBean.setToken(tokenKey);
 		renderJson(new ResultBean(loginBean));
 
 	}
-	
-	public String decrypt(String encryptedData, String ivStr, String sessionKey) {
-        byte[] bizData = Base64Kit.decode(encryptedData);
-        byte[] keyByte = Base64Kit.decode(sessionKey);
-        byte[] ivByte  = Base64Kit.decode(ivStr);
-        try {
-            Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
-            Key sKeySpec = new SecretKeySpec(keyByte, "AES");
-            // 初始化
-            AlgorithmParameters params = AlgorithmParameters.getInstance("AES");
-            params.init(new IvParameterSpec(ivByte));
-            cipher.init(Cipher.DECRYPT_MODE, sKeySpec, params);
-            byte[] original = cipher.doFinal(bizData);
-            // 去除补位字符
-            byte[] result = decode(original);
-            return new String(result, Charsets.UTF_8);
-        } catch (Exception e) {
-            throw new RuntimeException("aes解密失败");
-        }
-    }
-	
-    byte[] decode(byte[] decrypted) {
-        int pad = (int) decrypted[decrypted.length - 1];
-        if (pad < 1 || pad > 32) {
-            pad = 0;
-        }
-        return Arrays.copyOfRange(decrypted, 0, decrypted.length - pad);
-    }
 }

+ 41 - 0
PacsOnline_Wechat_Doctor/src/main/java/com/zskk/service/SmsService.java

@@ -0,0 +1,41 @@
+package com.zskk.service;
+
+import com.aliyuncs.CommonRequest;
+import com.aliyuncs.CommonResponse;
+import com.aliyuncs.DefaultAcsClient;
+import com.aliyuncs.IAcsClient;
+import com.aliyuncs.exceptions.ClientException;
+import com.aliyuncs.exceptions.ServerException;
+import com.aliyuncs.http.MethodType;
+import com.aliyuncs.profile.DefaultProfile;
+
+public class SmsService {
+	
+	public static void sendSmsCode(String phone) {
+		DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", "LTAImzRGKfWaL7Vi", "GjWdd2cdHtbQkhhnhSxNbw0QChKD98");
+        IAcsClient client = new DefaultAcsClient(profile);
+
+        CommonRequest request = new CommonRequest();
+        request.setMethod(MethodType.POST);
+        request.setDomain("dysmsapi.aliyuncs.com");
+        request.setVersion("2017-05-25");
+        request.setAction("SendSms");
+        request.putQueryParameter("RegionId", "cn-beijing");
+        request.putQueryParameter("PhoneNumbers", "18141913818");
+        request.putQueryParameter("SignName", "中世康恺");
+        request.putQueryParameter("TemplateCode", "SMS_163620994");
+        request.putQueryParameter("TemplateParam", "{\"code\":1223}");
+        try {
+            CommonResponse response = client.getCommonResponse(request);
+            System.out.println(response.getData());
+        } catch (ServerException e) {
+            e.printStackTrace();
+        } catch (ClientException e) {
+            e.printStackTrace();
+        }
+	}
+
+	public static void main(String[] args) {
+		sendSmsCode("");
+	}
+}