Skip to content

Commit 01a52eb

Browse files
committed
增加短信发送逻辑
1 parent 3240ab3 commit 01a52eb

7 files changed

Lines changed: 189 additions & 0 deletions

File tree

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package com.javabaas.server.sms.entity;
2+
3+
/**
4+
* 短信发送结果
5+
* Created by Codi on 2017/6/26.
6+
*/
7+
public class SmsSendResult {
8+
private int Code;
9+
private String message;
10+
11+
private SmsSendResult(int code, String message) {
12+
Code = code;
13+
this.message = message;
14+
}
15+
16+
public static SmsSendResult ok() {
17+
return new SmsSendResult(SmsSendResultCode.OK.getCode(), SmsSendResultCode.OK.getMessage());
18+
}
19+
20+
public static SmsSendResult error(SmsSendResultCode code) {
21+
return new SmsSendResult(code.getCode(), code.getMessage());
22+
}
23+
24+
public int getCode() {
25+
return Code;
26+
}
27+
28+
public void setCode(int code) {
29+
Code = code;
30+
}
31+
32+
public String getMessage() {
33+
return message;
34+
}
35+
36+
public void setMessage(String message) {
37+
this.message = message;
38+
}
39+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package com.javabaas.server.sms.entity;
2+
3+
/**
4+
* 短信发送结果返回码
5+
* Created by Codi on 2017/6/26.
6+
*/
7+
public enum SmsSendResultCode {
8+
9+
OK(0, "成功"),
10+
ILLEGAL_PHONE_NUMBER(1, "手机号不合法"),
11+
AMOUNT_NOT_ENOUGH(2, "余额不足"),
12+
INVALID_PARAM(3, "参数不合法");
13+
14+
private int code;
15+
private String message;
16+
17+
SmsSendResultCode(int code, String message) {
18+
this.code = code;
19+
this.message = message;
20+
}
21+
22+
@Override
23+
public String toString() {
24+
return message;
25+
}
26+
27+
public int getCode() {
28+
return code;
29+
}
30+
31+
public String getMessage() {
32+
return message;
33+
}
34+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.javabaas.server.sms.handler;
2+
3+
import com.javabaas.server.sms.entity.SmsSendResult;
4+
5+
import java.util.Map;
6+
7+
/**
8+
* Created by Codi on 2017/6/26.
9+
*/
10+
public interface ISmsHandler {
11+
12+
/**
13+
* 发送短信
14+
*
15+
* @param phoneNumber 目标电话号码
16+
* @param signName 短信签名
17+
* @param templateCode 模版编号
18+
* @param params 参数
19+
* @return 发送结果
20+
*/
21+
SmsSendResult sendSms(String phoneNumber, String signName, String templateCode, Map<String, String> params);
22+
23+
24+
25+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.javabaas.server.sms.service;
2+
3+
import com.javabaas.server.sms.entity.SmsSendResult;
4+
import com.javabaas.server.sms.handler.ISmsHandler;
5+
import org.springframework.stereotype.Service;
6+
7+
import java.util.Map;
8+
9+
/**
10+
* 短信服务
11+
* Created by Codi on 2017/6/27.
12+
*/
13+
@Service
14+
public class SmsService {
15+
16+
private ISmsHandler smsHandler;
17+
18+
public SmsSendResult sendSms(String phoneNumber, String signName, String templateCode, Map<String, String> params) {
19+
return smsHandler.sendSms(phoneNumber, signName, templateCode, params);
20+
}
21+
22+
}

src/main/java/com/javabaas/server/user/controller/UserController.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,32 @@ public BaasUser loginWithSns(@RequestHeader(value = "JB-AppId") String appId,
175175
return userService.loginWithSns(appId, plat, baasSnsType, auth);
176176
}
177177

178+
/**
179+
* 手机验证码注册登录
180+
*/
181+
@RequestMapping(value = "/loginWithPhone", method = RequestMethod.POST)
182+
@ResponseBody
183+
public BaasUser loginWithPhone(@RequestHeader(value = "JB-AppId") String appId,
184+
@RequestHeader(value = "JB-Plat") String plat,
185+
@RequestBody String body) {
186+
return null;
187+
}
188+
189+
/**
190+
* 获取注册登录短信验证码
191+
*
192+
* @param phoneNumber 手机号码
193+
* @return 请求结果
194+
*/
195+
@RequestMapping(value = "/getSmsCode/{phoneNumber}", method = RequestMethod.GET)
196+
@ResponseBody
197+
public SimpleResult getSmsCode(@RequestHeader(value = "JB-AppId") String appId,
198+
@RequestHeader(value = "JB-Plat") String plat,
199+
@PathVariable String phoneNumber) {
200+
userService.getSmsCode(appId, plat, phoneNumber);
201+
return SimpleResult.success();
202+
}
203+
178204
/**
179205
* 重置sessionToken
180206
*
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.javabaas.server.user.entity;
2+
3+
/**
4+
* Created by Codi on 2017/6/26.
5+
*/
6+
public class BaasPhoneRegister {
7+
8+
private String phoneNumber;
9+
private String smsCode;
10+
11+
public String getPhoneNumber() {
12+
return phoneNumber;
13+
}
14+
15+
public void setPhoneNumber(String phoneNumber) {
16+
this.phoneNumber = phoneNumber;
17+
}
18+
19+
public String getSmsCode() {
20+
return smsCode;
21+
}
22+
23+
public void setSmsCode(String smsCode) {
24+
this.smsCode = smsCode;
25+
}
26+
}

src/main/java/com/javabaas/server/user/service/UserService.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.javabaas.server.object.entity.BaasQuery;
88
import com.javabaas.server.object.service.ObjectService;
99
import com.javabaas.server.user.entity.BaasAuth;
10+
import com.javabaas.server.user.entity.BaasPhoneRegister;
1011
import com.javabaas.server.user.entity.BaasSnsType;
1112
import com.javabaas.server.user.entity.BaasUser;
1213
import com.javabaas.server.user.util.SnsAuthUtil;
@@ -397,6 +398,22 @@ public void deleteUser(String appId, String plat, String name) {
397398
}
398399
}
399400

401+
public BaasUser loginWithPhone(String appId, String plat, String platform, BaasPhoneRegister register) {
402+
//TODO
403+
return null;
404+
}
405+
406+
/**
407+
* 获取短信验证码
408+
* 验证码会与手机号对应
409+
* 缓存在Redis中
410+
*
411+
* @param phoneNumber 手机号
412+
*/
413+
public void getSmsCode(String appId, String plat, String phoneNumber) {
414+
//TODO
415+
}
416+
400417
private String getSessionToken() {
401418
return UUID.randomUUID().toString().replace("-", "");
402419
}

0 commit comments

Comments
 (0)