package com.ruoyi.web.controller.station; import java.util.List; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.constant.UrlConstant; import com.ruoyi.station.domain.MjOpenHnwe; import com.ruoyi.station.service.IMjOpenHnweService; import org.apache.ibatis.jdbc.Null; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.station.domain.MjOpendoor; import com.ruoyi.station.service.IMjOpendoorService; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; import org.springframework.web.client.RestTemplate; /** * 一键开门ipController * * @author ruoyi * @date 2020-08-28 */ @Controller @RequestMapping("/station/opendoor") public class MjOpendoorController extends BaseController { private String prefix = "station/opendoor"; @Autowired private IMjOpendoorService mjOpendoorService; @Autowired private IMjOpenHnweService mjOpenHnweService; @RequiresPermissions("station:opendoor:view") @GetMapping() public String opendoor() { return prefix + "/opendoor"; } /** * 查询一键开门ip列表 */ @RequiresPermissions("station:opendoor:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(MjOpendoor mjOpendoor) { startPage(); List list = mjOpendoorService.selectMjOpendoorList(mjOpendoor); return getDataTable(list); } /** * 导出一键开门ip列表 */ @RequiresPermissions("station:opendoor:export") @Log(title = "一键开门ip", businessType = BusinessType.EXPORT) @PostMapping("/export") @ResponseBody public AjaxResult export(MjOpendoor mjOpendoor) { List list = mjOpendoorService.selectMjOpendoorList(mjOpendoor); ExcelUtil util = new ExcelUtil(MjOpendoor.class); return util.exportExcel(list, "opendoor"); } /** * 新增一键开门ip */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增保存一键开门ip */ @RequiresPermissions("station:opendoor:add") @Log(title = "一键开门ip", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(MjOpendoor mjOpendoor) { return toAjax(mjOpendoorService.insertMjOpendoor(mjOpendoor)); } /** * 修改一键开门ip */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") String id, ModelMap mmap) { MjOpendoor mjOpendoor = mjOpendoorService.selectMjOpendoorById(id); mmap.put("mjOpendoor", mjOpendoor); return prefix + "/edit"; } /** * 修改保存一键开门ip */ @RequiresPermissions("station:opendoor:edit") @Log(title = "一键开门ip", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(MjOpendoor mjOpendoor) { return toAjax(mjOpendoorService.updateMjOpendoor(mjOpendoor)); } /** * 删除一键开门ip */ @RequiresPermissions("station:opendoor:remove") @Log(title = "一键开门ip", businessType = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(mjOpendoorService.deleteMjOpendoorByIds(ids)); } @PostMapping( "/openDoor") @ResponseBody public AjaxResult openDoor() { // List list = mjOpendoorService.selectMjOpendoorList(null); // for(MjOpendoor mjOpendoor:list){ // Thread t = new Thread(new Runnable(){ // public void run(){ // RestTemplate restTemplate = new RestTemplate(); // HttpHeaders headers = new HttpHeaders(); // headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); // // MultiValueMap map= new LinkedMultiValueMap<>(); // map.add("ip", mjOpendoor.getIp()); // map.add("port", mjOpendoor.getPort()); // map.add("delay", "1"); // // HttpEntity> request = new HttpEntity<>(map, headers); // ResponseEntity response = restTemplate.postForEntity( UrlConstant.ZK_URL+"api/SDZ/ZktACUnlock", request , String.class ); // JSONObject jsonObject = JSONObject.parseObject(response.getBody()); // // if(jsonObject != null && (int)jsonObject.get("code") == 0) { // // }else { // // } // }}); // t.start(); // } MjOpenHnwe openHnwe = new MjOpenHnwe(); openHnwe.setHnweId("1"); mjOpenHnweService.insertMjOpenHnwe(openHnwe); return toAjax(true); } @PostMapping( "/closeDoor") @ResponseBody public AjaxResult closeDoor() { return toAjax(true); } }