From fda5a7a696628c9d430c765920ffd976c9532ec5 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Fri, 04 May 2018 16:28:27 +0800
Subject: [PATCH] 运维app

---
 src/main/java/com/moral/entity/OperateUser.java                  |    4 +
 lib/taobao-sdk-java-auto_1455552377940-20160607.jar              |    0 
 src/main/java/com/moral/util/MessageUtils.java                   |   43 ++++++++++++++
 src/main/java/com/moral/controller/MobileController.java         |   52 +++++++++++++++++
 src/main/java/com/moral/service/OperateUserService.java          |    2 
 src/main/java/com/moral/service/impl/OperateUserServiceImpl.java |    5 +
 pom.xml                                                          |   27 +++++++++
 7 files changed, 132 insertions(+), 1 deletions(-)

diff --git a/lib/taobao-sdk-java-auto_1455552377940-20160607.jar b/lib/taobao-sdk-java-auto_1455552377940-20160607.jar
new file mode 100644
index 0000000..1b5f22f
--- /dev/null
+++ b/lib/taobao-sdk-java-auto_1455552377940-20160607.jar
Binary files differ
diff --git a/pom.xml b/pom.xml
index 45eb35b..7125301 100644
--- a/pom.xml
+++ b/pom.xml
@@ -177,6 +177,15 @@
 			<artifactId>jjwt</artifactId>
 			<version>0.9.0</version>
 		</dependency>
+
+		<!-- ������������ -->
+		<dependency>
+			<groupId>com.taobao.api</groupId>
+			<artifactId>taobao-sdk</artifactId>
+			<version>1.0.0</version>
+			<scope>system</scope>
+			<systemPath>${project.basedir}/lib/taobao-sdk-java-auto_1455552377940-20160607.jar</systemPath>
+		</dependency>
 	</dependencies>
 
 	<build>
@@ -204,6 +213,24 @@
 				<groupId>org.springframework.boot</groupId>
 				<artifactId>spring-boot-maven-plugin</artifactId>
 			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-dependency-plugin</artifactId>
+				<version>3.1.0</version>
+				<executions>
+					<execution>
+						<id>copy-dependencies</id>
+						<phase>compile</phase>
+						<goals>
+							<goal>copy-dependencies</goal>
+						</goals>
+						<configuration>
+							<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory>
+							<includeScope>system</includeScope>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
 		</plugins>
 	</build>
 </project>
\ No newline at end of file
diff --git a/src/main/java/com/moral/controller/MobileController.java b/src/main/java/com/moral/controller/MobileController.java
index 7b237af..ba86189 100644
--- a/src/main/java/com/moral/controller/MobileController.java
+++ b/src/main/java/com/moral/controller/MobileController.java
@@ -8,6 +8,9 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
+import com.moral.util.MessageUtils;
+import com.taobao.api.ApiException;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 import com.moral.common.bean.AppData;
@@ -135,4 +138,53 @@
 		List<Organization> organizations = organizationService.getOrganizationsByAreaName(parameters);
 		return new AppData<List<Organization>>(organizations);
 	}
+
+	/**
+	 * Send SMS
+	 *
+	 * @param mobile
+	 * @return
+	 */
+	@PostMapping("sendSms")
+	public AppData<String> sendSms(String mobile) {
+		AppData apiData = new AppData();
+
+		if (StringUtils.isBlank(mobile)){
+			apiData.setErrno(1);
+			apiData.setMessage("������������������������");
+			apiData.setData("{}");
+			return  apiData;
+		}
+		OperateUser user = operateUserService.getOperateUserByMobile(mobile);
+		if (user==null){
+			apiData.setErrno(1);
+			apiData.setMessage("���������������������������");
+			apiData.setData("{}");
+			return  apiData;
+		}
+		//���������������
+		String code = String.valueOf((Math.random() * 9 + 1) * 100000);
+		user.setCode(code);
+		operateUserService.updateOperateUserCode(user);
+
+		//���������������
+		try {
+			int state = MessageUtils.sendMsg(mobile, code);
+			if(state==0){
+				apiData.setErrno(0);
+				apiData.setMessage("���������������������");
+				apiData.setData("{}");
+				return  apiData;
+			}
+			if(state==1){
+				apiData.setErrno(1);
+				apiData.setMessage("���������������������");
+				apiData.setData("{}");
+				return  apiData;
+			}
+		} catch (ApiException e) {
+			e.printStackTrace();
+		}
+		return new AppData<String>("");
+	}
 }
diff --git a/src/main/java/com/moral/entity/OperateUser.java b/src/main/java/com/moral/entity/OperateUser.java
index 4f79eba..99b413f 100644
--- a/src/main/java/com/moral/entity/OperateUser.java
+++ b/src/main/java/com/moral/entity/OperateUser.java
@@ -30,7 +30,9 @@
     private Date createTime;
 
     private Date expireTime;
-    
+
+    private String code;
+
     public Integer getUid() {
         return id;
     }
diff --git a/src/main/java/com/moral/service/OperateUserService.java b/src/main/java/com/moral/service/OperateUserService.java
index ea6e908..a7ead44 100644
--- a/src/main/java/com/moral/service/OperateUserService.java
+++ b/src/main/java/com/moral/service/OperateUserService.java
@@ -25,4 +25,6 @@
 	Integer deleteOperateUsersByLogic(List<Integer> ids);
 
     PageBean queryByPageBean(PageBean pageBean);
+
+	Integer updateOperateUserCode(OperateUser operateUser);
 }
diff --git a/src/main/java/com/moral/service/impl/OperateUserServiceImpl.java b/src/main/java/com/moral/service/impl/OperateUserServiceImpl.java
index 9ef3df8..ebc367d 100644
--- a/src/main/java/com/moral/service/impl/OperateUserServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/OperateUserServiceImpl.java
@@ -130,4 +130,9 @@
 	public PageBean queryByPageBean(PageBean pageBean) {
 		return MyBatisBaseMapUtil.queryPage(operateUserMapper,pageBean,ENTITY_CLASS);
 	}
+
+	@Override
+	public Integer updateOperateUserCode(OperateUser operateUser) {
+		return operateUserMapper.updateByPrimaryKeySelective(operateUser);
+	}
 }
diff --git a/src/main/java/com/moral/util/MessageUtils.java b/src/main/java/com/moral/util/MessageUtils.java
new file mode 100644
index 0000000..5d096cf
--- /dev/null
+++ b/src/main/java/com/moral/util/MessageUtils.java
@@ -0,0 +1,43 @@
+package com.moral.util;
+
+import com.taobao.api.ApiException;
+import com.taobao.api.DefaultTaobaoClient;
+import com.taobao.api.TaobaoClient;
+import com.taobao.api.domain.BizResult;
+import com.taobao.api.request.AlibabaAliqinFcSmsNumSendRequest;
+import com.taobao.api.response.AlibabaAliqinFcSmsNumSendResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class MessageUtils {
+
+    private static Logger logger = LoggerFactory.getLogger(MessageUtils.class);
+
+    public static int sendMsg(String mobile,String code) throws ApiException {
+        String url = "http://gw.api.taobao.com/router/rest";
+        String appkey = "23531128";
+        String secret = "b079269785183c5a7520da9b8047bb42";
+        TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
+        AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
+        req.setExtend("");
+        req.setSmsType("normal");
+        req.setSmsFreeSignName("������������");
+        //${address}������������������������������${level}���������������������
+        //req.setSmsParamString("{address:'" + "addre" + "',level:'" + 2 + "'}");
+        req.setSmsParamString("{code:'" + code + "'}");
+        req.setRecNum(mobile);
+        req.setSmsTemplateCode("SMS_25781236");
+        AlibabaAliqinFcSmsNumSendResponse rsp = client.execute(req);
+        BizResult result = rsp.getResult();
+        if (result == null) {
+            logger.warn("������������������������" + rsp.getBody());
+            return 1;
+        }
+        Boolean success = result.getSuccess();
+        if (!success) {
+            logger.warn("������������������" + rsp.getBody());
+            return 1;
+        }
+        return 0;
+    }
+}

--
Gitblit v1.8.0