package com.mossle.internal.sendsms.rs;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.mossle.core.util.BaseDTO;
import com.mossle.core.util.StringUtils;
import com.mossle.internal.sendsms.service.SendsmsDataService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@Component
@Path("sendsms")
public class SendsmsResource {
private static Logger logger = LoggerFactory
.getLogger(SendsmsResource.class);
private SendsmsDataService sendsmsDataService;
@Path("send")
@POST
public BaseDTO send(@FormParam("mobile") String mobile,
@FormParam("message") String message,
@FormParam("configCode") String configCode) {
logger.debug("mobile : {}", mobile);
logger.debug("message : {}", message);
logger.debug("configCode : {}", configCode);
BaseDTO baseDto = new BaseDTO();
if (StringUtils.isBlank(mobile)) {
logger.debug("mobile should not be empty");
baseDto.setCode(400);
baseDto.setMessage("mobile should not be empty");
return baseDto;
}
if (StringUtils.isBlank(message)) {
logger.debug("message should not be empty");
baseDto.setCode(400);
baseDto.setMessage("message should not be empty");
return baseDto;
}
if (StringUtils.isBlank(configCode)) {
logger.debug("configCode should not be empty");
baseDto.setCode(400);
baseDto.setMessage("configCode should not be empty");
return baseDto;
}
if (mobile.length() != 11) {
logger.debug("mobile({}) length should be 11", mobile);
baseDto.setCode(400);
baseDto.setMessage("mobile(" + mobile + ") length should be 11");
return baseDto;
}
boolean configExists = sendsmsDataService
.checkConfigCodeExists(configCode);
if (!configExists) {
logger.debug("configCode doesnot exists : {}", configCode);
baseDto.setCode(400);
baseDto.setMessage("configCode doesnot exists : " + configCode);
return baseDto;
}
try {
sendsmsDataService.saveSendsmsQueue(mobile, message, configCode);
baseDto.setCode(200);
logger.debug("success");
} catch (Exception ex) {
logger.debug("error");
logger.error(ex.getMessage(), ex);
baseDto.setCode(500);
baseDto.setMessage(ex.getMessage());
}
return baseDto;
}
@Resource
public void setSendsmsDataService(SendsmsDataService sendsmsDataService) {
this.sendsmsDataService = sendsmsDataService;
}
}