From 4b4a35fc7cc56a8b304ca35f0a9ec0bdd2e0e036 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Mon, 22 Apr 2024 11:41:48 +0800 Subject: [PATCH] fix:路径规划补充提交 --- screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java | 84 ++++++++++++++++++++++++++++++++++-------- 1 files changed, 68 insertions(+), 16 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java index 17c4ef3..7baa71b 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java @@ -1,21 +1,34 @@ package com.moral.api.service.impl; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.api.entity.ManageCoordinate; import com.moral.api.entity.ManageCoordinateDetail; +import com.moral.api.entity.SpecialDevice; +import com.moral.api.mapper.DeviceMapper; import com.moral.api.mapper.ManageCoordinateDetailMapper; import com.moral.api.mapper.ManageCoordinateMapper; +import com.moral.api.mapper.SpecialDeviceMapper; +import com.moral.api.pojo.form.coordinate.CoordinateCode; +import com.moral.api.service.DeviceService; import com.moral.api.service.ManageCoordinateDetailService; import com.moral.api.service.ManageCoordinateService; +import com.moral.api.service.SpecialDeviceService; +import com.moral.util.TokenUtils; @Service @@ -25,7 +38,7 @@ private ManageCoordinateMapper manageCoordinateMapper; @Autowired - private ManageCoordinateDetailMapper manageCoordinateDetailMapper; + private SpecialDeviceMapper specialDeviceMapper; /** * ������������ @@ -34,11 +47,14 @@ */ @Override public Integer interCoordinate(Map<String, Object> params) { + String mac = params.get("mac").toString(); + QueryWrapper<SpecialDevice> wrapper = new QueryWrapper<>(); + wrapper.eq("mac",mac); + wrapper.eq("is_delete","0"); + SpecialDevice specialDevice = specialDeviceMapper.selectOne(wrapper); String startPoint = params.get("startPoint").toString(); - String endPoint = params.get("endPoint").toString(); QueryWrapper<ManageCoordinate> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("start_point",startPoint); - queryWrapper.eq("end_point",endPoint); Integer integer = manageCoordinateMapper.selectCount(queryWrapper); if (integer>=1){ return null; @@ -47,19 +63,25 @@ manageCoordinate.setCreateTime(new Date()); manageCoordinate.setUpdateTime(new Date()); manageCoordinate.setStartPoint(startPoint); - manageCoordinate.setEndPoint(endPoint); manageCoordinate.setIsDel(0); + manageCoordinate.setOrganizationId(specialDevice.getOrganizationId()); int code = manageCoordinateMapper.insert(manageCoordinate); return code; } /** * ������������ - * @param manageCoordinate + * @param coordinateCode */ @Override - public void updateCoordinate(ManageCoordinate manageCoordinate) { + public void updateCoordinate(CoordinateCode coordinateCode) { + ManageCoordinate manageCoordinate = new ManageCoordinate(); + BeanUtils.copyProperties(coordinateCode,manageCoordinate); manageCoordinate.setUpdateTime(new Date()); + List<HashMap<String, Object>> value = coordinateCode.getValue(); + String s = JSON.toJSONString(value); + manageCoordinate.setValue(s); + manageCoordinate.setBdValue(JSON.toJSONString(coordinateCode.getBdValue())); manageCoordinateMapper.updateById(manageCoordinate); } @@ -68,15 +90,10 @@ * @param id */ @Override - public Integer deleteCoordinate(Integer id) { - QueryWrapper<ManageCoordinateDetail> wrapper = new QueryWrapper<>(); - wrapper.eq("coordinate_id",id); - Integer integer = manageCoordinateDetailMapper.selectCount(wrapper); - if (integer>0){ - return 1; - } - manageCoordinateMapper.deleteById(id); - return 200; + public void deleteCoordinate(Integer id) { + ManageCoordinate manageCoordinate = manageCoordinateMapper.selectById(id); + manageCoordinate.setIsDel(1); + manageCoordinateMapper.updateById(manageCoordinate); } @@ -85,10 +102,45 @@ * @return */ @Override - public List<ManageCoordinate> selectCoordinate() { + public List<ManageCoordinate> selectCoordinate(String name,String mac) { + QueryWrapper<ManageCoordinate> queryWrapper = new QueryWrapper<>(); + + if (!ObjectUtils.isEmpty(name)){ + queryWrapper.like("start_point",name); + } + if(!ObjectUtils.isEmpty(mac)){ + QueryWrapper<SpecialDevice> wrapper = new QueryWrapper<>(); + wrapper.eq("mac",mac); + wrapper.eq("is_delete","0"); + SpecialDevice specialDevice = specialDeviceMapper.selectOne(wrapper); + queryWrapper.eq("organization_id",specialDevice.getOrganizationId()); + } queryWrapper.eq("is_del",0); + queryWrapper.orderByDesc("coordinate_id"); List<ManageCoordinate> manageCoordinates = manageCoordinateMapper.selectList(queryWrapper); + manageCoordinates.forEach(it->{ + String value = it.getValue(); + String bdValue = it.getBdValue(); + if (!ObjectUtils.isEmpty(value) && !ObjectUtils.isEmpty(bdValue)){ +// List<HashMap<String, Object>> hashMaps = (List<HashMap<String, Object>>)JSON.parseObject(value,List.class); + List<HashMap<String, Object>> parse = (List<HashMap<String, Object>>) JSONArray.parse(value); + it.setValues(parse); + it.setBdValues((List<HashMap<String, Object>>) JSONArray.parse(bdValue)); + } + }); return manageCoordinates; } + + /** + * ������id������������������ + * + * @param id + * @return + */ + @Override + public ManageCoordinate query(Integer id) { + ManageCoordinate manageCoordinate = manageCoordinateMapper.selectById(id); + return manageCoordinate; + } } -- Gitblit v1.8.0