/* * Copyright 2013-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.example.smssend.controller; import com.example.smssend.domain.SendMagParam; import com.example.smssend.service.SendService; import com.fasterxml.jackson.core.JsonProcessingException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import java.io.UnsupportedEncodingException; /** * @author theonefx */ @Controller public class SmsController { @Autowired public SendService sendService; @Value("${whiteName}") private String whiteName; /** * 短信发送 * * @return */ @PostMapping("/sendSms") @ResponseBody public Boolean sendMsg(HttpServletRequest request, @RequestBody SendMagParam sendMagParam) throws JsonProcessingException, UnsupportedEncodingException { String clientIp = getClientIp(request); Boolean map = false; if (whiteName.equals(clientIp)) { map = sendService.sendMsg(sendMagParam); } return map; } private String getClientIp(HttpServletRequest request) { String ip = request.getHeader("X-Forwarded-For"); if (ip == null || ip.isEmpty() || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } return ip; } }