diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index e7683cfbd..a3b64314a 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import cn.xuyanwu.spring.file.storage.FileStorageService; import com.alibaba.fastjson.JSON; @@ -36,6 +37,8 @@ import com.zhgd.xmgl.modules.car.mapper.CarPassRecordMapper; import com.zhgd.xmgl.modules.car.mapper.CarTypeMapper; import com.zhgd.xmgl.modules.car.service.impl.CarInfoServiceImpl; import com.zhgd.xmgl.modules.car.service.impl.CarPassRecordServiceImpl; +import com.zhgd.xmgl.modules.environment.entity.DustNoiseData; +import com.zhgd.xmgl.modules.environment.service.IDustNoiseDataService; import com.zhgd.xmgl.modules.frontierprotectionnonet.entity.FrontierProtectionNoNetData; import com.zhgd.xmgl.modules.frontierprotectionnonet.mapper.FrontierProtectionNoNetDevMapper; import com.zhgd.xmgl.modules.frontierprotectionnonet.service.IFrontierProtectionNoNetDevService; @@ -227,6 +230,8 @@ public class HikvisionCall { @Lazy @Autowired private ISystemUserService systemUserService; + @Autowired + private IDustNoiseDataService dustNoiseDataService; /** * 获取图片 @@ -426,6 +431,64 @@ public class HikvisionCall { frontierProtectionNoNetDataService.add(data1); } } + } else if (Objects.equals(ability, "event_pe")) { + log.info("动环事件"); + JSONArray eventsJa = paramsJo.getJSONArray("events"); + if (eventsJa != null) { + DustNoiseData data = new DustNoiseData(); + for (int i = 0; i < eventsJa.size(); i++) { + JSONObject eventJo = eventsJa.getJSONObject(i); + //{ + // "data": { + // "channel": 5, + // "deviceTypeCode": "generalTransducer", + // "isAlarm": 0, + // "realValue": 49.79999923706055 + // }, + // "eventId": "bff12984-7bd4-11ef-8471-e8611f62fd07", + // "eventType": 459010, + // "happenTime": "2024-09-26T14:58:35.531+08:00", + // "srcIndex": "61fa6c9417c4439c81952fff8055be72", + // "srcParentIndex": "1833670489a64a0eb5262fd471eb4944", + // "srcType": "sensor", + // "status": 0, + // "timeout": 0 + // } + JSONObject dataJo = eventJo.getJSONObject(DATA); + String srcParentIndex = eventJo.getString("srcParentIndex"); + String happenTime = eventJo.getString("happenTime"); + Integer eventType = eventJo.getInteger("eventType"); + Double realValue = NumberUtil.round(dataJo.getDouble("realValue"), 4).doubleValue(); + switch (eventType) { + case 459010: + data.setHumidity(realValue); + break; + case 459009: + data.setTemperature(realValue); + break; + case 459011: + data.setWindspeed(realValue); + break; + case 459023: + data.setPressure(realValue); + break; + case 459028: + data.setNoise(realValue); + break; + + } + data.setDeviceId(srcParentIndex); + data.setUploadDate(DateUtil.formatDateTime(DateUtil.parse(happenTime))); + data.setPm10(realValue); + data.setPm25(realValue); +// data.setTsp(realValue); + data.setWinddirection(""); +// data.setVoltage(realValue); +// data.setPlateTemperature(realValue); +// data.setPlateHumidity(realValue); + } + dustNoiseDataService.saveDustNoiseData(data); + } } } else if (Objects.equals(ability1, EVENT_IAS)) { addFrontierProtectionNoNetData(jsonObject); diff --git a/src/main/java/com/zhgd/xmgl/modules/car/controller/CarMeasureSpeedBigScreenController.java b/src/main/java/com/zhgd/xmgl/modules/car/controller/CarMeasureSpeedBigScreenController.java new file mode 100644 index 000000000..1cfd5bbe4 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/car/controller/CarMeasureSpeedBigScreenController.java @@ -0,0 +1,90 @@ +package com.zhgd.xmgl.modules.car.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zhgd.annotation.OperLog; +import com.zhgd.jeecg.common.api.vo.Result; +import com.zhgd.xmgl.base.entity.vo.TrendOneVo; +import com.zhgd.xmgl.base.entity.vo.TrendVo; +import com.zhgd.xmgl.modules.car.entity.CarMeasureSpeedData; +import com.zhgd.xmgl.modules.car.entity.vo.CarMeasureSpeedDevCountVo; +import com.zhgd.xmgl.modules.car.service.ICarMeasureSpeedDataService; +import com.zhgd.xmgl.modules.car.service.ICarMeasureSpeedDevService; +import com.zhgd.xmgl.modules.video.service.IVideoItemService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +@RestController +@RequestMapping("/xmgl/carMeasureSpeedBigScreen") +@Slf4j +@Api(tags = "车辆测速大屏相关Api") +public class CarMeasureSpeedBigScreenController { + @Lazy + @Autowired + private ICarMeasureSpeedDataService carMeasureSpeedDataService; + @Lazy + @Autowired + private ICarMeasureSpeedDevService carMeasureSpeedDevService; + @Lazy + @Autowired + private IVideoItemService videoItemService; + + @OperLog(operModul = "车辆测速数据管理", operType = "分页查询", operDesc = "分页列表查询车辆测速数据信息") + @ApiOperation(value = "分页列表查询车辆测速数据信息", notes = "分页列表查询车辆测速数据信息", httpMethod = "GET") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"), + }) + @GetMapping(value = "/page") + public Result> queryPageList(@ApiIgnore @RequestParam HashMap param) { + return Result.success(carMeasureSpeedDataService.queryPageList(param)); + } + + @OperLog(operModul = "车辆测速设备管理", operType = "", operDesc = "统计设备") + @ApiOperation(value = "统计设备", notes = "统计设备", httpMethod = "GET") + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "query", required = true, dataType = "String") + @GetMapping(value = "/countDev") + public Result countDev(@ApiIgnore @RequestParam HashMap param) { + return Result.success(carMeasureSpeedDevService.countDev(param)); + } + + @ApiOperation(value = "根据项目sn查询启用的的视频列表", notes = "根据项目sn查询启用的的视频列表", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"), + }) + @PostMapping("/selectEnableVideoItemList") + public Result> selectEnableVideoItemList(@RequestBody Map map) { + return Result.success(videoItemService.selectEnableVideoItemList(map)); + } + + @ApiOperation(value = "一周内超速次数变化趋势分析", notes = "一周内超速次数变化趋势分析", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"), + }) + @PostMapping("/getExceedSpeedTrend") + public Result> getExceedSpeedTrend(@RequestBody Map map) { + return Result.success(carMeasureSpeedDataService.getExceedSpeedTrend(map)); + } + + @ApiOperation(value = "每日车辆数", notes = "每日车辆数", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String"), + }) + @PostMapping("/getCarDaily") + public Result> getCarDaily(@RequestBody Map map) { + return Result.success(carMeasureSpeedDataService.getCarDaily(map)); + } + + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/car/controller/CarMeasureSpeedDataController.java b/src/main/java/com/zhgd/xmgl/modules/car/controller/CarMeasureSpeedDataController.java new file mode 100644 index 000000000..0cdfc5e9a --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/car/controller/CarMeasureSpeedDataController.java @@ -0,0 +1,149 @@ +package com.zhgd.xmgl.modules.car.controller; + +import com.alibaba.fastjson.JSONObject; +import com.zhgd.annotation.OperLog; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiImplicitParams; + +import java.util.HashMap; + +import springfox.documentation.annotations.ApiIgnore; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.zhgd.jeecg.common.api.vo.Result; +import com.zhgd.jeecg.common.system.query.QueryGenerator; +import com.zhgd.jeecg.common.util.oConvertUtils; +import org.apache.commons.collections.MapUtils; +import com.zhgd.xmgl.modules.car.entity.CarMeasureSpeedData; +import com.zhgd.xmgl.modules.car.service.ICarMeasureSpeedDataService; + +import org.simpleframework.xml.core.Validate; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; + + +/** + * @Title: Controller + * @Description: 车辆测速数据 + * @author: pds + * @date: 2024-09-24 + * @version: V1.0 + */ +@RestController +@RequestMapping("/xmgl/carMeasureSpeedData") +@Slf4j +@Api(tags = "车辆测速数据相关Api") +public class CarMeasureSpeedDataController { + @Autowired + private ICarMeasureSpeedDataService carMeasureSpeedDataService; + + /** + * 分页列表查询 + * + * @return + */ + @OperLog(operModul = "车辆测速数据管理", operType = "分页查询", operDesc = "分页列表查询车辆测速数据信息") + @ApiOperation(value = "分页列表查询车辆测速数据信息", notes = "分页列表查询车辆测速数据信息", httpMethod = "GET") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"), + }) + @GetMapping(value = "/page") + public Result> queryPageList(@ApiIgnore @RequestParam HashMap param) { + return Result.success(carMeasureSpeedDataService.queryPageList(param)); + } + + /** + * 列表查询 + * + * @return + */ + @OperLog(operModul = "车辆测速数据管理", operType = "列表查询", operDesc = "列表查询车辆测速数据信息") + @ApiOperation(value = "列表查询车辆测速数据信息", notes = "列表查询车辆测速数据信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(@ApiIgnore @RequestParam HashMap param) { + return Result.success(carMeasureSpeedDataService.queryList(param)); + } + + /** + * 添加 + * + * @param carMeasureSpeedData + * @return + */ + @OperLog(operModul = "车辆测速数据管理", operType = "添加", operDesc = "添加车辆测速数据信息") + @ApiOperation(value = "添加车辆测速数据信息", notes = "添加车辆测速数据信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody @Validate CarMeasureSpeedData carMeasureSpeedData) { + carMeasureSpeedDataService.add(carMeasureSpeedData); + return Result.ok(); + } + + /** + * 编辑 + * + * @param carMeasureSpeedData + * @return + */ + @OperLog(operModul = "车辆测速数据管理", operType = "编辑", operDesc = "编辑车辆测速数据信息") + @ApiOperation(value = "编辑车辆测速数据信息", notes = "编辑车辆测速数据信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody CarMeasureSpeedData carMeasureSpeedData) { + carMeasureSpeedDataService.edit(carMeasureSpeedData); + return Result.ok(); + } + + /** + * 通过id删除 + * + * @return + */ + @OperLog(operModul = "车辆测速数据管理", operType = "删除", operDesc = "删除车辆测速数据信息") + @ApiOperation(value = "删除车辆测速数据信息", notes = "删除车辆测速数据信息", httpMethod = "POST") + @ApiImplicitParam(name = "id", value = "车辆测速数据ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}") + @PostMapping(value = "/delete") + public Result delete(@ApiIgnore @RequestBody HashMap map) { + carMeasureSpeedDataService.delete(MapUtils.getString(map, "id")); + return Result.ok(); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @OperLog(operModul = "车辆测速数据管理", operType = "通过id查询", operDesc = "通过id查询车辆测速数据信息") + @ApiOperation(value = "通过id查询车辆测速数据信息", notes = "通过id查询车辆测速数据信息", httpMethod = "GET") + @ApiImplicitParam(name = "id", value = "车辆测速数据ID", paramType = "query", required = true, dataType = "Integer") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + return Result.success(carMeasureSpeedDataService.queryById(id)); + } + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/car/controller/CarMeasureSpeedDevController.java b/src/main/java/com/zhgd/xmgl/modules/car/controller/CarMeasureSpeedDevController.java new file mode 100644 index 000000000..90efca166 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/car/controller/CarMeasureSpeedDevController.java @@ -0,0 +1,122 @@ +package com.zhgd.xmgl.modules.car.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zhgd.annotation.OperLog; +import com.zhgd.jeecg.common.api.vo.Result; +import com.zhgd.xmgl.modules.car.entity.CarMeasureSpeedDev; +import com.zhgd.xmgl.modules.car.entity.vo.CarMeasureSpeedDevCountVo; +import com.zhgd.xmgl.modules.car.service.ICarMeasureSpeedDevService; +import io.swagger.annotations.*; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.MapUtils; +import org.simpleframework.xml.core.Validate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; + +import java.util.HashMap; +import java.util.List; + + +/** + * @Title: Controller + * @Description: 车辆测速设备 + * @author: pds + * @date: 2024-09-24 + * @version: V1.0 + */ +@RestController +@RequestMapping("/xmgl/carMeasureSpeedDev") +@Slf4j +@Api(tags = "车辆测速设备相关Api") +public class CarMeasureSpeedDevController { + @Autowired + private ICarMeasureSpeedDevService carMeasureSpeedDevService; + + /** + * 分页列表查询 + * + * @return + */ + @OperLog(operModul = "车辆测速设备管理", operType = "分页查询", operDesc = "分页列表查询车辆测速设备信息") + @ApiOperation(value = "分页列表查询车辆测速设备信息", notes = "分页列表查询车辆测速设备信息", httpMethod = "GET") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"), + }) + @GetMapping(value = "/page") + public Result> queryPageList(@ApiIgnore @RequestParam HashMap param) { + return Result.success(carMeasureSpeedDevService.queryPageList(param)); + } + + /** + * 列表查询 + * + * @return + */ + @OperLog(operModul = "车辆测速设备管理", operType = "列表查询", operDesc = "列表查询车辆测速设备信息") + @ApiOperation(value = "列表查询车辆测速设备信息", notes = "列表查询车辆测速设备信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(@ApiIgnore @RequestParam HashMap param) { + return Result.success(carMeasureSpeedDevService.queryList(param)); + } + + /** + * 添加 + * + * @param carMeasureSpeedDev + * @return + */ + @OperLog(operModul = "车辆测速设备管理", operType = "添加", operDesc = "添加车辆测速设备信息") + @ApiOperation(value = "添加车辆测速设备信息", notes = "添加车辆测速设备信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody @Validate CarMeasureSpeedDev carMeasureSpeedDev) { + carMeasureSpeedDevService.add(carMeasureSpeedDev); + return Result.ok(); + } + + /** + * 编辑 + * + * @param carMeasureSpeedDev + * @return + */ + @OperLog(operModul = "车辆测速设备管理", operType = "编辑", operDesc = "编辑车辆测速设备信息") + @ApiOperation(value = "编辑车辆测速设备信息", notes = "编辑车辆测速设备信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody CarMeasureSpeedDev carMeasureSpeedDev) { + carMeasureSpeedDevService.edit(carMeasureSpeedDev); + return Result.ok(); + } + + /** + * 通过id删除 + * + * @return + */ + @OperLog(operModul = "车辆测速设备管理", operType = "删除", operDesc = "删除车辆测速设备信息") + @ApiOperation(value = "删除车辆测速设备信息", notes = "删除车辆测速设备信息", httpMethod = "POST") + @ApiImplicitParam(name = "id", value = "车辆测速设备ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}") + @PostMapping(value = "/delete") + public Result delete(@ApiIgnore @RequestBody HashMap map) { + carMeasureSpeedDevService.delete(MapUtils.getString(map, "id")); + return Result.ok(); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @OperLog(operModul = "车辆测速设备管理", operType = "通过id查询", operDesc = "通过id查询车辆测速设备信息") + @ApiOperation(value = "通过id查询车辆测速设备信息", notes = "通过id查询车辆测速设备信息", httpMethod = "GET") + @ApiImplicitParam(name = "id", value = "车辆测速设备ID", paramType = "query", required = true, dataType = "Integer") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + return Result.success(carMeasureSpeedDevService.queryById(id)); + } + + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/car/entity/CarMeasureSpeedData.java b/src/main/java/com/zhgd/xmgl/modules/car/entity/CarMeasureSpeedData.java new file mode 100644 index 000000000..fa04f3c71 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/car/entity/CarMeasureSpeedData.java @@ -0,0 +1,97 @@ +package com.zhgd.xmgl.modules.car.entity; + +import java.io.Serializable; +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.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * @Description: 车辆测速数据 + * @author: pds + * @date: 2024-09-24 + * @version: V1.0 + */ +@Data +@TableName("car_measure_speed_data") +@ApiModel(value = "CarMeasureSpeedData实体类", description = "CarMeasureSpeedData") +public class CarMeasureSpeedData implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 车辆测速数据id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "车辆测速数据id") + private java.lang.Long id; + /** + * 设备编号 + */ + @ApiModelProperty(value = "设备编号") + private java.lang.String devSn; + /** + * 车牌号 + */ + @ApiModelProperty(value = "车牌号") + private java.lang.String carNumber; + /** + * 是否超出阈值1是0否 + */ + @ApiModelProperty(value = "是否超出阈值1是0否") + private java.lang.Integer isExceed; + /** + * 当前车速(km/h) + */ + @ApiModelProperty(value = "当前车速(km/h)") + private java.math.BigDecimal currentSpeed; + /** + * 超出阈值多少 + */ + @ApiModelProperty(value = "超出阈值多少") + private java.math.BigDecimal exceedingThreshold; + /** + * 抓拍图片 + */ + @ApiModelProperty(value = "抓拍图片") + private java.lang.String snapshotImage; + /** + * 上传时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "上传时间") + private java.util.Date uploadTime; + /** + * 项目sn + */ + @ApiModelProperty(value = "项目sn") + private java.lang.String projectSn; + /** + * 创建时间 yyyy-MM-dd HH:mm:ss + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间 yyyy-MM-dd HH:mm:ss") + private java.util.Date createDate; + /** + * 更新时间 yyyy-MM-dd HH:mm:ss + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss") + private java.util.Date updateDate; + @TableField(exist = false) + @ApiModelProperty(value = "设备名称") + private java.lang.String deviceName; + @TableField(exist = false) + @ApiModelProperty(value = "合作单位名称") + private java.lang.String enterpriseName; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/car/entity/CarMeasureSpeedDev.java b/src/main/java/com/zhgd/xmgl/modules/car/entity/CarMeasureSpeedDev.java new file mode 100644 index 000000000..bf1bbe994 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/car/entity/CarMeasureSpeedDev.java @@ -0,0 +1,122 @@ +package com.zhgd.xmgl.modules.car.entity; + +import java.io.Serializable; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * @Description: 车辆测速设备 + * @author: pds + * @date: 2024-09-24 + * @version: V1.0 + */ +@Data +@TableName("car_measure_speed_dev") +@ApiModel(value = "CarMeasureSpeedDev实体类", description = "CarMeasureSpeedDev") +public class CarMeasureSpeedDev implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 车辆测速设备id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "车辆测速设备id") + private java.lang.Long id; + /** + * 设备名称 + */ + @ApiModelProperty(value = "设备名称") + private java.lang.String deviceName; + /** + * 设备编号 + */ + @ApiModelProperty(value = "设备编号") + private java.lang.String devSn; + /** + * 设备地址 + */ + @ApiModelProperty(value = "设备地址") + private java.lang.String deviceAddress; + /** + * 备案时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "备案时间") + private java.util.Date recordTime; + /** + * 阈值 + */ + @ApiModelProperty(value = "阈值") + private java.math.BigDecimal threshold; + /** + * 是否启用,1启用0不启用 + */ + @ApiModelProperty(value = "是否启用,1启用0不启用") + private java.lang.Integer enabled; + /** + * 显示的名字 + */ + @ApiModelProperty(value = "显示的名字") + private java.lang.String displayedName; + /** + * 设备所在经度 + */ + @ApiModelProperty(value = "设备所在经度") + private java.lang.String lng; + /** + * 设备所在纬度 + */ + @ApiModelProperty(value = "设备所在纬度") + private java.lang.String lat; + /** + * 摄像头 + */ + @ApiModelProperty(value = "摄像头") + private java.lang.String camera; + /** + * 报警推送人 + */ + @ApiModelProperty(value = "报警推送人") + private java.lang.String alarmPusher; + /** + * 项目sn + */ + @ApiModelProperty(value = "项目sn") + private java.lang.String projectSn; + /** + * 创建时间 yyyy-MM-dd HH:mm:ss + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间 yyyy-MM-dd HH:mm:ss") + private java.util.Date createDate; + /** + * 更新时间 yyyy-MM-dd HH:mm:ss + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss") + private java.util.Date updateDate; + /** + * 上次数据上传时间 yyyy-MM-dd HH:mm:ss + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "上次数据上传时间 yyyy-MM-dd HH:mm:ss") + private java.util.Date lastDataTime; + /** + * 分包单位ids + */ + @ApiModelProperty(value = "分包单位ids") + private java.lang.String enterpriseIds; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/car/entity/vo/CarMeasureSpeedDevCountVo.java b/src/main/java/com/zhgd/xmgl/modules/car/entity/vo/CarMeasureSpeedDevCountVo.java new file mode 100644 index 000000000..34ab9ae94 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/car/entity/vo/CarMeasureSpeedDevCountVo.java @@ -0,0 +1,16 @@ +package com.zhgd.xmgl.modules.car.entity.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class CarMeasureSpeedDevCountVo { + @ApiModelProperty("设备总数") + private Integer total; + @ApiModelProperty("设备在线数量") + private Integer online; + @ApiModelProperty("设备离线率") + private BigDecimal offlinePercent; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/car/mapper/CarMeasureSpeedDataMapper.java b/src/main/java/com/zhgd/xmgl/modules/car/mapper/CarMeasureSpeedDataMapper.java new file mode 100644 index 000000000..e5e341adb --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/car/mapper/CarMeasureSpeedDataMapper.java @@ -0,0 +1,57 @@ +package com.zhgd.xmgl.modules.car.mapper; + +import java.util.List; +import java.util.HashMap; +import java.util.Map; + +import com.zhgd.xmgl.base.entity.vo.TrendOneVo; +import com.zhgd.xmgl.modules.car.entity.CarMeasureSpeedData; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 车辆测速数据 + * @author: pds + * @date: 2024-09-24 + * @version: V1.0 + */ +@Mapper +public interface CarMeasureSpeedDataMapper extends BaseMapper { + + /** + * 分页列表查询车辆测速数据信息 + * + * @param page + * @param queryWrapper + * @param param + * @return + */ + IPage queryList(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper, @Param("param") HashMap param); + + /** + * 列表查询车辆测速数据信息 + * + * @param queryWrapper + * @param param + * @return + */ + List queryList(@Param(Constants.WRAPPER) QueryWrapper queryWrapper, @Param("param") HashMap param); + + + /** + * 通过id查询车辆测速数据信息 + * + * @param id + * @return + */ + CarMeasureSpeedData queryById(String id); + + List getExceedSpeedTrend(Map map); + + List getCarDaily(Map map); +} diff --git a/src/main/java/com/zhgd/xmgl/modules/car/mapper/CarMeasureSpeedDevMapper.java b/src/main/java/com/zhgd/xmgl/modules/car/mapper/CarMeasureSpeedDevMapper.java new file mode 100644 index 000000000..dfb78c09e --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/car/mapper/CarMeasureSpeedDevMapper.java @@ -0,0 +1,54 @@ +package com.zhgd.xmgl.modules.car.mapper; + +import java.util.List; +import java.util.HashMap; + +import com.zhgd.xmgl.modules.car.entity.CarMeasureSpeedDev; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.xmgl.modules.car.entity.vo.CarMeasureSpeedDevCountVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 车辆测速设备 + * @author: pds + * @date: 2024-09-24 + * @version: V1.0 + */ +@Mapper +public interface CarMeasureSpeedDevMapper extends BaseMapper { + + /** + * 分页列表查询车辆测速设备信息 + * + * @param page + * @param queryWrapper + * @param param + * @return + */ + IPage queryList(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper, @Param("param") HashMap param); + + /** + * 列表查询车辆测速设备信息 + * + * @param queryWrapper + * @param param + * @return + */ + List queryList(@Param(Constants.WRAPPER) QueryWrapper queryWrapper, @Param("param") HashMap param); + + + /** + * 通过id查询车辆测速设备信息 + * + * @param id + * @return + */ + CarMeasureSpeedDev queryById(String id); + + CarMeasureSpeedDevCountVo countDev(HashMap param); +} diff --git a/src/main/java/com/zhgd/xmgl/modules/car/mapper/xml/CarMeasureSpeedDataMapper.xml b/src/main/java/com/zhgd/xmgl/modules/car/mapper/xml/CarMeasureSpeedDataMapper.xml new file mode 100644 index 000000000..0c390eafc --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/car/mapper/xml/CarMeasureSpeedDataMapper.xml @@ -0,0 +1,52 @@ + + + + + + + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/car/mapper/xml/CarMeasureSpeedDevMapper.xml b/src/main/java/com/zhgd/xmgl/modules/car/mapper/xml/CarMeasureSpeedDevMapper.xml new file mode 100644 index 000000000..e6d2df7e2 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/car/mapper/xml/CarMeasureSpeedDevMapper.xml @@ -0,0 +1,33 @@ + + + + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/car/service/ICarMeasureSpeedDataService.java b/src/main/java/com/zhgd/xmgl/modules/car/service/ICarMeasureSpeedDataService.java new file mode 100644 index 000000000..68a596e43 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/car/service/ICarMeasureSpeedDataService.java @@ -0,0 +1,70 @@ +package com.zhgd.xmgl.modules.car.service; + +import com.zhgd.xmgl.base.entity.vo.TrendOneVo; +import com.zhgd.xmgl.modules.car.entity.CarMeasureSpeedData; +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Description: 车辆测速数据 + * @author: pds + * @date: 2024-09-24 + * @version: V1.0 + */ +public interface ICarMeasureSpeedDataService extends IService { + /** + * 分页列表查询车辆测速数据信息 + * + * @param param 参数map + * @return + */ + IPage queryPageList(HashMap param); + + /** + * 列表查询车辆测速数据信息 + * + * @param param 参数map + * @return + */ + List queryList(HashMap param); + + /** + * 添加车辆测速数据信息 + * + * @param carMeasureSpeedData 车辆测速数据 + * @return + */ + void add(CarMeasureSpeedData carMeasureSpeedData); + + /** + * 编辑车辆测速数据信息 + * + * @param carMeasureSpeedData 车辆测速数据 + * @return + */ + void edit(CarMeasureSpeedData carMeasureSpeedData); + + /** + * 根据id删除车辆测速数据信息 + * + * @param id 车辆测速数据的id + * @return + */ + void delete(String id); + + /** + * 根据id查询车辆测速数据信息 + * + * @param id 车辆测速数据的id + * @return + */ + CarMeasureSpeedData queryById(String id); + + List getExceedSpeedTrend(Map map); + + List getCarDaily(Map map); +} diff --git a/src/main/java/com/zhgd/xmgl/modules/car/service/ICarMeasureSpeedDevService.java b/src/main/java/com/zhgd/xmgl/modules/car/service/ICarMeasureSpeedDevService.java new file mode 100644 index 000000000..57925fec6 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/car/service/ICarMeasureSpeedDevService.java @@ -0,0 +1,67 @@ +package com.zhgd.xmgl.modules.car.service; + +import com.zhgd.xmgl.modules.car.entity.CarMeasureSpeedDev; +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zhgd.xmgl.modules.car.entity.vo.CarMeasureSpeedDevCountVo; + +import java.util.HashMap; +import java.util.List; + +/** + * @Description: 车辆测速设备 + * @author: pds + * @date: 2024-09-24 + * @version: V1.0 + */ +public interface ICarMeasureSpeedDevService extends IService { + /** + * 分页列表查询车辆测速设备信息 + * + * @param param 参数map + * @return + */ + IPage queryPageList(HashMap param); + + /** + * 列表查询车辆测速设备信息 + * + * @param param 参数map + * @return + */ + List queryList(HashMap param); + + /** + * 添加车辆测速设备信息 + * + * @param carMeasureSpeedDev 车辆测速设备 + * @return + */ + void add(CarMeasureSpeedDev carMeasureSpeedDev); + + /** + * 编辑车辆测速设备信息 + * + * @param carMeasureSpeedDev 车辆测速设备 + * @return + */ + void edit(CarMeasureSpeedDev carMeasureSpeedDev); + + /** + * 根据id删除车辆测速设备信息 + * + * @param id 车辆测速设备的id + * @return + */ + void delete(String id); + + /** + * 根据id查询车辆测速设备信息 + * + * @param id 车辆测速设备的id + * @return + */ + CarMeasureSpeedDev queryById(String id); + + CarMeasureSpeedDevCountVo countDev(HashMap param); +} diff --git a/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarMeasureSpeedDataServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarMeasureSpeedDataServiceImpl.java new file mode 100644 index 000000000..30a5590c6 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarMeasureSpeedDataServiceImpl.java @@ -0,0 +1,111 @@ +package com.zhgd.xmgl.modules.car.service.impl; + +import cn.hutool.core.date.DateUtil; +import com.zhgd.jeecg.common.execption.OpenAlertException; +import com.zhgd.xmgl.base.entity.vo.TrendOneVo; +import com.zhgd.xmgl.modules.car.entity.CarMeasureSpeedData; +import com.zhgd.xmgl.modules.car.mapper.CarMeasureSpeedDataMapper; +import com.zhgd.xmgl.modules.car.service.ICarMeasureSpeedDataService; +import com.zhgd.xmgl.util.DateUtils; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.jeecg.common.system.query.QueryGenerator; +import com.zhgd.xmgl.util.PageUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.zhgd.xmgl.util.RefUtil; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Description: 车辆测速数据 + * @author: pds + * @date: 2024-09-24 + * @version: V1.0 + */ +@Service +public class CarMeasureSpeedDataServiceImpl extends ServiceImpl implements ICarMeasureSpeedDataService { + @Autowired + private CarMeasureSpeedDataMapper carMeasureSpeedDataMapper; + + @Override + public IPage queryPageList(HashMap param) { + QueryWrapper queryWrapper = this.getQueryWrapper(param); + Page page = PageUtil.getPage(param); + IPage pageList = baseMapper.queryList(page, queryWrapper, param); + pageList.setRecords(this.dealList(pageList.getRecords())); + return pageList; + } + + @Override + public List queryList(HashMap param) { + QueryWrapper queryWrapper = getQueryWrapper(param); + return dealList(baseMapper.queryList(queryWrapper, param)); + } + + private QueryWrapper getQueryWrapper(HashMap param) { + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(CarMeasureSpeedData.class, param, true); + queryWrapper.orderByDesc(RefUtil.fieldNameUlc(CarMeasureSpeedData::getUploadTime)); + return queryWrapper; + } + + private List dealList(List list) { + return list; + } + + @Override + public void add(CarMeasureSpeedData carMeasureSpeedData) { + carMeasureSpeedData.setId(null); + baseMapper.insert(carMeasureSpeedData); + } + + @Override + public void edit(CarMeasureSpeedData carMeasureSpeedData) { + CarMeasureSpeedData oldCarMeasureSpeedData = baseMapper.selectById(carMeasureSpeedData.getId()); + if (oldCarMeasureSpeedData == null) { + throw new OpenAlertException("未找到对应实体"); + } + baseMapper.updateById(carMeasureSpeedData); + } + + @Override + public void delete(String id) { + CarMeasureSpeedData carMeasureSpeedData = baseMapper.selectById(id); + if (carMeasureSpeedData == null) { + throw new OpenAlertException("未找到对应实体"); + } + baseMapper.deleteById(id); + } + + @Override + public CarMeasureSpeedData queryById(String id) { + CarMeasureSpeedData entity = baseMapper.queryById(id); + if (entity == null) { + throw new OpenAlertException("未找到对应实体"); + } + return entity; + } + + @Override + public List getExceedSpeedTrend(Map map) { + //近7天 + List list = baseMapper.getExceedSpeedTrend(map); + List days = DateUtils.getDateTimeStrList(60, "yyyy-MM-dd"); + return TrendOneVo.fillTrendVos(list, days, "MM-dd"); + } + + @Override + public List getCarDaily(Map map) { + //近7天 + List list = baseMapper.getCarDaily(map); + List days = DateUtils.getDateTimeStrList(60, "yyyy-MM-dd"); + return TrendOneVo.fillTrendVos(list, days, "MM-dd"); + } +} diff --git a/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarMeasureSpeedDevServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarMeasureSpeedDevServiceImpl.java new file mode 100644 index 000000000..84e6f9e72 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarMeasureSpeedDevServiceImpl.java @@ -0,0 +1,97 @@ +package com.zhgd.xmgl.modules.car.service.impl; + +import com.zhgd.jeecg.common.execption.OpenAlertException; +import com.zhgd.xmgl.modules.car.entity.CarMeasureSpeedDev; +import com.zhgd.xmgl.modules.car.entity.vo.CarMeasureSpeedDevCountVo; +import com.zhgd.xmgl.modules.car.mapper.CarMeasureSpeedDevMapper; +import com.zhgd.xmgl.modules.car.service.ICarMeasureSpeedDevService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.jeecg.common.system.query.QueryGenerator; +import com.zhgd.xmgl.util.PageUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.HashMap; +import java.util.List; + +import com.zhgd.xmgl.util.RefUtil; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Description: 车辆测速设备 + * @author: pds + * @date: 2024-09-24 + * @version: V1.0 + */ +@Service +public class CarMeasureSpeedDevServiceImpl extends ServiceImpl implements ICarMeasureSpeedDevService { + @Autowired + private CarMeasureSpeedDevMapper carMeasureSpeedDevMapper; + + @Override + public IPage queryPageList(HashMap param) { + QueryWrapper queryWrapper = this.getQueryWrapper(param); + Page page = PageUtil.getPage(param); + IPage pageList = baseMapper.queryList(page, queryWrapper, param); + pageList.setRecords(this.dealList(pageList.getRecords())); + return pageList; + } + + @Override + public List queryList(HashMap param) { + QueryWrapper queryWrapper = getQueryWrapper(param); + return dealList(baseMapper.queryList(queryWrapper, param)); + } + + private QueryWrapper getQueryWrapper(HashMap param) { + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(CarMeasureSpeedDev.class, param, true); + queryWrapper.orderByDesc(RefUtil.fieldNameUlc(CarMeasureSpeedDev::getId)); + return queryWrapper; + } + + private List dealList(List list) { + return list; + } + + @Override + public void add(CarMeasureSpeedDev carMeasureSpeedDev) { + carMeasureSpeedDev.setId(null); + baseMapper.insert(carMeasureSpeedDev); + } + + @Override + public void edit(CarMeasureSpeedDev carMeasureSpeedDev) { + CarMeasureSpeedDev oldCarMeasureSpeedDev = baseMapper.selectById(carMeasureSpeedDev.getId()); + if (oldCarMeasureSpeedDev == null) { + throw new OpenAlertException("未找到对应实体"); + } + baseMapper.updateById(carMeasureSpeedDev); + } + + @Override + public void delete(String id) { + CarMeasureSpeedDev carMeasureSpeedDev = baseMapper.selectById(id); + if (carMeasureSpeedDev == null) { + throw new OpenAlertException("未找到对应实体"); + } + baseMapper.deleteById(id); + } + + @Override + public CarMeasureSpeedDev queryById(String id) { + CarMeasureSpeedDev entity = baseMapper.queryById(id); + if (entity == null) { + throw new OpenAlertException("未找到对应实体"); + } + return entity; + } + + @Override + public CarMeasureSpeedDevCountVo countDev(HashMap param) { + return baseMapper.countDev(param); + } + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/video/mapper/VideoItemMapper.java b/src/main/java/com/zhgd/xmgl/modules/video/mapper/VideoItemMapper.java index 4007adde6..55ffb544b 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/mapper/VideoItemMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/mapper/VideoItemMapper.java @@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.video.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.zhgd.annotation.DataScope; import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.xmgl.base.entity.vo.TrendOneVo; import com.zhgd.xmgl.modules.video.entity.VideoItem; import com.zhgd.xmgl.modules.xz.entity.vo.CountStatusVo; import com.zhgd.xmgl.modules.yunlianwanwu.middle.entity.VideoItemConfigBo; @@ -180,4 +181,6 @@ public interface VideoItemMapper extends BaseMapper { * @return */ List countStatusTrend(Map param); + + List getExceedSpeedTrend(Map map); } diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/IVideoItemService.java b/src/main/java/com/zhgd/xmgl/modules/video/service/IVideoItemService.java index 59466215d..b75fa0fdb 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/IVideoItemService.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/IVideoItemService.java @@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.video.service; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.xmgl.base.entity.vo.TrendOneVo; import com.zhgd.xmgl.modules.video.entity.VideoItem; import com.zhgd.xmgl.modules.xz.entity.vo.CountStatusVo; @@ -259,4 +260,5 @@ public interface IVideoItemService extends IService { List countStatusTrend(Map param); String searchCameraFromHk(Map param); + } diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/VideoItemServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/VideoItemServiceImpl.java index 3514cbdae..adc00da4f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/VideoItemServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/VideoItemServiceImpl.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.async.AsyncCommon; +import com.zhgd.xmgl.base.entity.vo.TrendOneVo; import com.zhgd.xmgl.modules.basicdata.entity.DictionariesRecord; import com.zhgd.xmgl.modules.basicdata.mapper.DictionariesRecordMapper; import com.zhgd.xmgl.modules.basicdata.service.ICompanyService; diff --git a/src/main/java/com/zhgd/xmgl/task/CarInfoTask.java b/src/main/java/com/zhgd/xmgl/task/CarInfoTask.java index c2062f1c5..36a4187a0 100644 --- a/src/main/java/com/zhgd/xmgl/task/CarInfoTask.java +++ b/src/main/java/com/zhgd/xmgl/task/CarInfoTask.java @@ -2,26 +2,47 @@ package com.zhgd.xmgl.task; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.NumberUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zhgd.redis.lock.RedisRepository; +import com.zhgd.xmgl.base.HikvisionEventsPictureRq; +import com.zhgd.xmgl.call.HikvisionCall; import com.zhgd.xmgl.modules.car.entity.CarInfo; import com.zhgd.xmgl.modules.car.entity.CarInfoApprovalFlow; +import com.zhgd.xmgl.modules.car.entity.CarMeasureSpeedData; +import com.zhgd.xmgl.modules.car.entity.CarMeasureSpeedDev; import com.zhgd.xmgl.modules.car.enums.CarInfoCarModuleTypeEnum; import com.zhgd.xmgl.modules.car.mapper.CarInfoApprovalFlowMapper; import com.zhgd.xmgl.modules.car.mapper.CarInfoMapper; +import com.zhgd.xmgl.modules.car.service.ICarMeasureSpeedDataService; +import com.zhgd.xmgl.modules.car.service.ICarMeasureSpeedDevService; import com.zhgd.xmgl.modules.car.service.impl.CarInfoServiceImpl; import com.zhgd.xmgl.modules.project.entity.Project; import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; +import com.zhgd.xmgl.util.HikvisionUtil; import lombok.extern.slf4j.Slf4j; +import net.javacrumbs.shedlock.core.SchedulerLock; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import java.util.List; +import java.math.BigDecimal; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; @Slf4j -@Component +@RequestMapping("/xmgl/task") +@RestController public class CarInfoTask { + @Lazy + @Autowired + HikvisionCall hikvisionCall; @Lazy @Autowired private CarInfoServiceImpl carInfoService; @@ -34,6 +55,14 @@ public class CarInfoTask { @Lazy @Autowired private CarInfoApprovalFlowMapper carInfoApprovalFlowMapper; + @Lazy + @Autowired + private RedisRepository redisRepository; + @Lazy + @Autowired + private ICarMeasureSpeedDevService carMeasureSpeedDevService; + @Autowired + private ICarMeasureSpeedDataService carMeasureSpeedDataService; /** * 定时删除/更新过期的车辆,并下发新的预约时间的车辆到海康 @@ -64,4 +93,76 @@ public class CarInfoTask { } + /** + * 定时到海康拉取车辆超速,园区卡口违章事件查询v2 + */ + @Scheduled(cron = "* */2 * * * ?") + @SchedulerLock(name = "getCarMeasureSpeedData", lockAtMostFor = 1000 * 60, lockAtLeastFor = 1000 * 60) + @RequestMapping("getCarMeasureSpeedData") + public void getCarMeasureSpeedData() { + String start; + String queryTimeKey = "GET_ISC_CAR_MEASURE_SPEED_DATA_TIME"; + Object o = redisRepository.get(queryTimeKey); + if (o != null) { + start = o.toString(); + } else { + start = DateUtil.format(DateUtil.offsetDay(new Date(), -1), "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); + } + String end = DateUtil.format(new Date(), "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); + redisRepository.set(queryTimeKey, end); + List projects = projectMapper.selectList(new LambdaQueryWrapper() + .eq(Project::getSyncHikvision, 1)); + List speedDevs = carMeasureSpeedDevService.list(); + Map> projectMap = speedDevs.stream().collect(Collectors.groupingBy(CarMeasureSpeedDev::getProjectSn)); + for (Map.Entry> entry : projectMap.entrySet()) { + List list = entry.getValue(); + Map devMap = list.stream().collect(Collectors.toMap(CarMeasureSpeedDev::getDevSn, Function.identity())); + String projectSn = entry.getKey(); + Optional hasProject = projects.stream().filter(project -> Objects.equals(project.getProjectSn(), projectSn)).findFirst(); + if (hasProject.isPresent()) { + Project project = hasProject.get(); + try { + JSONObject param = new JSONObject(); + HikvisionUtil.addPageParamIfAbsent(param); + param.put("beginTime", start); + param.put("endTime", DateUtil.format(new Date(), "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")); + param.put("illegalType", 1); + JSONObject rsJo = HikvisionUtil.getSpeedDataList(project, param); + if (HikvisionUtil.isSuccess(rsJo)) { + JSONObject dataJo = HikvisionUtil.getJsonObjectData(rsJo); + JSONArray listJa = dataJo.getJSONArray("list"); + if (CollUtil.isNotEmpty(listJa)) { + for (int i = 0; i < listJa.size(); i++) { + JSONObject jo = listJa.getJSONObject(i); + String monitoringId = jo.getString("monitoringId"); + CarMeasureSpeedDev dev = devMap.get(monitoringId); + if (dev == null) { + continue; + } + String plateNo = jo.getString("plateNo"); + BigDecimal speed = jo.getBigDecimal("speed"); + Date time = DateUtil.parse(jo.getString("crossTime")); + CarMeasureSpeedData data = new CarMeasureSpeedData(); + data.setDevSn(monitoringId); + data.setCarNumber(plateNo); + data.setIsExceed(1); + data.setCurrentSpeed(speed); + data.setExceedingThreshold(NumberUtil.sub(speed, dev.getThreshold())); + String platePicUrl = jo.getString("carPicUri"); + String svrIndex = jo.getString("aswSyscode"); + if (StringUtils.isNotBlank(platePicUrl)) { + data.setSnapshotImage(hikvisionCall.saveToLocal(HikvisionCall.getHikvisionEventsPicture(new HikvisionEventsPictureRq(svrIndex, platePicUrl), project.getArtemisConfigHost(), project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()))); + } + data.setUploadTime(time); + data.setProjectSn(dev.getProjectSn()); + carMeasureSpeedDataService.add(data); + } + } + } + } catch (Exception e) { + log.error("定时到海康拉取车辆超速错误:", e); + } + } + } + } } diff --git a/src/main/java/com/zhgd/xmgl/task/SewageTask.java b/src/main/java/com/zhgd/xmgl/task/SewageTask.java new file mode 100644 index 000000000..befc7a512 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/task/SewageTask.java @@ -0,0 +1,271 @@ +package com.zhgd.xmgl.task; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zhgd.redis.lock.RedisRepository; +import com.zhgd.xmgl.modules.project.entity.Project; +import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; +import com.zhgd.xmgl.modules.sewage.entity.SewageAlarm; +import com.zhgd.xmgl.modules.sewage.entity.SewageData; +import com.zhgd.xmgl.modules.sewage.entity.SewageDev; +import com.zhgd.xmgl.modules.sewage.service.ISewageAlarmService; +import com.zhgd.xmgl.modules.sewage.service.ISewageDataService; +import com.zhgd.xmgl.modules.sewage.service.ISewageDevService; +import com.zhgd.xmgl.util.RenZhiUtil; +import lombok.extern.slf4j.Slf4j; +import net.javacrumbs.shedlock.core.SchedulerLock; +import org.jetbrains.annotations.Nullable; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +@Slf4j +@RestController +@RequestMapping("xmgl/task") +public class SewageTask { + public static final String REDIS_RAIN_ALARM_TASK_START_TIME = "getSewageAlarmTaskStartTime"; + public static final String DATA_VALUE = "dataValue"; + public static final String RECORD_TIME = "recordTime"; + @Resource + @Lazy + private ISewageDataService sewageDataService; + @Resource + @Lazy + private ISewageAlarmService sewageAlarmService; + @Resource + @Lazy + private ISewageDevService sewageDevService; + @Lazy + @Autowired + private ProjectMapper projectMapper; + @Lazy + @Autowired + private RedisRepository redisRepository; + + /** + * 获取实时数据 + */ + @Scheduled(cron = "0 */2 * * * ?") + @SchedulerLock(name = "getSewageRecordTask", lockAtMostFor = 1000 * 60, lockAtLeastFor = 1000 * 60) + @RequestMapping("getSewageRecordTask") + public void getSewageRecordTask() { + List projectList = projectMapper.selectList(new LambdaQueryWrapper() + .ne(Project::getJnrzckAccount, "") + .ne(Project::getJnrzckPw, "") + ); + for (Project project : projectList) { + try { + saveAllRecord(project); + } catch (Exception e) { + log.error("", e); + } + } + } + + private void saveAllRecord(Project project) { + List devs = sewageDevService.list(new LambdaQueryWrapper().eq(SewageDev::getProjectSn, project.getProjectSn())); + if (CollUtil.isEmpty(devs)) { + return; + } + Map devSnMap = devs.stream().collect(Collectors.toMap(SewageDev::getDevSn, Function.identity())); + JSONArray datas = RenZhiUtil.getRealTimeDataByDeviceAddr(StrUtil.join(",", devs.stream().map(SewageDev::getDevSn).collect(Collectors.toList())), project.getJnrzckAccount(), project.getJnrzckPw()); + if (CollUtil.isEmpty(datas)) { + log.info("污水获取实时数据为空,项目名称:{}", project.getProjectName()); + return; + } + List records = new ArrayList<>(); + for (int i = 0; i < datas.size(); i++) { + JSONObject dataJo = datas.getJSONObject(i); + JSONArray dataItemJa = dataJo.getJSONArray("dataItem"); + String deviceAddr = dataJo.getString("deviceAddr"); + //normal:正常 + //alarming:报警 + //preAlarming:预警 + //offline:离线 + String deviceStatus = dataJo.getString("deviceStatus"); + SewageData record = new SewageData(); + SewageDev dev = devSnMap.get(deviceAddr); + if (CollUtil.isNotEmpty(dataItemJa)) { + for (int j = 0; j < dataItemJa.size(); j++) { + JSONObject itemJo = dataItemJa.getJSONObject(j); + Integer nodeId = itemJo.getInteger("nodeId"); + JSONArray registerItemJa = itemJo.getJSONArray("registerItem"); + if (nodeId == 7) { + //工业 PH、工业 EC + record.setPhValue(getDouble(registerItemJa, 0)); + record.setConductivity(getDouble(registerItemJa, 1)); + } else if (nodeId == 8) { + //水质浊度、水质溶解氧 + record.setTurbidityValue(getDouble(registerItemJa, 0)); + record.setDissolvedOxygen(getDouble(registerItemJa, 1)); + } else if (nodeId == 29) { + //实时流量、雷达流量计液位高 + record.setWaterLevel(Optional.ofNullable(getDouble(registerItemJa, 1)).map(m -> NumberUtil.div(m.doubleValue(), 1000D, 5)).orElse(null)); + } else if (nodeId == 31) { + //累计水量、流速 + record.setFlowVelocity(Optional.ofNullable(getDouble(registerItemJa, 0)).map(m -> NumberUtil.div(m.doubleValue(), 100D, 5)).orElse(null)); + } +// record.setWaterTemperature(getDouble(registerItemJa, 0)); + } + record.setCreateDate(new Date(dataJo.getLong("timeStamp"))); + record.setDevSn(deviceAddr); + record.setProjectSn(dev.getProjectSn()); + records.add(record); + } + } + if (CollUtil.isNotEmpty(records)) { + for (SewageData record : records) { + try { + sewageDataService.add(record); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } + + private String getString(JSONArray registerItemJa, int index) { + return Optional.ofNullable(registerItemJa.getJSONObject(index)).map(o -> o.getString("data")).orElse(null); + } + + @Nullable + private Double getDouble(JSONArray registerItemJa, int index) { + return Optional.ofNullable(registerItemJa.getJSONObject(index)).map(o -> o.getDouble("data")).orElse(null); + } + + /** + * 获取报警数据 + */ + @Scheduled(cron = "0 */6 * * * ?") + @SchedulerLock(name = "getSewageAlarmTask", lockAtMostFor = 1000 * 60 * 5, lockAtLeastFor = 1000 * 60 * 3) + @RequestMapping("getSewageAlarmTask") + public void getRainAlarmTask() { + List projectList = projectMapper.selectList(new LambdaQueryWrapper() + .ne(Project::getJnrzckAccount, "") + .ne(Project::getJnrzckPw, "") + ); + String start; + Object o = redisRepository.get(REDIS_RAIN_ALARM_TASK_START_TIME); + if (o != null) { + start = o.toString(); + } else { + start = DateUtil.format(DateUtil.offsetMinute(new Date(), -5), "yyyy-MM-dd HH:mm"); + } + String end = DateUtil.format(new Date(), "yyyy-MM-dd HH:mm"); + redisRepository.set(REDIS_RAIN_ALARM_TASK_START_TIME, end); + for (Project project : projectList) { + try { + saveAllAlarm(project, start, end); + } catch (Exception e) { + log.error("", e); + } + } + + } + + private void saveAllAlarm(Project project, String start, String end) { + List devs = sewageDevService.list(new LambdaQueryWrapper().eq(SewageDev::getProjectSn, project.getProjectSn())); + if (CollUtil.isEmpty(devs)) { + return; + } + ArrayList alarms = new ArrayList<>(); + String token = RenZhiUtil.getToken(project.getJnrzckAccount(), project.getJnrzckPw()); + for (SewageDev dev : devs) { + JSONArray dataJa = RenZhiUtil.getAlarmRecordList(dev.getDevSn(), token, -1, start, end); + try { + Thread.sleep(200); + } catch (InterruptedException e) { + e.printStackTrace(); + } + if (CollUtil.isEmpty(dataJa)) { + continue; + } + for (int j = 0; j < dataJa.size(); j++) { + JSONObject jo = dataJa.getJSONObject(j); + String recordId = jo.getString("recordId"); + SewageAlarm alarm = new SewageAlarm(); + alarm.setDevSn(jo.getString("deviceAddr")); + alarm.setMonitorParam(jo.getString("factorName")); + alarm.setMonitorValue(jo.getDouble("dataValue")); + alarm.setAlarmDetail(getAlarmContent(jo)); + alarm.setAlarmTime(new Date(jo.getLong("recordTime"))); + alarm.setProjectSn(project.getProjectSn()); + alarm.setAlarmType(getAlarmType(jo)); +// alarm.setSewageDataId(0L); +// alarm.setSewageType(0); + alarms.add(alarm); + } + } + sewageAlarmService.saveBatch(alarms); + } + + private Integer getAlarmType(JSONObject jo) { + if (!Objects.equals(jo.get("alarmLevel"), 2) && !Objects.equals(jo.get("alarmLevel"), 3)) { + return 2; + } else { + return 1; + } + } + + private String getAlarmContent(JSONObject jo) { + /* + alarmLevel int 报警级别: + 25 + 1: 报警(超报警上限) + 2: 预警(超预警上限) + 3: 预警(超预警下限) + 4:报警(超报警下限) + -1: 离线报警 + -2:遥调(开关量)报警 + dataValue Double 报警值 + alarmRange String 报警限值 + */ + String factorName = jo.getString("factorName"); + Integer alarmLevel = jo.getInteger("alarmLevel"); + if (Objects.equals(alarmLevel, 1) || Objects.equals(alarmLevel, 2) || Objects.equals(alarmLevel, 3) || Objects.equals(alarmLevel, 4)) { + return StrUtil.format("{} {},报警值:{},报警限值:{}", factorName, getAlarmLevelStr(alarmLevel), jo.getDouble(DATA_VALUE), jo.getString("alarmRange")); + } else { + return StrUtil.format("{} {},报警值:{}", factorName, getAlarmLevelStr(alarmLevel), jo.getString(DATA_VALUE)); + } + } + + private String getAlarmLevelStr(Integer alarmLevel) { + String s = ""; + switch (alarmLevel) { + case 1: + s = "报警(超报警上限)"; + break; + case 2: + s = "预警(超预警上限)"; + break; + case 3: + s = "预警(超预警下限)"; + break; + case 4: + s = "报警(超报警下限)"; + break; + case -1: + s = "离线报警"; + break; + case -2: + s = "遥调(开关量)报警"; + break; + default: + } + return s; + } + + +} diff --git a/src/main/java/com/zhgd/xmgl/util/HikvisionUtil.java b/src/main/java/com/zhgd/xmgl/util/HikvisionUtil.java index 94fa27e37..8379e55af 100644 --- a/src/main/java/com/zhgd/xmgl/util/HikvisionUtil.java +++ b/src/main/java/com/zhgd/xmgl/util/HikvisionUtil.java @@ -956,5 +956,20 @@ public class HikvisionUtil { return doPostRtObj(host, path, JSONArray.toJSONString(param), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); } + /** + * 园区卡口违章事件查询v2 + * + * @param project + * @param param + * @return + * @throws Exception + */ + public static JSONObject getSpeedDataList(Project project, JSONObject param) throws Exception { + final String artemisPath = "/artemis"; + final String path = artemisPath + "/api/mpc/v2/illegal/events/search"; + String host = "https://" + project.getArtemisConfigHost(); + return doPostRtObj(host, path, JSON.toJSONString(param), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); + } + } diff --git a/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/entity/${entityName}.javai b/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/entity/${entityName}.javai index d98736e3d..dd39a4948 100644 --- a/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/entity/${entityName}.javai +++ b/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/entity/${entityName}.javai @@ -22,7 +22,7 @@ import io.swagger.annotations.ApiModelProperty; @ApiModel(value="${entityName}实体类",description="${entityName}") public class ${entityName} implements Serializable { private static final long serialVersionUID = 1L; - + <#list originalColumns as po> /**${po.filedComment}*/ <#if po.fieldName == primaryKeyField> @@ -30,16 +30,13 @@ public class ${entityName} implements Serializable { <#else> <#if po.fieldType =='java.util.Date'> <#if po.fieldDbType =='date'> - @Excel(name = "${po.filedComment}", width = 15, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") <#elseif po.fieldDbType =='datetime'> - @Excel(name = "${po.filedComment}", width = 20, format = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") <#else> - @Excel(name = "${po.filedComment}", width = 15) @ApiModelProperty(value="${po.filedComment}") diff --git a/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/mapper/${entityName}Mapper.javai b/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/mapper/${entityName}Mapper.javai index a61f9fc39..4de654f8c 100644 --- a/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/mapper/${entityName}Mapper.javai +++ b/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/mapper/${entityName}Mapper.javai @@ -1,10 +1,14 @@ package ${bussiPackage}.${entityPackage}.mapper; import java.util.List; - +import java.util.HashMap; +import ${bussiPackage}.${entityPackage}.entity.${entityName}; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import ${bussiPackage}.${entityPackage}.entity.${entityName}; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** @@ -16,4 +20,31 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; @Mapper public interface ${entityName}Mapper extends BaseMapper<${entityName}> { + /** + * 分页列表查询${tableVo.ftlDescription}信息 + * + * @param page + * @param queryWrapper + * @param param + * @return + */ + IPage<${entityName}> queryList(Page<${entityName}> page, @Param(Constants.WRAPPER) QueryWrapper<${entityName}> queryWrapper, @Param("param") HashMap param); + + /** + * 列表查询${tableVo.ftlDescription}信息 + * + * @param queryWrapper + * @param param + * @return + */ + List<${entityName}> queryList(@Param(Constants.WRAPPER) QueryWrapper<${entityName}> queryWrapper, @Param("param") HashMap param); + + + /** + * 通过id查询${tableVo.ftlDescription}信息 + * + * @param id + * @return + */ + ${entityName} queryById(String id); } diff --git a/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/mapper/xml/${entityName}Mapper.xml b/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/mapper/xml/${entityName}Mapper.xml index 16f3d653a..c89838cd8 100644 --- a/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/mapper/xml/${entityName}Mapper.xml +++ b/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/mapper/xml/${entityName}Mapper.xml @@ -1,5 +1,18 @@ - - \ No newline at end of file + + + diff --git a/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/service/impl/${entityName}ServiceImpl.javai b/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/service/impl/${entityName}ServiceImpl.javai index 64f0ec45f..dfe065e0a 100644 --- a/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/service/impl/${entityName}ServiceImpl.javai +++ b/src/main/resources/jeecg/code-template/one/java/${bussiPackage}/${entityPackage}/service/impl/${entityName}ServiceImpl.javai @@ -31,7 +31,7 @@ public class ${entityName}ServiceImpl extends ServiceImpl<${entityName}Mapper, $ public IPage<${entityName}> queryPageList(HashMap param) { QueryWrapper<${entityName}> queryWrapper = this.getQueryWrapper(param); Page<${entityName}> page = PageUtil.getPage(param); - IPage<${entityName}> pageList = this.page(page, queryWrapper); + IPage<${entityName}> pageList = baseMapper.queryList(page, queryWrapper,param); pageList.setRecords(this.dealList(pageList.getRecords())); return pageList; } @@ -39,7 +39,7 @@ public class ${entityName}ServiceImpl extends ServiceImpl<${entityName}Mapper, $ @Override public List<${entityName}> queryList(HashMap param) { QueryWrapper<${entityName}> queryWrapper = getQueryWrapper(param); - return dealList(this.list(queryWrapper)); + return dealList(baseMapper.queryList(queryWrapper,param)); } private QueryWrapper<${entityName}> getQueryWrapper(HashMap param) { @@ -78,7 +78,7 @@ public class ${entityName}ServiceImpl extends ServiceImpl<${entityName}Mapper, $ @Override public ${entityName} queryById(String id) { - ${entityName} entity = getById(id); + ${entityName} entity = baseMapper.queryById(id); if (entity == null) { throw new OpenAlertException("未找到对应实体"); } diff --git a/src/main/resources/jeecg/jeecg_config.properties b/src/main/resources/jeecg/jeecg_config.properties index 020f89b16..36b3b49f4 100644 --- a/src/main/resources/jeecg/jeecg_config.properties +++ b/src/main/resources/jeecg/jeecg_config.properties @@ -1,6 +1,6 @@ #code_generate_project_path #project_path=D:\\demo\\wisdomSite -project_path=C:\\Users\\Administrator\\IdeaProjects\\wisdomisite +project_path=C:\\Users\\Administrator\\IdeaProjects\\wisdomisite-package #bussi_package[User defined] bussi_package=com.zhgd.xmgl.modules