diff --git a/user-service/pom.xml b/user-service/pom.xml
index 9d3bb1f..25e3da6 100644
--- a/user-service/pom.xml
+++ b/user-service/pom.xml
@@ -163,7 +163,11 @@
jedis
2.9.0
-
+
+ com.aliyun
+ aliyun-java-sdk-core
+ 4.5.3
+
diff --git a/user-service/src/main/java/com/hp/user/service/constants/UserConstants.java b/user-service/src/main/java/com/hp/user/service/constants/UserConstants.java
new file mode 100644
index 0000000..1105367
--- /dev/null
+++ b/user-service/src/main/java/com/hp/user/service/constants/UserConstants.java
@@ -0,0 +1,14 @@
+package com.hp.user.service.constants;
+
+public class UserConstants {
+
+ /**
+ * 验证码redis前缀
+ */
+ public static String VERIFICATION_CODE = "verificationCode@";
+ /**
+ * rediskey失效时间
+ */
+ public static int EXPIRE_SECONDS = 900;
+
+}
diff --git a/user-service/src/main/java/com/hp/user/service/controller/AreaController.java b/user-service/src/main/java/com/hp/user/service/controller/AreaController.java
index 89c739c..ff4299b 100644
--- a/user-service/src/main/java/com/hp/user/service/controller/AreaController.java
+++ b/user-service/src/main/java/com/hp/user/service/controller/AreaController.java
@@ -1,10 +1,12 @@
package com.hp.user.service.controller;
import com.hp.user.client.entity.AreaVO;
-import com.hp.user.utils.HttpResult;
+
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.hp.user.client.service.UserAreaService;
+import com.hp.user.service.utils.HttpResult;
+
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/user-service/src/main/java/com/hp/user/service/controller/CompanyController.java b/user-service/src/main/java/com/hp/user/service/controller/CompanyController.java
index c159262..e922ed9 100644
--- a/user-service/src/main/java/com/hp/user/service/controller/CompanyController.java
+++ b/user-service/src/main/java/com/hp/user/service/controller/CompanyController.java
@@ -3,8 +3,9 @@ package com.hp.user.service.controller;
import com.hp.user.client.entity.*;
import com.hp.user.client.service.AuditService;
import com.hp.user.client.service.CustomerCompanyService;
-import com.hp.user.util.IdWorker;
-import com.hp.user.utils.HttpResult;
+import com.hp.user.service.utils.HttpResult;
+import com.hp.user.service.utils.IdWorker;
+
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/user-service/src/main/java/com/hp/user/service/controller/MessageController.java b/user-service/src/main/java/com/hp/user/service/controller/MessageController.java
index 11a07f1..a661fd2 100644
--- a/user-service/src/main/java/com/hp/user/service/controller/MessageController.java
+++ b/user-service/src/main/java/com/hp/user/service/controller/MessageController.java
@@ -5,6 +5,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.hp.user.client.service.MessageService;
+import com.hp.user.service.utils.SendSmsUtil;
import io.swagger.annotations.Api;
@@ -21,6 +22,7 @@ public class MessageController {
@Autowired
private MessageService messageService;
+
/**
* 发送验证码
* @param phoneNumber
diff --git a/user-service/src/main/java/com/hp/user/service/controller/StationController.java b/user-service/src/main/java/com/hp/user/service/controller/StationController.java
index e4241d4..1e937b2 100644
--- a/user-service/src/main/java/com/hp/user/service/controller/StationController.java
+++ b/user-service/src/main/java/com/hp/user/service/controller/StationController.java
@@ -3,8 +3,9 @@ package com.hp.user.service.controller;
import com.hp.user.client.entity.StationPage;
import com.hp.user.client.entity.StationVO;
import com.hp.user.client.service.StationService;
-import com.hp.user.util.IdWorker;
-import com.hp.user.utils.HttpResult;
+import com.hp.user.service.utils.HttpResult;
+import com.hp.user.service.utils.IdWorker;
+
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/user-service/src/main/java/com/hp/user/service/impl/MessageServiceImpl.java b/user-service/src/main/java/com/hp/user/service/impl/MessageServiceImpl.java
index 3b6fc8f..1823ec4 100644
--- a/user-service/src/main/java/com/hp/user/service/impl/MessageServiceImpl.java
+++ b/user-service/src/main/java/com/hp/user/service/impl/MessageServiceImpl.java
@@ -1,8 +1,17 @@
package com.hp.user.service.impl;
+import java.util.Map;
+import java.util.Random;
+
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hp.user.client.service.MessageService;
+import com.hp.user.service.constants.UserConstants;
+import com.hp.user.service.redis.RedisOperation;
+import com.hp.user.service.utils.SendSmsUtil;
+
+import redis.clients.jedis.Jedis;
/**
* 信息服务实现类
@@ -12,11 +21,37 @@ import com.hp.user.client.service.MessageService;
*/
@Service
public class MessageServiceImpl implements MessageService {
+
+ @Autowired
+ private SendSmsUtil sendSmsUtil;
+ @Autowired
+ private RedisOperation redisOperation;
+
+
@Override
public void sendVerificationCode(String phone) {
- // TODO Auto-generated method stub
-
+ try {
+ Random rd = new Random();
+
+ StringBuilder code = new StringBuilder();
+ for(int i=0;i<6;i++) {
+ code.append(rd.nextInt(10));
+ }
+ String codeStr = code.toString();
+ Map map = sendSmsUtil.sendVerificationCode(phone, codeStr);
+ if("OK".equals(map.get("Code"))) {
+ //调用阿里云接口成功
+ //调用成功后需要将code缓存到redis中
+ Jedis jedis = redisOperation.getRedis();
+ jedis.setex(UserConstants.VERIFICATION_CODE+phone, UserConstants.EXPIRE_SECONDS, codeStr);
+ jedis.close();
+ }else {
+ //调用失败阿里云接口成功
+ }
+ }catch(Exception e) {
+
+ }
}
@Override
diff --git a/user-service/src/main/java/com/hp/user/service/impl/StationServiceImpl.java b/user-service/src/main/java/com/hp/user/service/impl/StationServiceImpl.java
index 7f825dc..4fd3152 100644
--- a/user-service/src/main/java/com/hp/user/service/impl/StationServiceImpl.java
+++ b/user-service/src/main/java/com/hp/user/service/impl/StationServiceImpl.java
@@ -10,7 +10,6 @@ import com.hp.user.client.service.StationService;
import com.hp.user.service.dao.StationMapper;
import com.hp.user.service.entity.CustomerCompany;
import com.hp.user.service.entity.Station;
-import com.hp.user.util.IdWorker;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/user-service/src/main/java/com/hp/user/service/redis/RedisOperation.java b/user-service/src/main/java/com/hp/user/service/redis/RedisOperation.java
index e286f34..851932e 100644
--- a/user-service/src/main/java/com/hp/user/service/redis/RedisOperation.java
+++ b/user-service/src/main/java/com/hp/user/service/redis/RedisOperation.java
@@ -1,11 +1,5 @@
package com.hp.user.service.redis;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.ApplicationArguments;
diff --git a/user-service/src/main/java/com/hp/user/service/utils/HttpResult.java b/user-service/src/main/java/com/hp/user/service/utils/HttpResult.java
new file mode 100644
index 0000000..0576c68
--- /dev/null
+++ b/user-service/src/main/java/com/hp/user/service/utils/HttpResult.java
@@ -0,0 +1,62 @@
+package com.hp.user.utils;
+import java.io.Serializable;
+
+public class HttpResult implements Serializable {
+ private int code; // 状态码
+ private String message;
+ private Object data;
+
+ public HttpResult() {
+
+ }
+
+ public HttpResult(int code, String message, Object data) {
+ this.code = code;
+ this.message = message;
+ this.data = data;
+ }
+
+ public static HttpResult success() {
+ return new HttpResult(0, "操作成功", "");
+ }
+
+ public static HttpResult success(Object data) {
+ return new HttpResult(0, "操作成功", data);
+ }
+
+ public static HttpResult success(String message, Object data) {
+ return new HttpResult(0, message, data);
+ }
+
+ public static HttpResult fail() {
+ return new HttpResult(-1, "操作失败", "");
+ }
+
+ public static HttpResult fail(String message) {
+ return new HttpResult(-1, message, "");
+ }
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public Object getData() {
+ return data;
+ }
+
+ public void setData(Object data) {
+ this.data = data;
+ }
+}
\ No newline at end of file
diff --git a/user-service/src/main/java/com/hp/user/util/IdWorker.java b/user-service/src/main/java/com/hp/user/service/utils/IdWorker.java
similarity index 99%
rename from user-service/src/main/java/com/hp/user/util/IdWorker.java
rename to user-service/src/main/java/com/hp/user/service/utils/IdWorker.java
index f80689c..570887a 100644
--- a/user-service/src/main/java/com/hp/user/util/IdWorker.java
+++ b/user-service/src/main/java/com/hp/user/service/utils/IdWorker.java
@@ -1,4 +1,4 @@
-package com.hp.user.util;
+package com.hp.user.service.utils;
/**
* Id生成器
diff --git a/user-service/src/main/java/com/hp/user/service/utils/SendSmsUtil.java b/user-service/src/main/java/com/hp/user/service/utils/SendSmsUtil.java
new file mode 100644
index 0000000..7e0c821
--- /dev/null
+++ b/user-service/src/main/java/com/hp/user/service/utils/SendSmsUtil.java
@@ -0,0 +1,78 @@
+package com.hp.user.service.utils;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.stereotype.Component;
+
+import com.alibaba.fastjson.JSONObject;
+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.profile.DefaultProfile;
+import com.google.gson.Gson;
+
+@Component
+public class SendSmsUtil implements ApplicationRunner{
+
+ @Value("${aliyun.regionId}")
+ private String regionId;
+ @Value("${aliyun.accessKeyId}")
+ private String accessKeyId;
+ @Value("${aliyun.secret}")
+ private String secret;
+ @Value("${aliyun.signName}")
+ private String signName;
+ @Value("${aliyun.templateCode}")
+ private String templateCode;
+
+ private DefaultProfile profile = null;
+
+ @Override
+ public void run(ApplicationArguments args) throws Exception {
+ if(profile == null) {
+ profile = DefaultProfile.getProfile(regionId, accessKeyId, secret);
+ }
+
+ }
+
+ /**
+ * 验证码发送
+ * @param phoneNumbers 手机号码
+ * @param code 6位随机验证码
+ * @return
+ * @throws ServerException
+ * @throws ClientException
+ */
+ public Map sendVerificationCode(String phoneNumbers,String code) throws ServerException, ClientException {
+ IAcsClient client = new DefaultAcsClient(profile);
+ CommonRequest request = new CommonRequest();
+ request.setSysDomain("dysmsapi.aliyuncs.com");
+ request.setSysVersion("2017-05-25");
+ request.setSysAction("SendSms");
+ // 接收短信的手机号码
+ request.putQueryParameter("PhoneNumbers", phoneNumbers);
+ // 短信签名名称。请在控制台签名管理页面签名名称一列查看(必须是已添加、并通过审核的短信签名)。
+ request.putQueryParameter("SignName", signName);
+ // 短信模板ID
+ request.putQueryParameter("TemplateCode", templateCode);
+ // 短信模板变量对应的实际值,JSON格式。
+ JSONObject codeJson = new JSONObject();
+ codeJson.put("code", code);
+ request.putQueryParameter("TemplateParam", codeJson.toJSONString());
+ CommonResponse commonResponse = client.getCommonResponse(request);
+ String data = commonResponse.getData();
+ String sData = data.replaceAll("'\'", "");
+// log_print("sendSms", sData);
+ Gson gson = new Gson();
+ Map map = gson.fromJson(sData, Map.class);
+ return map;
+ }
+
+
+
+}