From 73a9ce282d4c4368394161f5f39a8c5fa36beb7d Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Wed, 30 Aug 2023 16:13:04 +0800 Subject: [PATCH] chore:测试提交 --- screen-api/src/main/java/com/moral/api/entity/ManageCoordinate.java | 59 +++++++++ screen-api/src/main/java/com/moral/api/service/DustldService.java | 3 screen-api/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java | 1 screen-api/src/main/java/com/moral/api/controller/CruiserController.java | 21 +++ screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml | 11 + screen-api/src/main/java/com/moral/api/entity/ManageCoordinateDetail.java | 66 +++++++++++ screen-api/src/main/java/com/moral/api/pojo/dto/historySecondCruiser/DustldDTO.java | 19 +++ screen-api/src/main/java/com/moral/api/mapper/ManageCoordinateDetailMapper.java | 7 + screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java | 86 ++++++++++++++ screen-manage/src/main/java/com/moral/api/entity/ManageCoordinate.java | 3 screen-manage/src/main/resources/mapper/ManageCoordinateMapper.xml | 1 screen-manage/src/main/java/com/moral/api/service/impl/ManageCoordinateServiceImpl.java | 15 ++ screen-api/src/main/resources/mapper/ManageCoordinateMapper.xml | 32 +++++ screen-api/src/main/java/com/moral/api/mapper/ManageCoordinateMapper.java | 15 ++ 14 files changed, 338 insertions(+), 1 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/controller/CruiserController.java b/screen-api/src/main/java/com/moral/api/controller/CruiserController.java index 4e852a2..31f57f0 100644 --- a/screen-api/src/main/java/com/moral/api/controller/CruiserController.java +++ b/screen-api/src/main/java/com/moral/api/controller/CruiserController.java @@ -217,6 +217,27 @@ return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(),ResponseCodeEnum.SUCCESS.getMsg(),map); } + + /** + * ��������������������� + * @return + */ + @PostMapping("dailyDustlds") + public ResultMessage dailyDustlds(HttpServletRequest request){ +// List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("files"); + Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); + + + Map<String, Object> map = dustldService.dailyDustlds(null,params); + if (ObjectUtils.isEmpty(map)){ + return ResultMessage.fail(ResponseCodeEnum.TARGET_IS_NULL.getCode(), ResponseCodeEnum.TARGET_IS_NULL.getMsg()); + } + return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(),ResponseCodeEnum.SUCCESS.getMsg(),map); + } + + + + /** * ������������������ * @param id diff --git a/screen-api/src/main/java/com/moral/api/entity/ManageCoordinate.java b/screen-api/src/main/java/com/moral/api/entity/ManageCoordinate.java new file mode 100644 index 0000000..0d3881f --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/entity/ManageCoordinate.java @@ -0,0 +1,59 @@ +package com.moral.api.entity; + + +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; + +/** + * ��������������� + */ +@Data +@EqualsAndHashCode(callSuper = false) +public class ManageCoordinate extends Model<ManageCoordinate> { + + private static final long serialVersionUID = 1L; + + /** + * ������id + */ + @TableId(value = "coordinate_id", type = IdType.AUTO) + private Integer coordinateId; + /** + * ������������ + */ + private String startPoint; + /** + * ������������ + */ + private String endPoint; + /** + *������������ + */ + private Integer isDel; + /** + * ������������ + */ + private Date createTime; + /** + * ������������ + */ + private Date updateTime; + + /** + * ���������id + * + */ + private Integer updateUserId; + /** + * ��������������� + */ + private String updayeUserName; + + private Integer organizationId; +} diff --git a/screen-api/src/main/java/com/moral/api/entity/ManageCoordinateDetail.java b/screen-api/src/main/java/com/moral/api/entity/ManageCoordinateDetail.java new file mode 100644 index 0000000..01e15f5 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/entity/ManageCoordinateDetail.java @@ -0,0 +1,66 @@ +package com.moral.api.entity; + + +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; + +@Data +@EqualsAndHashCode(callSuper = false) +public class ManageCoordinateDetail extends Model<ManageCoordinateDetail> { + + private static final long serialVersionUID = 1L; + + + /** + * ���������id + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * ������id + */ + private Integer coordinateId; + /** + * ������ + */ + private Double longitude; + /** + *������ + */ + private Double latitude; + /** + * ������������ + */ + private Date createTime; + /** + * ������������ + */ + private Date updateTime; + + /** + * ���������id + * + */ + private Integer updateUserId; + /** + * ��������������� + */ + private String updayeUserName; + + + private String state; + + + @TableField(exist = false) + private String code; + + +} diff --git a/screen-api/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java b/screen-api/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java index ac90e66..b22bf87 100644 --- a/screen-api/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java +++ b/screen-api/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java @@ -28,6 +28,7 @@ List<Double> getDust(String start,String end,String mac); + List<Map<String,Object>> getDusts(Map<String,Object> params); List<Map<String,Object>> getAllCruiserData(Map<String,Object> params); diff --git a/screen-api/src/main/java/com/moral/api/mapper/ManageCoordinateDetailMapper.java b/screen-api/src/main/java/com/moral/api/mapper/ManageCoordinateDetailMapper.java new file mode 100644 index 0000000..86a4bd0 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/mapper/ManageCoordinateDetailMapper.java @@ -0,0 +1,7 @@ +package com.moral.api.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.moral.api.entity.ManageCoordinateDetail; + +public interface ManageCoordinateDetailMapper extends BaseMapper<ManageCoordinateDetail> { +} diff --git a/screen-api/src/main/java/com/moral/api/mapper/ManageCoordinateMapper.java b/screen-api/src/main/java/com/moral/api/mapper/ManageCoordinateMapper.java new file mode 100644 index 0000000..dd06681 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/mapper/ManageCoordinateMapper.java @@ -0,0 +1,15 @@ +package com.moral.api.mapper; + +import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.moral.api.entity.ManageCoordinate; +import com.moral.api.pojo.dto.historySecondCruiser.DustldDTO; + + +public interface ManageCoordinateMapper extends BaseMapper<ManageCoordinate> { + + List<DustldDTO> CompareTo(Integer orgId); + + +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/dto/historySecondCruiser/DustldDTO.java b/screen-api/src/main/java/com/moral/api/pojo/dto/historySecondCruiser/DustldDTO.java new file mode 100644 index 0000000..8ff9ac5 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/dto/historySecondCruiser/DustldDTO.java @@ -0,0 +1,19 @@ +package com.moral.api.pojo.dto.historySecondCruiser; + + +import lombok.Data; + +@Data +public class DustldDTO { + + + private String name; + //������ + private String flyLat; + //������ + private String flyLon; + + //��������� + private Double data; + +} diff --git a/screen-api/src/main/java/com/moral/api/service/DustldService.java b/screen-api/src/main/java/com/moral/api/service/DustldService.java index 61390e5..f8efade 100644 --- a/screen-api/src/main/java/com/moral/api/service/DustldService.java +++ b/screen-api/src/main/java/com/moral/api/service/DustldService.java @@ -18,6 +18,9 @@ Map<String,Object> dailyDustld(Integer id ,List<MultipartFile> file); + Map<String,Object> dailyDustlds(List<MultipartFile> file,Map<String, Object> params); + + Map<String,Object> selectDust(Integer id ); diff --git a/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java index ecff651..ec8164a 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/DustldServiceImpl.java @@ -8,6 +8,8 @@ import org.springframework.util.ObjectUtils; import org.springframework.web.multipart.MultipartFile; +import java.io.Serializable; +import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -20,6 +22,8 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.UUID; import java.util.stream.Collectors; @@ -29,13 +33,17 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.Dustld; +import com.moral.api.entity.ManageCoordinate; import com.moral.api.mapper.DustldMapper; import com.moral.api.mapper.HistorySecondCruiserMapper; +import com.moral.api.mapper.ManageCoordinateMapper; +import com.moral.api.pojo.dto.historySecondCruiser.DustldDTO; import com.moral.api.pojo.dust.DustForm; import com.moral.api.pojo.dust.TimeForm; import com.moral.api.service.DustldService; import com.moral.util.DateUtils; import com.moral.util.FileUtils; +import com.moral.util.TokenUtils; @Service @Slf4j @@ -259,6 +267,84 @@ return map; } + @Autowired + private ManageCoordinateMapper manageCoordinateMapper; + + @Override + public Map<String, Object> dailyDustlds(List<MultipartFile> file,Map<String, Object> params) { + Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo(); + Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization"); + Integer orgId = (Integer) orgInfo.get("id"); + String time1 = params.get("time1").toString(); + String substring1 = time1.substring(5, 14); + String time2 = params.get("time2").toString(); + String substring2 = time2.substring(5, 14); + HashMap<String, Object> rsMap = new HashMap<>(); + List<Map<String, Object>> dusts = historySecondCruiserMapper.getDusts(params); + Map<String, List<DustldDTO>> collect = manageCoordinateMapper.CompareTo(orgId).stream().collect(Collectors.groupingBy(o -> o.getName())); + Set<String> strings = collect.keySet(); + ArrayList<DustForm> list1 = new ArrayList<>(); + ArrayList<DustForm> list2 = new ArrayList<>(); + StringBuilder builder = new StringBuilder(); + + int i = 1; + for (String string : strings) { + DustForm dustForm = new DustForm(); + ArrayList<Double> doubleArrayList = new ArrayList<>(); + List<DustldDTO> dustldDTOS = collect.get(string); + for (DustldDTO dustldDTO : dustldDTOS) { + String flyLat = dustldDTO.getFlyLat(); + String flyLon = dustldDTO.getFlyLon(); + for (Map<String, Object> dust : dusts) { + String flyLat1 = Objects.nonNull(dust.get("flyLat")) ? dust.get("flyLat").toString() :"0"; + String flyLon1 = Objects.nonNull(dust.get("flyLon")) ? dust.get("flyLon").toString() :"0"; +// String flyLon1 = dust.get("flyLon").toString(); + if (flyLat1.equals(flyLat) && flyLon1.equals(flyLon)){ + Double dustld = Objects.nonNull(dust.get("dustld"))?Double.parseDouble(dust.get("dustld").toString()):0d; + + if (dustld>=0 && dustld<40 ){ + dustld = dustld + 170; + } + if (dustld>=40 && dustld<60 ){ + dustld = dustld + 130; + } + if (dustld>=60 && dustld<100 ){ + dustld = dustld + 110; + } + if (dustld>=100 && dustld<150 ){ + dustld = dustld + 70; + } + if (dustld>=150 && dustld<180 ){ + dustld = dustld + 30; + } + doubleArrayList.add(dustld); + break; + } + } + } + Double ListAva = doubleArrayList.stream() .collect(Collectors.averagingDouble(Double::doubleValue)); + double rsAvg = new BigDecimal(ListAva/1000).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue(); + dustForm.setRoad(string); + dustForm.setValue(rsAvg); + if (rsAvg>=0.3){ + builder.append("("+i+")"+string); + + list1.add(dustForm); + }else { + list2.add(dustForm); + } + } + //������ + list1.sort(Comparator.comparing(DustForm::getValue).reversed()); + list2.sort(Comparator.comparing(DustForm::getValue).reversed()); + rsMap.put("list1",list1); + rsMap.put("list2",list2); + rsMap.put("data",builder); + rsMap.put("list3",""); + rsMap.put("time",substring1+"-"+substring2); + return rsMap; + } + /** * ��������������������� * @param id diff --git a/screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml b/screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml index 441d95e..3a96058 100644 --- a/screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml +++ b/screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml @@ -67,4 +67,15 @@ AND `time` <![CDATA[>=]]> #{time1} AND `time` <![CDATA[<=]]> #{time2} </select> + + + <select id="getDusts" resultType="java.util.Map"> + SELECT + value ->>'$.flylat' as flyLat,value ->>'$.flylon' as flyLon,value ->>'$.dustld' as dustld, + `time` + FROM `history_second_cruiser` + WHERE mac = #{mac} + AND `time` <![CDATA[>=]]> #{time1} + AND `time` <![CDATA[<=]]> #{time2} + </select> </mapper> \ No newline at end of file diff --git a/screen-api/src/main/resources/mapper/ManageCoordinateMapper.xml b/screen-api/src/main/resources/mapper/ManageCoordinateMapper.xml new file mode 100644 index 0000000..c98d910 --- /dev/null +++ b/screen-api/src/main/resources/mapper/ManageCoordinateMapper.xml @@ -0,0 +1,32 @@ +<?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.moral.api.mapper.ManageCoordinateMapper"> + + <!-- ������������������������ --> + <resultMap id="BaseResultMap" type="com.moral.api.entity.ManageCoordinate"> + <id column="coordinate_id" property="coordinateId" /> + <result column="start_point" property="startPoint" /> + <result column="end_point" property="endPoint" /> + <result column="is_del" property="isDel" /> + <result column="create_time" property="createTime" /> + <result column="update_time" property="updateTime" /> + <result column="update_user_id" property="updateUserId" /> + <result column="updaye_user_name" property="updayeUserName" /> + <result column="organization_id" property="organizationId" /> + </resultMap> + + + <select id="CompareTo" resultType="com.moral.api.pojo.dto.historySecondCruiser.DustldDTO"> + SELECT + mc.start_point as name , + md.longitude as flyLon, + md.latitude as flyLat + FROM + manage_coordinate AS mc + LEFT JOIN manage_coordinate_detail AS md ON mc.coordinate_id = md.coordinate_id + WHERE + mc.is_del =0 + and mc.organization_id=#{orgId} + </select> + +</mapper> \ No newline at end of file diff --git a/screen-manage/src/main/java/com/moral/api/entity/ManageCoordinate.java b/screen-manage/src/main/java/com/moral/api/entity/ManageCoordinate.java index 976f806..107a3f2 100644 --- a/screen-manage/src/main/java/com/moral/api/entity/ManageCoordinate.java +++ b/screen-manage/src/main/java/com/moral/api/entity/ManageCoordinate.java @@ -54,4 +54,7 @@ * ��������������� */ private String updayeUserName; + + + private Integer organizationId; } 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 b9f1f06..0b79153 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 @@ -12,10 +12,16 @@ 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.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 +31,7 @@ private ManageCoordinateMapper manageCoordinateMapper; @Autowired - private ManageCoordinateDetailMapper manageCoordinateDetailMapper; + private SpecialDeviceMapper specialDeviceMapper; /** * ������������ @@ -34,6 +40,12 @@ */ @Override public Integer interCoordinate(Map<String, Object> params) { +// String mac = params.get("mac").toString(); + String mac ="p5dnd7a0243625"; + 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<>(); @@ -49,6 +61,7 @@ manageCoordinate.setStartPoint(startPoint); manageCoordinate.setEndPoint(endPoint); manageCoordinate.setIsDel(0); + manageCoordinate.setOrganizationId(specialDevice.getOrganizationId()); int code = manageCoordinateMapper.insert(manageCoordinate); return code; } diff --git a/screen-manage/src/main/resources/mapper/ManageCoordinateMapper.xml b/screen-manage/src/main/resources/mapper/ManageCoordinateMapper.xml index 61492c7..eaae2b2 100644 --- a/screen-manage/src/main/resources/mapper/ManageCoordinateMapper.xml +++ b/screen-manage/src/main/resources/mapper/ManageCoordinateMapper.xml @@ -12,6 +12,7 @@ <result column="update_time" property="updateTime" /> <result column="update_user_id" property="updateUserId" /> <result column="updaye_user_name" property="updayeUserName" /> + <result column="organization_id" property="organizationId" /> </resultMap> -- Gitblit v1.8.0