ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java
@@ -125,45 +125,50 @@ */ @Override public List<SysUser> getNearAppUsers(SchedulingParam param) { Double longitude = param.getLongitude(); Double latitude = param.getLatitude(); if (longitude == null && latitude == null) { log.debug("åç¹åæ 为空"); return null; } Integer radius = param.getSealingRadius(); if (radius == null) { log.debug("åå¾è·ç¦»ä¸ºç©º"); return null; } SysUser user = new SysUser(); List<SysUser> appUserList = iSysUserService.selectAllAppUserList(user); //è¿æ»¤å¨çº¿ List<SysUser> onLineList = appUserList.stream() .filter(sysUser -> (sysUser.getAppOnlineState().equals("1"))) .collect(Collectors.toList()); //è¿æ»¤èå´ List<SysUser> filteredList = new ArrayList<>(); for(SysUser sysUser:onLineList) { ArdAppPosition ardAppPosition = ardAppPositionMapper.selectLastArdAppPositionByUserId(sysUser.getUserId()); if (ardAppPosition != null) { Double lon = ardAppPosition.getLongitude(); Double lat = ardAppPosition.getLatitude(); if(longitude==null||latitude==null) { continue; } double distance = GisTool.getDistance(new double[]{ longitude, latitude}, new double[]{ lon, lat}); if (distance <= radius) { Map<String,Object> params=new HashMap<>(); params.put("longitude",lon); params.put("latitude",lat); sysUser.setParams(params); filteredList.add(sysUser); // å°æ»¡è¶³æ¡ä»¶çç¨æ·æ·»å å°çéåè¡¨ä¸ try { Long deptId = SecurityUtils.getLoginUser().getUser().getDeptId(); Double longitude = param.getLongitude(); Double latitude = param.getLatitude(); if (longitude == null && latitude == null) { log.debug("åç¹åæ 为空"); return null; } Integer radius = param.getSealingRadius(); if (radius == null) { log.debug("åå¾è·ç¦»ä¸ºç©º"); return null; } SysUser user = new SysUser(); user.setDeptId(deptId); List<SysUser> appUserList = iSysUserService.selectAllAppUserList(user); //è¿æ»¤å¨çº¿ List<SysUser> onLineList = appUserList.stream() .filter(sysUser -> (sysUser.getAppOnlineState().equals("1"))) .collect(Collectors.toList()); //è¿æ»¤èå´ for (SysUser sysUser : onLineList) { ArdAppPosition ardAppPosition = ardAppPositionMapper.selectLastArdAppPositionByUserId(sysUser.getUserId()); if (ardAppPosition != null) { Double lon = ardAppPosition.getLongitude(); Double lat = ardAppPosition.getLatitude(); if (longitude == null || latitude == null) { continue; } double distance = GisTool.getDistance(new double[]{longitude, latitude}, new double[]{lon, lat}); if (distance <= radius) { Map<String, Object> params = new HashMap<>(); params.put("longitude", lon); params.put("latitude", lat); sysUser.setParams(params); filteredList.add(sysUser); // å°æ»¡è¶³æ¡ä»¶çç¨æ·æ·»å å°çéåè¡¨ä¸ } } } } catch (Exception ex) { log.error("è·åå°æ§åå ææå¨çº¿appç¨æ·å¼å¸¸" + ex.getMessage()); } return filteredList; } ard-work/src/main/java/com/ruoyi/device/camera/domain/ArdCameras.java
@@ -104,7 +104,7 @@ * é¨é¨ID */ @Excel(name = "é¨é¨ID") private Integer deptId; private Long deptId; /** * æ¹ä½è§ ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
@@ -47,8 +47,7 @@ private SysDeptMapper sysDeptMapper; @Resource private RedisCache redisCache; @Resource private IHikClientService hikClientService; @Resource private ArdChannelMapper ardChannelMapper; @@ -235,6 +234,13 @@ } if (ardCameras.size() > 0) { for (ArdCameras camera : ardCameras) { ArdChannel ardChannel=new ArdChannel(); ardChannel.setDeviceId(camera.getId()); List<ArdChannel> ardChannels = ardChannelMapper.selectArdChannelList(ardChannel); if(ardChannels!=null) { camera.setChannelList(ardChannels); } Map<String, Object> cameraMap = ArdTool.convertEntityToMap(camera); childList.add(cameraMap); } @@ -297,6 +303,7 @@ @Override public List<ArdCameras> getNearCameras(SchedulingParam param) { try { Long deptId=SecurityUtils.getLoginUser().getUser().getDeptId(); Double longitude = param.getLongitude(); Double latitude = param.getLatitude(); if (longitude == null && latitude == null) { @@ -309,8 +316,10 @@ return null; } String dayNightTime = redisCache.getCacheObject("sys_config:dayNightTime"); //è·åææå çµ List<ArdCameras> ardCamerasList = ardCamerasMapper.selectArdCamerasList(new ArdCameras()); //è·åææå çµ(æé¨é¨) ArdCameras cameras= new ArdCameras(); cameras.setDeptId(deptId); List<ArdCameras> ardCamerasList = ardCamerasMapper.selectArdCamerasList(cameras); //ç»è®¡ææå çµå¯è§èå´å 䏿¥è¦ç¹çè·ç¦» List<ArdCameras> ardCameras = new ArrayList<>(); for (ArdCameras camera : ardCamerasList) { ard-work/src/main/java/com/ruoyi/device/uav/controller/ArdUavController.java
@@ -44,7 +44,7 @@ @PostMapping("/") @ApiOperation("æ 人æºpostæ¥å£") public Object post(@RequestBody Map<String,String> param) { public Object post(@RequestBody Map<String, String> param) { String url = param.get("url"); String data = param.get("data"); return this.uavService.doUavRequest(POST, url, data); @@ -52,9 +52,18 @@ @DeleteMapping("/") @ApiOperation("æ 人æºdeleteæ¥å£") public Object delete(@RequestParam String url, @RequestParam String data) { public Object delete(@RequestBody Map<String, String> param) { String url = param.get("url"); String data = param.get("data"); return this.uavService.doUavRequest(DELETE, url, data); } @GetMapping("/getToken") @ApiOperation("æ 人æºdeleteæ¥å£") public Object getToken() { return this.uavService.getToken(); } } ard-work/src/main/java/com/ruoyi/device/uav/service/UavService.java
@@ -5,6 +5,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.utils.forest.UavClient; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.binary.Base64; @@ -29,12 +30,12 @@ public static final String PASSWORD = "ardkj12345";//å¯ç public static final String SALT = "0123456789012345";//ç //token ç»éåæ¯æ¬¡è¯·æ±,å¨header䏿ºå¸¦ private String token;//ç»å½æåè¿åçtoken private Map uavUser;//ç»å½çç¨æ·ä¿¡æ¯ private ObjectMapper om = new ObjectMapper(); @Autowired private UavClient uavClient; @Autowired private RedisCache redisCache; @PostConstruct public void created() { @@ -51,32 +52,40 @@ e.printStackTrace(); } //æ§è¡method this.getToken();//è·åtokenéªè¯,éªè¯tokenæææ§ try { res = (String) requestMethod.invoke(this.uavClient, url, this.token, data); } catch (InvocationTargetException e) { ForestNetworkException fe = (ForestNetworkException) e.getCause(); if (fe.getStatusCode() == 401) {//token失æ,éæ°ç»å½ this.login(); } try {//忬¡è°ç¨æ¥å£ res = (String) requestMethod.invoke(this.uavClient, url, this.token, data); } catch (IllegalAccessException ex) { ex.printStackTrace(); } catch (InvocationTargetException ex) { ex.printStackTrace(); } res = (String) requestMethod.invoke(this.uavClient, url, this.getToken(), data); } catch (IllegalAccessException e) { throw new RuntimeException(e); System.out.println("doUavRequest 访é®å¤±è´¥" + e.getMessage()); } catch (InvocationTargetException e) { System.out.println("doUavRequest æ§è¡å¤±è´¥" + e.getMessage()); e.printStackTrace(); } return res; } public Map getUavUser() { if (this.uavUser == null) { this.login(); return redisCache.getCacheMap("uav:uavUser"); } public String getToken() { //è·åuavç¨æ·ä¿¡æ¯ Map uavUser = redisCache.getCacheMap("uav:uavUser"); String token = (String) uavUser.get("access_token"); //éªè¯tokenæææ§ try { String res = uavClient.GET("manage/api/v1/devices", token, "{}"); } catch (ForestNetworkException fe) { if (fe.getStatusCode() == 401) {//token失æ,éæ°ç»å½ this.login(); //忬¡è·åtoken uavUser = redisCache.getCacheMap("uav:uavUser"); token = (String) uavUser.get("access_token"); return token; } } return this.uavUser; return token; } public void login() { @@ -84,11 +93,11 @@ String codedPassword = this.Encrypt(PASSWORD, SALT); String body = "{\"username\":\"" + USERNAME + "\",\"password\":\"" + codedPassword + "\"}"; try { //uavClient.GET("logout", null, "{}"); String res = uavClient.POST("login", null, body); Map resMap = om.readValue(res, Map.class); this.uavUser = (Map) resMap.get("data"); if (this.uavUser != null) { this.token = (String) this.uavUser.get("access_token"); if (resMap != null) { redisCache.setCacheMap("uav:uavUser", (Map) resMap.get("data")); } } catch (ForestRuntimeException e) { log.error("æ 人æºè¿æ¥è¶ æ¶" + e.getMessage()); ard-work/src/main/java/com/ruoyi/dispatch/controller/ArdDispatchPoliceController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,111 @@ package com.ruoyi.dispatch.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.dispatch.domain.ArdDispatchPolice; import com.ruoyi.dispatch.service.IArdDispatchPoliceService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; /** * æ´¾è¦ç®¡çController * * @author ard * @date 2023-08-21 */ @Api(tags = "æ´¾è¦ç®¡ç") @RestController @RequestMapping("/dispatch/police") public class ArdDispatchPoliceController extends BaseController { @Autowired private IArdDispatchPoliceService ardDispatchPoliceService; /** * æ¥è¯¢æ´¾è¦ç®¡çå表 */ @ApiOperation("æ¥è¯¢æ´¾è¦ç®¡çå表") @PreAuthorize("@ss.hasPermi('dispatch:police:list')") @GetMapping("/list") public TableDataInfo list(ArdDispatchPolice ardDispatchPolice) { startPage(); List<ArdDispatchPolice> list = ardDispatchPoliceService.selectArdDispatchPoliceList(ardDispatchPolice); return getDataTable(list); } /** * å¯¼åºæ´¾è¦ç®¡çå表 */ @PreAuthorize("@ss.hasPermi('dispatch:police:export')") @Log(title = "æ´¾è¦ç®¡ç", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ArdDispatchPolice ardDispatchPolice) { List<ArdDispatchPolice> list = ardDispatchPoliceService.selectArdDispatchPoliceList(ardDispatchPolice); ExcelUtil<ArdDispatchPolice> util = new ExcelUtil<ArdDispatchPolice>(ArdDispatchPolice.class); util.exportExcel(response, list, "æ´¾è¦ç®¡çæ°æ®"); } /** * è·åæ´¾è¦ç®¡ç详ç»ä¿¡æ¯ */ @PreAuthorize("@ss.hasPermi('dispatch:police:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") String id) { return success(ardDispatchPoliceService.selectArdDispatchPoliceById(id)); } /** * æ°å¢æ´¾è¦ç®¡ç */ @ApiOperation("æ°å¢æ´¾è¦ç®¡ç") @PreAuthorize("@ss.hasPermi('dispatch:police:add')") @Log(title = "æ´¾è¦ç®¡ç", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ArdDispatchPolice ardDispatchPolice) { return toAjax(ardDispatchPoliceService.insertArdDispatchPolice(ardDispatchPolice)); } /** * ä¿®æ¹æ´¾è¦ç®¡ç */ @PreAuthorize("@ss.hasPermi('dispatch:police:edit')") @Log(title = "æ´¾è¦ç®¡ç", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ArdDispatchPolice ardDispatchPolice) { return toAjax(ardDispatchPoliceService.updateArdDispatchPolice(ardDispatchPolice)); } /** * å 餿´¾è¦ç®¡ç */ @ApiOperation("å 餿´¾è¦ç®¡ç") @PreAuthorize("@ss.hasPermi('dispatch:police:remove')") @Log(title = "æ´¾è¦ç®¡ç", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable String[] ids) { return toAjax(ardDispatchPoliceService.deleteArdDispatchPoliceByIds(ids)); } } ard-work/src/main/java/com/ruoyi/dispatch/domain/ArdDispatchPolice.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,109 @@ package com.ruoyi.dispatch.domain; import java.util.List; import lombok.Data; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; /** * æ´¾è¦ç®¡ç对象 ard_dispatch_police * * @author ard * @date 2023-08-21 */ public class ArdDispatchPolice extends BaseEntity { private static final long serialVersionUID = 1L; /** ID */ private String id; /** æ´¾è¦åç§° */ @Excel(name = "æ´¾è¦åç§°") private String name; /** ç»åº¦ */ @Excel(name = "ç»åº¦") private Double longitude; /** 纬度 */ @Excel(name = "纬度") private Double latitude; /** é¨é¨ID */ @Excel(name = "é¨é¨ID") private Integer deptId; /** ç¨æ·ID */ @Excel(name = "ç¨æ·ID") private String userId; /** æ´¾è¦å ³èç¨æ·ä¿¡æ¯ */ private List<String> ardDispatchPoliceUserList; public void setId(String id) { this.id = id; } public String getId() { return id; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setLongitude(Double longitude) { this.longitude = longitude; } public Double getLongitude() { return longitude; } public void setLatitude(Double latitude) { this.latitude = latitude; } public Double getLatitude() { return latitude; } public void setDeptId(Integer deptId) { this.deptId = deptId; } public Integer getDeptId() { return deptId; } public void setUserId(String userId) { this.userId = userId; } public String getUserId() { return userId; } public List<String> getArdDispatchPoliceUserList() { return ardDispatchPoliceUserList; } public void setArdDispatchPoliceUserList(List<String> ardDispatchPoliceUserList) { this.ardDispatchPoliceUserList = ardDispatchPoliceUserList; } } ard-work/src/main/java/com/ruoyi/dispatch/domain/ArdDispatchPoliceUser.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,52 @@ package com.ruoyi.dispatch.domain; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; /** * æ´¾è¦å ³èç¨æ·å¯¹è±¡ ard_dispatch_police_user * * @author ard * @date 2023-08-21 */ public class ArdDispatchPoliceUser extends BaseEntity { private static final long serialVersionUID = 1L; /** æ´¾è¦ID */ @Excel(name = "æ´¾è¦ID") private String dispatchId; /** å ³èç¨æ·ID */ @Excel(name = "å ³èç¨æ·ID") private String userId; public void setDispatchId(String dispatchId) { this.dispatchId = dispatchId; } public String getDispatchId() { return dispatchId; } public void setUserId(String userId) { this.userId = userId; } public String getUserId() { return userId; } @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("dispatchId", getDispatchId()) .append("userId", getUserId()) .toString(); } } ard-work/src/main/java/com/ruoyi/dispatch/mapper/ArdDispatchPoliceMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,87 @@ package com.ruoyi.dispatch.mapper; import java.util.List; import com.ruoyi.dispatch.domain.ArdDispatchPolice; import com.ruoyi.dispatch.domain.ArdDispatchPoliceUser; /** * æ´¾è¦ç®¡çMapperæ¥å£ * * @author ard * @date 2023-08-21 */ public interface ArdDispatchPoliceMapper { /** * æ¥è¯¢æ´¾è¦ç®¡ç * * @param id æ´¾è¦ç®¡çä¸»é® * @return æ´¾è¦ç®¡ç */ public ArdDispatchPolice selectArdDispatchPoliceById(String id); /** * æ¥è¯¢æ´¾è¦ç®¡çå表 * * @param ardDispatchPolice æ´¾è¦ç®¡ç * @return æ´¾è¦ç®¡çéå */ public List<ArdDispatchPolice> selectArdDispatchPoliceList(ArdDispatchPolice ardDispatchPolice); /** * æ°å¢æ´¾è¦ç®¡ç * * @param ardDispatchPolice æ´¾è¦ç®¡ç * @return ç»æ */ public int insertArdDispatchPolice(ArdDispatchPolice ardDispatchPolice); /** * ä¿®æ¹æ´¾è¦ç®¡ç * * @param ardDispatchPolice æ´¾è¦ç®¡ç * @return ç»æ */ public int updateArdDispatchPolice(ArdDispatchPolice ardDispatchPolice); /** * å 餿´¾è¦ç®¡ç * * @param id æ´¾è¦ç®¡çä¸»é® * @return ç»æ */ public int deleteArdDispatchPoliceById(String id); /** * æ¹éå 餿´¾è¦ç®¡ç * * @param ids éè¦å é¤çæ°æ®ä¸»é®éå * @return ç»æ */ public int deleteArdDispatchPoliceByIds(String[] ids); /** * æ¹éå 餿´¾è¦å ³èç¨æ· * * @param ids éè¦å é¤çæ°æ®ä¸»é®éå * @return ç»æ */ public int deleteArdDispatchPoliceUserByDispatchIds(String[] ids); /** * æ¹éæ°å¢æ´¾è¦å ³èç¨æ· * * @param ardDispatchPoliceUserList æ´¾è¦å ³èç¨æ·å表 * @return ç»æ */ public int batchArdDispatchPoliceUser(List<ArdDispatchPoliceUser> ardDispatchPoliceUserList); /** * éè¿æ´¾è¦ç®¡ç主é®å 餿´¾è¦å ³èç¨æ·ä¿¡æ¯ * * @param id æ´¾è¦ç®¡çID * @return ç»æ */ public int deleteArdDispatchPoliceUserByDispatchId(String id); } ard-work/src/main/java/com/ruoyi/dispatch/service/IArdDispatchPoliceService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,61 @@ package com.ruoyi.dispatch.service; import java.util.List; import com.ruoyi.dispatch.domain.ArdDispatchPolice; /** * æ´¾è¦ç®¡çServiceæ¥å£ * * @author ard * @date 2023-08-21 */ public interface IArdDispatchPoliceService { /** * æ¥è¯¢æ´¾è¦ç®¡ç * * @param id æ´¾è¦ç®¡çä¸»é® * @return æ´¾è¦ç®¡ç */ public ArdDispatchPolice selectArdDispatchPoliceById(String id); /** * æ¥è¯¢æ´¾è¦ç®¡çå表 * * @param ardDispatchPolice æ´¾è¦ç®¡ç * @return æ´¾è¦ç®¡çéå */ public List<ArdDispatchPolice> selectArdDispatchPoliceList(ArdDispatchPolice ardDispatchPolice); /** * æ°å¢æ´¾è¦ç®¡ç * * @param ardDispatchPolice æ´¾è¦ç®¡ç * @return ç»æ */ public int insertArdDispatchPolice(ArdDispatchPolice ardDispatchPolice); /** * ä¿®æ¹æ´¾è¦ç®¡ç * * @param ardDispatchPolice æ´¾è¦ç®¡ç * @return ç»æ */ public int updateArdDispatchPolice(ArdDispatchPolice ardDispatchPolice); /** * æ¹éå 餿´¾è¦ç®¡ç * * @param ids éè¦å é¤çæ´¾è¦ç®¡ç主é®éå * @return ç»æ */ public int deleteArdDispatchPoliceByIds(String[] ids); /** * å 餿´¾è¦ç®¡çä¿¡æ¯ * * @param id æ´¾è¦ç®¡çä¸»é® * @return ç»æ */ public int deleteArdDispatchPoliceById(String id); } ard-work/src/main/java/com/ruoyi/dispatch/service/impl/ArdDispatchPoliceServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,138 @@ package com.ruoyi.dispatch.service.impl; import java.util.List; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.uuid.IdUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.SecurityUtils; import org.springframework.transaction.annotation.Transactional; import com.ruoyi.dispatch.domain.ArdDispatchPoliceUser; import com.ruoyi.dispatch.mapper.ArdDispatchPoliceMapper; import com.ruoyi.dispatch.domain.ArdDispatchPolice; import com.ruoyi.dispatch.service.IArdDispatchPoliceService; import javax.annotation.Resource; /** * æ´¾è¦ç®¡çServiceä¸å¡å±å¤ç * * @author ard * @date 2023-08-21 */ @Service public class ArdDispatchPoliceServiceImpl implements IArdDispatchPoliceService { @Resource private ArdDispatchPoliceMapper ardDispatchPoliceMapper; /** * æ¥è¯¢æ´¾è¦ç®¡ç * * @param id æ´¾è¦ç®¡çä¸»é® * @return æ´¾è¦ç®¡ç */ @Override public ArdDispatchPolice selectArdDispatchPoliceById(String id) { return ardDispatchPoliceMapper.selectArdDispatchPoliceById(id); } /** * æ¥è¯¢æ´¾è¦ç®¡çå表 * * @param ardDispatchPolice æ´¾è¦ç®¡ç * @return æ´¾è¦ç®¡ç */ @Override public List<ArdDispatchPolice> selectArdDispatchPoliceList(ArdDispatchPolice ardDispatchPolice) { return ardDispatchPoliceMapper.selectArdDispatchPoliceList(ardDispatchPolice); } /** * æ°å¢æ´¾è¦ç®¡ç * * @param ardDispatchPolice æ´¾è¦ç®¡ç * @return ç»æ */ @Transactional @Override public int insertArdDispatchPolice(ArdDispatchPolice ardDispatchPolice) { ardDispatchPolice.setId(IdUtils.simpleUUID()); ardDispatchPolice.setUserId(SecurityUtils.getUserId()); ardDispatchPolice.setCreateBy(SecurityUtils.getUsername()); ardDispatchPolice.setCreateTime(DateUtils.getNowDate()); int rows = ardDispatchPoliceMapper.insertArdDispatchPolice(ardDispatchPolice); insertArdDispatchPoliceUser(ardDispatchPolice); return rows; } /** * ä¿®æ¹æ´¾è¦ç®¡ç * * @param ardDispatchPolice æ´¾è¦ç®¡ç * @return ç»æ */ @Transactional @Override public int updateArdDispatchPolice(ArdDispatchPolice ardDispatchPolice) { ardDispatchPolice.setUpdateBy(SecurityUtils.getUsername()); ardDispatchPolice.setUpdateTime(DateUtils.getNowDate()); ardDispatchPoliceMapper.deleteArdDispatchPoliceUserByDispatchId(ardDispatchPolice.getId()) ; insertArdDispatchPoliceUser(ardDispatchPolice); return ardDispatchPoliceMapper.updateArdDispatchPolice(ardDispatchPolice); } /** * æ¹éå 餿´¾è¦ç®¡ç * * @param ids éè¦å é¤çæ´¾è¦ç®¡çä¸»é® * @return ç»æ */ @Transactional @Override public int deleteArdDispatchPoliceByIds(String[] ids) { ardDispatchPoliceMapper.deleteArdDispatchPoliceUserByDispatchIds(ids); return ardDispatchPoliceMapper.deleteArdDispatchPoliceByIds(ids); } /** * å 餿´¾è¦ç®¡çä¿¡æ¯ * * @param id æ´¾è¦ç®¡çä¸»é® * @return ç»æ */ @Transactional @Override public int deleteArdDispatchPoliceById(String id) { ardDispatchPoliceMapper.deleteArdDispatchPoliceUserByDispatchId(id); return ardDispatchPoliceMapper.deleteArdDispatchPoliceById(id); } /** * æ°å¢æ´¾è¦å ³èç¨æ·ä¿¡æ¯ * * @param ardDispatchPolice æ´¾è¦ç®¡ç对象 */ public void insertArdDispatchPoliceUser(ArdDispatchPolice ardDispatchPolice) { List<String> ardDispatchPoliceUserList = ardDispatchPolice.getArdDispatchPoliceUserList(); String id = ardDispatchPolice.getId(); if (StringUtils.isNotNull(ardDispatchPoliceUserList)) { List<ArdDispatchPoliceUser> list = new ArrayList<ArdDispatchPoliceUser>(); for (String userId : ardDispatchPoliceUserList) { ArdDispatchPoliceUser ardDispatchPoliceUser=new ArdDispatchPoliceUser(); ardDispatchPoliceUser.setUserId(userId); ardDispatchPoliceUser.setDispatchId(id); list.add(ardDispatchPoliceUser); } if (list.size() > 0) { ardDispatchPoliceMapper.batchArdDispatchPoliceUser(list); } } } } ard-work/src/main/java/com/ruoyi/scheduling/domian/SchedulingParam.java
@@ -1,7 +1,5 @@ package com.ruoyi.scheduling.domian; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** ard-work/src/main/java/com/ruoyi/utils/forest/UavClient.java
@@ -17,7 +17,7 @@ @Post(IP + "${url}") String POST(@DataVariable("url") String url, @Header("x-auth-token") String token, @JSONBody String body); @Post(IP + "${url}") @Delete(IP + "${url}") String DELETE(@DataVariable("url") String url, @Header("x-auth-token") String token, @JSONBody String body); ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
@@ -70,7 +70,7 @@ <select id="selectArdAlarmpointsWellList" parameterType="ArdAlarmpointsWell" resultMap="ArdAlarmpointsWellResult"> <include refid="selectArdAlarmpointsWellVo"/> <where> <if test="wellId != null and wellId != ''">and c.well_id = #{wellId}</if> <if test="wellId != null and wellId != ''">and c.well_id like ('%${wellId}%')</if> <if test="wellNumber != null and wellNumber != ''">and c.well_number = #{wellNumber}</if> <if test="userId != null and userId != ''">and c.user_id = #{userId}</if> <if test="deptId != null ">and (c.dept_id = #{deptId} OR c.dept_id IN ( SELECT t.dept_id FROM sys_dept t ard-work/src/main/resources/mapper/dispatch/ArdDispatchPoliceMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,159 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.dispatch.mapper.ArdDispatchPoliceMapper"> <resultMap type="ArdDispatchPolice" id="ArdDispatchPoliceResult"> <result property="id" column="id"/> <result property="name" column="name"/> <result property="longitude" column="longitude"/> <result property="latitude" column="latitude"/> <result property="deptId" column="dept_id"/> <result property="userId" column="user_id"/> <result property="createBy" column="create_by"/> <result property="createTime" column="create_time"/> <result property="updateBy" column="update_by"/> <result property="updateTime" column="update_time"/> <!-- åæ¥è¯¢ï¼å ³è ard_dispatch_police_user 表 --> <collection property="ardDispatchPoliceUserList" ofType="java.lang.String" select="getUserIdsByMainTableId" column="id"/> </resultMap> <select id="getUserIdsByMainTableId" resultType="java.lang.String"> SELECT user_id FROM ard_dispatch_police_user WHERE dispatch_id = #{id} </select> <resultMap id="ArdDispatchPoliceArdDispatchPoliceUserResult" type="ArdDispatchPolice" extends="ArdDispatchPoliceResult"> <collection property="ardDispatchPoliceUserList" notNullColumn="sub_dispatch_id" javaType="java.util.List" resultMap="ArdDispatchPoliceUserResult"/> </resultMap> <resultMap type="ArdDispatchPoliceUser" id="ArdDispatchPoliceUserResult"> <result property="dispatchId" column="sub_dispatch_id"/> <result property="userId" column="sub_user_id"/> </resultMap> <sql id="selectArdDispatchPoliceVo"> SELECT ID, NAME, longitude, latitude, dept_id, user_id, create_by, create_time, update_by, update_time FROM ard_dispatch_police </sql> <select id="selectArdDispatchPoliceList" parameterType="ArdDispatchPolice" resultMap="ArdDispatchPoliceResult"> <include refid="selectArdDispatchPoliceVo"/> <where> <if test="name != null and name != ''">and name like '%'||#{name}||'%'</if> <if test="longitude != null ">and longitude = #{longitude}</if> <if test="latitude != null ">and latitude = #{latitude}</if> <if test="deptId != null ">and dept_id = #{deptId}</if> <if test="userId != null and userId != ''">and user_id = #{userId}</if> </where> </select> <select id="selectArdDispatchPoliceById" parameterType="String" resultMap="ArdDispatchPoliceArdDispatchPoliceUserResult"> select a.id, a.name, a.longitude, a.latitude, a.dept_id, a.user_id, a.create_by, a.create_time, a.update_by, a.update_time, b.dispatch_id as sub_dispatch_id, b.user_id as sub_user_id from ard_dispatch_police a left join ard_dispatch_police_user b on b.dispatch_id = a.id where a.id = #{id} </select> <insert id="insertArdDispatchPolice" parameterType="ArdDispatchPolice"> insert into ard_dispatch_police <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null">id,</if> <if test="name != null">name,</if> <if test="longitude != null">longitude,</if> <if test="latitude != null">latitude,</if> <if test="deptId != null">dept_id,</if> <if test="userId != null">user_id,</if> <if test="createBy != null">create_by,</if> <if test="createTime != null">create_time,</if> <if test="updateBy != null">update_by,</if> <if test="updateTime != null">update_time,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="id != null">#{id},</if> <if test="name != null">#{name},</if> <if test="longitude != null">#{longitude},</if> <if test="latitude != null">#{latitude},</if> <if test="deptId != null">#{deptId},</if> <if test="userId != null">#{userId},</if> <if test="createBy != null">#{createBy},</if> <if test="createTime != null">#{createTime},</if> <if test="updateBy != null">#{updateBy},</if> <if test="updateTime != null">#{updateTime},</if> </trim> </insert> <update id="updateArdDispatchPolice" parameterType="ArdDispatchPolice"> update ard_dispatch_police <trim prefix="SET" suffixOverrides=","> <if test="name != null">name = #{name},</if> <if test="longitude != null">longitude = #{longitude},</if> <if test="latitude != null">latitude = #{latitude},</if> <if test="deptId != null">dept_id = #{deptId},</if> <if test="userId != null">user_id = #{userId},</if> <if test="createBy != null">create_by = #{createBy},</if> <if test="createTime != null">create_time = #{createTime},</if> <if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateTime != null">update_time = #{updateTime},</if> </trim> where id = #{id} </update> <delete id="deleteArdDispatchPoliceById" parameterType="String"> delete from ard_dispatch_police where id = #{id} </delete> <delete id="deleteArdDispatchPoliceByIds" parameterType="String"> delete from ard_dispatch_police where id in <foreach item="id" collection="array" open="(" separator="," close=")"> #{id} </foreach> </delete> <delete id="deleteArdDispatchPoliceUserByDispatchIds" parameterType="String"> delete from ard_dispatch_police_user where dispatch_id in <foreach item="dispatchId" collection="array" open="(" separator="," close=")"> #{dispatchId} </foreach> </delete> <delete id="deleteArdDispatchPoliceUserByDispatchId" parameterType="String"> delete from ard_dispatch_police_user where dispatch_id = #{dispatchId} </delete> <insert id="batchArdDispatchPoliceUser"> insert into ard_dispatch_police_user( dispatch_id, user_id) values <foreach item="item" index="index" collection="list" separator=","> ( #{item.dispatchId}, #{item.userId}) </foreach> </insert> </mapper> ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml
@@ -18,5 +18,6 @@ </settings> <typeAliases> <package name="com.ruoyi.*.*.domain"/> <!--æ¿æ¢æä½ ç项ç®çå®ä½ç±»çè·¯å¾(è¿ä¸ªé 置对äºé¡¹ç®æ¥è¯´æ²¡æä½ç¨ï¼ä» ä» æ¯åç»IDEAä¸å®è£ ç MyBatis æä»¶ççï¼é²æ¢æ 红)--> <package name="com.ruoyi.*.domain"/> </typeAliases> </configuration>