package com.moral.controller; import com.alibaba.fastjson.JSONObject; import com.moral.common.bean.Constants; import com.moral.common.bean.PageBean; import com.moral.common.bean.PageResult; import com.moral.common.bean.ResultBean; import com.moral.entity.Account; import com.moral.entity.Device; import com.moral.entity.MapBounds; import com.moral.entity.MonitorPoint; import com.moral.security.auth.JwtAuthenticationToken; import com.moral.security.config.WebSecurityConfig; import com.moral.service.*; import lombok.extern.log4j.Log4j; import org.apache.log4j.Logger; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 所有地图接口都放在此处 */ @Controller @RequestMapping("map") public class MapController { public final static String REFRESH_TOKEN = "_refresh_token"; public static Logger log = Logger.getLogger(MapController.class); @Resource DeviceService deviceService; @Resource AreaService areaService; @Resource AccountService accountService; @Resource SensorService sensorService; @Resource MonitorPointService monitorPointService; @RequestMapping(value = "/screen-main", method = RequestMethod.GET) public String map(Model model, @RequestParam("areaCode")int code, @RequestParam(WebSecurityConfig.AUTHENTICATION_PARAM_NAME)String token, @RequestParam(REFRESH_TOKEN)String refreshToke, JwtAuthenticationToken authenticationToken){ String accountName = authenticationToken.getPrincipal().getUsername(); Account account = accountService.getAccountByAccountName(accountName); String regionName = areaService.selectFullNameByCode(code); if(account!=null&®ionName!=null){ Object sensors = sensorService.queryAll(); JSONObject params = new JSONObject(); params.put("regionCode",code); params.put("regionName",regionName); //token 回传页面 params.put(WebSecurityConfig.AUTHENTICATION_PARAM_NAME, token); params.put(REFRESH_TOKEN,refreshToke); params.put("sensors", sensors); String paramsJson = params.toJSONString(); model.addAttribute("mapParams",paramsJson); return "map"; } else { StringBuilder msg = new StringBuilder(); msg.append(" param[0] areaCode:"); msg.append(code); msg.append(" param[0] token:"); msg.append(token); log.warn(msg); return "401"; } } @RequestMapping(value="get-monitorpoints",method = RequestMethod.GET) @ResponseBody public ResultBean getMonitorpointList(JwtAuthenticationToken authenticationToken,MapBounds mapBounds){ ResultBean< List> resultBean = new ResultBean(); Map paramMap = new HashMap(); Integer orgId = authenticationToken.getPrincipal().getOrganizationId(); paramMap.put("orgId", orgId); paramMap.put("mapBounds",mapBounds); List list = monitorPointService.queryWithStateByMap(paramMap); resultBean.setData(list); resultBean.setCode(ResultBean.SUCCESS); return resultBean; } @RequestMapping(value = "get-devices-for-popup",method = RequestMethod.GET) @ResponseBody public PageResult getDevicesForPopup( JwtAuthenticationToken authenticationToken, String name, Integer pageSize, Integer pageNo ){ Integer orgId = authenticationToken.getPrincipal().getOrganizationId(); return deviceService.query(orgId,name,pageSize,pageNo); } }