package cn.efunbox.audio.controller; import cn.efunbox.audio.entity.Channel; import cn.efunbox.audio.entity.Device; import cn.efunbox.audio.entity.Grouping; import cn.efunbox.audio.service.ChannelService; import cn.efunbox.audio.service.DeviceService; import cn.efunbox.audio.utils.ApiCode; import cn.efunbox.audio.utils.HttpUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by yao on 17-9-26. */ @RestController @Slf4j @RequestMapping(value = "/device") public class DeviceController { @Autowired DeviceService deviceService; @Autowired ChannelService channelService; @RequestMapping(value = "/token" ,method = RequestMethod.POST) public Map Login(@RequestParam long id, @RequestParam String token){ Map map = new HashMap<>(); Device device = deviceService.Login(id, token); if(device==null){ map.put("code", ApiCode.INVALID_TOKEN.getCode()); map.put("msg", ApiCode.INVALID_TOKEN.getMessage()); return map; } map.put("code", ApiCode.OK.getCode()); Map data = new HashMap<>(); data.put("id", device.getId()); data.put("token", device.getTokenNew()); map.put("data", data); return map; } @RequestMapping(value = "/register" ,method = RequestMethod.POST) public Map Register(HttpServletRequest request){ Map map = new HashMap<>(); String idChannel = request.getParameter("idChannel"); String idDevice = request.getParameter("idDevice"); if(idChannel==null || idDevice==null){ map.put("code", ApiCode.PARAMETER_ERROR.getCode()); map.put("msg", ApiCode.PARAMETER_ERROR.getMessage()); return map; } if(deviceService.CheckRegister(Long.valueOf(idChannel), Long.valueOf(idDevice))) { map.put("code", ApiCode.RECORD_EXIST.getCode()); map.put("msg", ApiCode.RECORD_EXIST.getMessage()); return map; } List<Channel> channelList = channelService.SearchById(Long.valueOf(idChannel)); if(channelList==null || channelList.size()<1){ map.put("code", ApiCode.PARAMETER_ERROR.getCode()); map.put("msg", ApiCode.PARAMETER_ERROR.getMessage()); return map; } Device device = deviceService.Register(Long.valueOf(idChannel), Long.valueOf(idDevice)); if(device!=null){ map.put("code", ApiCode.OK.getCode()); Map data = new HashMap<>(); data.put("id", device.getId()); data.put("token", device.getTokenNew()); map.put("data", data); } return map; } // @RequestMapping(value = "/register" ,method = RequestMethod.POST) // public Map Register(HttpServletRequest request, @RequestBody Device device){ // Map map = new HashMap<>(); // if(device.getIdChannel()==null || device.getIdDevice()==null){ // map.put("code", ApiCode.PARAMETER_ERROR.getCode()); // map.put("msg", ApiCode.PARAMETER_ERROR.getMessage()); // return map; // } // if(deviceService.CheckRegister(device.getIdChannel(), device.getIdDevice())){ // map.put("code", ApiCode.RECORD_EXIST.getCode()); // map.put("msg", ApiCode.RECORD_EXIST.getMessage()); // return map; // } // List<Channel> channelList = channelService.SearchById(device.getIdChannel()); // if(channelList==null || channelList.size()<1){ // map.put("code", ApiCode.PARAMETER_ERROR.getCode()); // map.put("msg", ApiCode.PARAMETER_ERROR.getMessage()); // return map; // } // device = deviceService.Register(device.getIdChannel(), device.getIdDevice()); // if(device!=null){ // map.put("code", ApiCode.OK.getCode()); // Map data = new HashMap<>(); // data.put("id", device.getId()); // data.put("token", device.getTokenNew()); // map.put("data", data); // } // // return map; // } /** * 搜索已注册的设备 * @param request * @param response */ @RequestMapping(value = "/search" ,method = RequestMethod.POST) public void Search(HttpServletRequest request, HttpServletResponse response){ String idDevice = request.getParameter("idDevice"); String idChannel = request.getParameter("idChannel"); if(idDevice==null) idDevice = "0"; if(idChannel==null) idChannel = "0"; List<Device> list = new ArrayList<>(); if(idDevice==null && idChannel==null) list = deviceService.SearchAll(); else list = deviceService.Search(Long.valueOf(idChannel), Long.valueOf(idDevice)); for(int i=0; i<list.size(); i++){ list.get(i).setTokenNew(""); list.get(i).setTokenOld(""); } HttpUtil.responseOkData(request, response, list); return; } }