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())); } } }