package com.yeshi.fanli.controller.client;
|
|
import java.io.PrintWriter;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
import com.yeshi.fanli.entity.accept.AcceptData;
|
import com.yeshi.fanli.entity.bus.user.UserInfo;
|
import com.yeshi.fanli.exception.SMSException;
|
import com.yeshi.fanli.service.inter.user.SMSService;
|
import com.yeshi.fanli.service.inter.user.UserInfoService;
|
import com.yeshi.fanli.util.RedisManager;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
|
import org.yeshi.utils.JsonUtil;
|
|
@Controller
|
@RequestMapping("api/v1/sms")
|
public class SMSController {
|
|
@Resource
|
private SMSService smsService;
|
|
@Resource
|
private RedisManager redisManager;
|
|
@Resource
|
private UserInfoService userInfoService;
|
|
// 发送短信
|
|
@RequestMapping(value = "sendSMS", method = RequestMethod.POST)
|
public void sendMSM(AcceptData acceptData, String phone, Long uid, Integer type, PrintWriter out) {
|
sendMSM(acceptData, phone, uid, type, StringUtil.Md5(phone + "-" + "-" + uid + "-" + type), out);
|
}
|
|
@RequestSerializableByKey(key = "key")
|
public void sendMSM(AcceptData acceptData, String phone, Long uid, Integer type, String key, PrintWriter out) {
|
try {
|
if (phone.contains("**") && uid != null && uid > 0) {
|
UserInfo userInfo = userInfoService.getUserById(uid);
|
if (userInfo == null) {
|
out.print(JsonUtil.loadFalseResult(2, "用户不存在"));
|
return;
|
} else if (StringUtil.isNullOrEmpty(userInfo.getPhone())) {
|
out.print(JsonUtil.loadFalseResult(3, "尚未绑定电话号码"));
|
return;
|
}
|
phone = userInfo.getPhone();
|
}
|
|
if (!StringUtil.isMobile(phone)) {
|
out.print(JsonUtil.loadFalseResult(4, "电话号码格式不正确"));
|
return;
|
}
|
String msg = smsService.sendLoginVCode(phone);
|
|
out.print(JsonUtil.loadTrueResult("发送成功"));
|
} catch (SMSException e) {
|
out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
|
}
|
}
|
|
}
|