소스 검색

提交exchange代码

chenken 7 년 전
부모
커밋
b9ba1b51cb

+ 10 - 1
examcloud-exchange-base/pom.xml

@@ -25,6 +25,15 @@
 			<artifactId>java-sdk</artifactId>
 			<version>3.14</version>
 		</dependency>
-
+		<dependency>
+		    <groupId>com.aliyun</groupId>
+		    <artifactId>aliyun-java-sdk-core</artifactId>
+		    <version>4.0.0</version>
+		</dependency>
+		<dependency>
+			<groupId>com.aliyun</groupId>
+			<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
+			<version>1.1.0</version>
+		</dependency>
 	</dependencies>
 </project>

+ 16 - 0
examcloud-exchange-inner-api-client/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/client/BasicCloudClientSupport.java

@@ -0,0 +1,16 @@
+package cn.com.qmth.examcloud.exchange.inner.api.client;
+
+import cn.com.qmth.examcloud.commons.web.support.CloudClientSupport;
+
+/**
+ * @author WANGWEI
+ *
+ */
+public abstract class BasicCloudClientSupport extends CloudClientSupport {
+
+	@Override
+	public String getUrlPrefix() {
+		return "http://ExamCloud-exchange-inner/api/exchange/inner";
+	}
+
+}

+ 35 - 0
examcloud-exchange-inner-api-client/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/client/SendSmsServiceClient.java

@@ -0,0 +1,35 @@
+package cn.com.qmth.examcloud.exchange.inner.api.client;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import cn.com.qmth.examcloud.exchange.inner.api.SendSmsCloudService;
+import cn.com.qmth.examcloud.exchange.inner.api.request.SendSmsReq;
+import cn.com.qmth.examcloud.exchange.inner.api.response.SendSmsResp;
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2018年7月3日 下午4:01:56
+ * @company 	QMTH
+ * @description SendSmsServiceClient.java
+ */
+@Service
+public class SendSmsServiceClient extends BasicCloudClientSupport implements SendSmsCloudService {
+
+	private static final long serialVersionUID = -2880611326177571371L;
+
+	@Autowired
+	RestTemplate restTemplate;
+
+	@Override
+	protected RestTemplate getRestTemplate() {
+		return restTemplate;
+	}
+
+	@Override
+	public SendSmsResp sendIdentifyingCode(SendSmsReq sendSmsReq) {
+		return post("/sendSms/sendIdentifyingCode", sendSmsReq, SendSmsResp.class);
+	}
+}

+ 1 - 1
examcloud-exchange-inner-api-provider/pom.xml

@@ -16,7 +16,7 @@
 		</dependency>
 		<dependency>
 			<groupId>cn.com.qmth.examcloud.exchange</groupId>
-			<artifactId>examcloud-exchange-inner-client</artifactId>
+			<artifactId>examcloud-exchange-inner-service</artifactId>
 			<version>${examcloud.version}</version>
 		</dependency>
 	</dependencies>

+ 117 - 0
examcloud-exchange-inner-api-provider/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/provider/SendSmsProvider.java

@@ -0,0 +1,117 @@
+package cn.com.qmth.examcloud.exchange.inner.api.provider;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import com.netflix.client.ClientException;
+
+import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
+import cn.com.qmth.examcloud.exchange.inner.api.SendSmsCloudService;
+import cn.com.qmth.examcloud.exchange.inner.api.request.SendSmsReq;
+import cn.com.qmth.examcloud.exchange.inner.api.response.SendSmsResp;
+
+/**
+ * 
+ * @author  	chenken
+ * @date    	2018年7月3日 下午4:03:59
+ * @company 	QMTH
+ * @description SendSmsProvider.java
+ */
+@Controller
+@RequestMapping("${$rmp.cloud.exchange.inner}" + "sendSms")
+public class SendSmsProvider  extends ControllerSupport implements SendSmsCloudService{
+
+	private static final long serialVersionUID = -1497756895732370672L;
+
+	@Override
+	@RequestMapping(method = RequestMethod.POST, value = "/sendIdentifyingCode")
+	public SendSmsResp sendIdentifyingCode(SendSmsReq sendSmsReq) {
+		return null;
+	}
+	
+	
+	
+	//产品名称:云通信短信API产品,开发者无需替换
+    static final String product = "Dysmsapi";
+    //产品域名,开发者无需替换
+    static final String domain = "dysmsapi.aliyuncs.com";
+
+    // TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
+    static final String accessKeyId = "LTAIhSyYIfGx3e9H";
+    static final String accessKeySecret = "NyT0UfUuP900pYhYTM92AEBYP43uZA";
+
+    
+    public static SendSmsResponse sendSms() throws ClientException {
+
+        //可自助调整超时时间
+        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
+        System.setProperty("sun.net.client.defaultReadTimeout", "10000");
+
+        //初始化acsClient,暂不支持region化
+        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
+        DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
+        IAcsClient acsClient = new DefaultAcsClient(profile);
+
+        //组装请求对象-具体描述见控制台-文档部分内容
+        SendSmsRequest request = new SendSmsRequest();
+        //必填:待发送手机号
+        request.setPhoneNumbers("15000000000");
+        //必填:短信签名-可在短信控制台中找到
+        request.setSignName("云通信");
+        //必填:短信模板-可在短信控制台中找到
+        request.setTemplateCode("SMS_1000000");
+        //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
+        request.setTemplateParam("{\"name\":\"Tom\", \"code\":\"123\"}");
+
+        //选填-上行短信扩展码(无特殊需求用户请忽略此字段)
+        //request.setSmsUpExtendCode("90997");
+
+        //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
+        request.setOutId("yourOutId");
+
+        //hint 此处可能会抛出异常,注意catch
+        SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
+
+        return sendSmsResponse;
+    }
+
+
+    public static QuerySendDetailsResponse querySendDetails(String bizId) throws ClientException {
+
+        //可自助调整超时时间
+        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
+        System.setProperty("sun.net.client.defaultReadTimeout", "10000");
+
+        //初始化acsClient,暂不支持region化
+        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
+        DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
+        IAcsClient acsClient = new DefaultAcsClient(profile);
+
+        //组装请求对象
+        QuerySendDetailsRequest request = new QuerySendDetailsRequest();
+        //必填-号码
+        request.setPhoneNumber("15000000000");
+        //可选-流水号
+        request.setBizId(bizId);
+        //必填-发送日期 支持30天内记录查询,格式yyyyMMdd
+        SimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd");
+        request.setSendDate(ft.format(new Date()));
+        //必填-页大小
+        request.setPageSize(10L);
+        //必填-当前页码从1开始计数
+        request.setCurrentPage(1L);
+
+        //hint 此处可能会抛出异常,注意catch
+        QuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request);
+
+        return querySendDetailsResponse;
+    }
+
+	
+	
+	public static void main(String[] args) {
+		
+	}
+	
+}

+ 21 - 0
examcloud-exchange-inner-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/SendSmsCloudService.java

@@ -0,0 +1,21 @@
+package cn.com.qmth.examcloud.exchange.inner.api;
+
+import cn.com.qmth.examcloud.commons.web.cloud.api.CloudService;
+import cn.com.qmth.examcloud.exchange.inner.api.request.SendSmsReq;
+import cn.com.qmth.examcloud.exchange.inner.api.response.SendSmsResp;
+
+/**
+ * 短信发送
+ * @author  	chenken
+ * @date    	2018年7月3日 下午3:32:52
+ * @company 	QMTH
+ * @description SendSmsCloudService.java
+ */
+public interface SendSmsCloudService extends CloudService{
+	
+	/**
+	 * 发送验证码
+	 */
+	public SendSmsResp sendIdentifyingCode(SendSmsReq sendSmsReq);
+	
+}

+ 32 - 0
examcloud-exchange-inner-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/request/SendSmsReq.java

@@ -0,0 +1,32 @@
+package cn.com.qmth.examcloud.exchange.inner.api.request;
+
+import cn.com.qmth.examcloud.commons.web.cloud.api.BaseRequest;
+
+public class SendSmsReq extends BaseRequest{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 8002846980120664036L;
+
+	private String phone;
+	
+	private String message;
+
+	public String getPhone() {
+		return phone;
+	}
+
+	public void setPhone(String phone) {
+		this.phone = phone;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+	public void setMessage(String message) {
+		this.message = message;
+	}
+	
+}

+ 42 - 0
examcloud-exchange-inner-api/src/main/java/cn/com/qmth/examcloud/exchange/inner/api/response/SendSmsResp.java

@@ -0,0 +1,42 @@
+package cn.com.qmth.examcloud.exchange.inner.api.response;
+
+import cn.com.qmth.examcloud.commons.web.cloud.api.BaseResponse;
+
+public class SendSmsResp extends BaseResponse{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -7527034551594325879L;
+
+	private boolean success;
+	
+	private String returnMsg;
+	
+	private String code;
+
+	public boolean isSuccess() {
+		return success;
+	}
+
+	public void setSuccess(boolean success) {
+		this.success = success;
+	}
+
+	public String getReturnMsg() {
+		return returnMsg;
+	}
+
+	public void setReturnMsg(String returnMsg) {
+		this.returnMsg = returnMsg;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+	
+}

+ 1 - 1
examcloud-exchange-inner-client/pom.xml → examcloud-exchange-inner-service/pom.xml

@@ -6,7 +6,7 @@
 		<artifactId>examcloud-exchange</artifactId>
 		<version>2.0-SNAPSHOT</version>
 	</parent>
-	<artifactId>examcloud-exchange-inner-client</artifactId>
+	<artifactId>examcloud-exchange-inner-service</artifactId>
 
 	<dependencies>
 		<dependency>

+ 1 - 1
pom.xml

@@ -16,7 +16,7 @@
 		<module>examcloud-exchange-inner-api</module>
 		<module>examcloud-exchange-inner-api-client</module>
 		<module>examcloud-exchange-inner-api-provider</module>
-		<module>examcloud-exchange-inner-client</module>
+		<module>examcloud-exchange-inner-service</module>
 		<module>examcloud-exchange-outer-api</module>
 		<module>examcloud-exchange-outer-api-provider</module>
 		<module>examcloud-exchange-outer-service</module>