From 2bacd2670e0f1b495e9cfda6023d8bccc32a5572 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期一, 11 三月 2024 16:23:28 +0800
Subject: [PATCH] 数据大屏剩余接口
---
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IDataDashboardService.java | 25 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java | 7
dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml | 11
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java | 6
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java | 6
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java | 3
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficAccident.java | 45 ++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficAccidentService.java | 49 ++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficAccidentBo.java | 48 ++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java | 1
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficAccidentServiceImpl.java | 111 ++++++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/DataDashboardServiceImpl.java | 35 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficAccidentController.java | 105 ++++++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficAccidentVo.java | 62 +++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficAccidentMapper.java | 18 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java | 10
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java | 6
dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficAccidentMapper.xml | 10
dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml | 15
dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml | 4
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java | 9
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/util/PeriodDate.java | 315 ++++++++++++++++++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java | 2
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/DataDashboardController.java | 40 ++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java | 2
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsPcrDataServiceImpl.java | 1
dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml | 23 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetDataServiceImpl.java | 1
dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml | 10
29 files changed, 953 insertions(+), 27 deletions(-)
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/DataDashboardController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/DataDashboardController.java
index e85b8ac..bac0e19 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/DataDashboardController.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/DataDashboardController.java
@@ -3,14 +3,16 @@
import cn.dev33.satoken.annotation.SaCheckPermission;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
-import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.demo.domain.bo.RsDangerTotalBo;
import org.dromara.demo.domain.vo.*;
import org.dromara.demo.service.IDataDashboardService;
import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
/**
* @author ghl
@@ -64,9 +66,37 @@
* 瀹夊叏闅愭偅缁熻
*/
@SaCheckPermission("demo:dangerTotal:list")
- @GetMapping("/dangerTotal")
- public R<RsDangerTotalDashboardVo> getDangerTotal() {
- return R.ok(service.getDangerTotal());
+ @GetMapping("/dangerTotal/{period}")
+ public R<RsDangerTotalDashboardVo> getDangerTotal(@PathVariable String period) {
+ return R.ok(service.getDangerTotal(period));
}
+ /**
+ * 浜ら�氬浼�
+ */
+ @SaCheckPermission("demo:trafficPropaganda:list")
+ @GetMapping("/trafficPropaganda")
+ public TableDataInfo<RsTrafficPropagandaVo> getTrafficPropaganda() {
+ return TableDataInfo.build(service.getTrafficPropaganda());
+ }
+
+ /**
+ * 浜ら�氫簨鏁�
+ */
+ @SaCheckPermission("demo:trafficAccident:list")
+ @GetMapping("/trafficAccident")
+ public TableDataInfo<RsTrafficAccidentVo> getTrafficAccident() {
+ return TableDataInfo.build(service.getTrafficAccident());
+ }
+
+ /**
+ * 鏁版嵁涓婂浘
+ */
+ @SaCheckPermission("demo:geographyData:list")
+ @GetMapping("/geographyData")
+ public R<List<Map<String, Object>>> getGeographyData() {
+ return R.ok(service.getGeographyData());
+ }
+
+
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficAccidentController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficAccidentController.java
new file mode 100644
index 0000000..603c140
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficAccidentController.java
@@ -0,0 +1,105 @@
+package org.dromara.demo.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.demo.domain.vo.RsTrafficAccidentVo;
+import org.dromara.demo.domain.bo.RsTrafficAccidentBo;
+import org.dromara.demo.service.IRsTrafficAccidentService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 浜ら�氫簨鏁�
+ *
+ * @author gonghl
+ * @date 2024-03-11
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/demo/trafficAccident")
+public class RsTrafficAccidentController extends BaseController {
+
+ private final IRsTrafficAccidentService rsTrafficAccidentService;
+
+ /**
+ * 鏌ヨ浜ら�氫簨鏁呭垪琛�
+ */
+ @SaCheckPermission("demo:trafficAccident:list")
+ @GetMapping("/list")
+ public TableDataInfo<RsTrafficAccidentVo> list(RsTrafficAccidentBo bo, PageQuery pageQuery) {
+ return rsTrafficAccidentService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 瀵煎嚭浜ら�氫簨鏁呭垪琛�
+ */
+ @SaCheckPermission("demo:trafficAccident:export")
+ @Log(title = "浜ら�氫簨鏁�", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(RsTrafficAccidentBo bo, HttpServletResponse response) {
+ List<RsTrafficAccidentVo> list = rsTrafficAccidentService.queryList(bo);
+ ExcelUtil.exportExcel(list, "浜ら�氫簨鏁�", RsTrafficAccidentVo.class, response);
+ }
+
+ /**
+ * 鑾峰彇浜ら�氫簨鏁呰缁嗕俊鎭�
+ *
+ * @param id 涓婚敭
+ */
+ @SaCheckPermission("demo:trafficAccident:query")
+ @GetMapping("/{id}")
+ public R<RsTrafficAccidentVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable String id) {
+ return R.ok(rsTrafficAccidentService.queryById(id));
+ }
+
+ /**
+ * 鏂板浜ら�氫簨鏁�
+ */
+ @SaCheckPermission("demo:trafficAccident:add")
+ @Log(title = "浜ら�氫簨鏁�", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R<Void> add(@Validated(AddGroup.class) @RequestBody RsTrafficAccidentBo bo) {
+ return toAjax(rsTrafficAccidentService.insertByBo(bo));
+ }
+
+ /**
+ * 淇敼浜ら�氫簨鏁�
+ */
+ @SaCheckPermission("demo:trafficAccident:edit")
+ @Log(title = "浜ら�氫簨鏁�", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R<Void> edit(@Validated(EditGroup.class) @RequestBody RsTrafficAccidentBo bo) {
+ return toAjax(rsTrafficAccidentService.updateByBo(bo));
+ }
+
+ /**
+ * 鍒犻櫎浜ら�氫簨鏁�
+ *
+ * @param ids 涓婚敭涓�
+ */
+ @SaCheckPermission("demo:trafficAccident:remove")
+ @Log(title = "浜ら�氫簨鏁�", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable String[] ids) {
+ return toAjax(rsTrafficAccidentService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficAccident.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficAccident.java
new file mode 100644
index 0000000..fda7ff4
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficAccident.java
@@ -0,0 +1,45 @@
+package org.dromara.demo.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serial;
+import java.util.Date;
+
+/**
+ * 浜ら�氫簨鏁呭璞� rs_traffic_accident
+ *
+ * @author gonghl
+ * @date 2024-03-11
+ */
+@Data
+@TableName("rs_traffic_accident")
+public class RsTrafficAccident {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 缂栧彿
+ */
+ @TableId(value = "id")
+ private String id;
+
+ /**
+ * 鏍囬
+ */
+ private String title;
+
+ /**
+ * 鎺掑簭
+ */
+ private Long sequence;
+
+ /**
+ * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
+ */
+ private Long status;
+
+ private Date createTime;
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficAccidentBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficAccidentBo.java
new file mode 100644
index 0000000..9e204c8
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficAccidentBo.java
@@ -0,0 +1,48 @@
+package org.dromara.demo.domain.bo;
+
+import org.dromara.demo.domain.RsTrafficAccident;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+
+/**
+ * 浜ら�氫簨鏁呬笟鍔″璞� rs_traffic_accident
+ *
+ * @author gonghl
+ * @date 2024-03-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = RsTrafficAccident.class, reverseConvertGenerate = false)
+public class RsTrafficAccidentBo extends BaseEntity {
+
+ /**
+ * 缂栧彿
+ */
+ @NotBlank(message = "缂栧彿涓嶈兘涓虹┖", groups = { EditGroup.class })
+ private String id;
+
+ /**
+ * 鏍囬
+ */
+ @NotBlank(message = "鏍囬涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String title;
+
+ /**
+ * 鎺掑簭
+ */
+ @NotNull(message = "鎺掑簭涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private Long sequence;
+
+ /**
+ * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
+ */
+ @NotNull(message = "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢ㄤ笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private Long status;
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java
index 75ac126..b592b16 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java
@@ -1,17 +1,16 @@
package org.dromara.demo.domain.vo;
-import org.dromara.demo.domain.RsDangerInfo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
-import org.dromara.common.excel.annotation.ExcelDictFormat;
-import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
+import org.dromara.demo.domain.RsDangerInfo;
+import org.dromara.system.domain.vo.SysOssVo;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
-
+import java.util.List;
/**
@@ -75,4 +74,7 @@
*/
@ExcelProperty(value = "鍒涘缓鏃堕棿")
private Date createTime;
+
+ private List<SysOssVo> imgList;
+
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficAccidentVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficAccidentVo.java
new file mode 100644
index 0000000..ee3b8ee
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficAccidentVo.java
@@ -0,0 +1,62 @@
+package org.dromara.demo.domain.vo;
+
+import org.dromara.demo.domain.RsTrafficAccident;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 浜ら�氫簨鏁呰鍥惧璞� rs_traffic_accident
+ *
+ * @author gonghl
+ * @date 2024-03-11
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = RsTrafficAccident.class)
+public class RsTrafficAccidentVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 缂栧彿
+ */
+ @ExcelProperty(value = "缂栧彿")
+ private String id;
+
+ /**
+ * 鏍囬
+ */
+ @ExcelProperty(value = "鏍囬")
+ private String title;
+
+ /**
+ * 鎺掑簭
+ */
+ @ExcelProperty(value = "鎺掑簭")
+ private Long sequence;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @ExcelProperty(value = "鍒涘缓鏃堕棿")
+ private Date createTime;
+
+ /**
+ * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
+ */
+ @ExcelProperty(value = "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�")
+ private Long status;
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java
index 8eaed8d..f728fc1 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java
@@ -9,7 +9,7 @@
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
-
+import java.util.List;
/**
@@ -182,5 +182,9 @@
@ExcelProperty(value = "鍒涘缓鏃堕棿")
private Date createTime;
+ private String targetOneIcon;
+ private String targetTwoIcon;
+ private String targetThreeIcon;
+ private String targetFourIcon;
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java
index ac93da4..a243221 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java
@@ -58,4 +58,6 @@
@ExcelProperty(value = "鍒涘缓鏃堕棿")
private Date createTime;
+ private String url;
+
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java
index c8199a4..8073aa9 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java
@@ -4,6 +4,8 @@
import org.dromara.demo.domain.vo.RsDangerInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import java.util.List;
+
/**
* 瀹夊叏闅愭偅淇℃伅Mapper鎺ュ彛
*
@@ -12,4 +14,5 @@
*/
public interface RsDangerInfoMapper extends BaseMapperPlus<RsDangerInfo, RsDangerInfoVo> {
+ List<RsDangerInfoVo> getDangerInfo();
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java
index 44e5972..43e955e 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java
@@ -5,6 +5,8 @@
import org.dromara.demo.domain.vo.RsDangerTotalVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import java.util.List;
+
/**
* 瀹夊叏闅愭偅缁熻Mapper鎺ュ彛
*
@@ -18,4 +20,11 @@
* @return 闅愭偅缁熻鏁伴噺
*/
RsDangerTotalDashboardVo getDangerTotalNums();
+
+ /**
+ * 鑾峰彇闅愭偅缁熻鍒楄〃
+ * @param periodDate 缁熻鍛ㄦ湡
+ * @return 闅愭偅缁熻鍒楄〃
+ */
+ List<RsDangerTotalVo> getDangerTotalInfo(String periodDate);
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java
index 32e30ae..d7ededd 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsGeographyDataMapper.java
@@ -1,8 +1,11 @@
package org.dromara.demo.mapper;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.demo.domain.RsGeographyData;
import org.dromara.demo.domain.vo.RsGeographyDataVo;
-import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+import java.util.List;
+import java.util.Map;
/**
* 鏁版嵁涓婂浘Mapper鎺ュ彛
@@ -12,4 +15,5 @@
*/
public interface RsGeographyDataMapper extends BaseMapperPlus<RsGeographyData, RsGeographyDataVo> {
+ List<Map<String, Object>> getGeographyData();
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficAccidentMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficAccidentMapper.java
new file mode 100644
index 0000000..9c63fae
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficAccidentMapper.java
@@ -0,0 +1,18 @@
+package org.dromara.demo.mapper;
+
+import org.dromara.demo.domain.RsTrafficAccident;
+import org.dromara.demo.domain.vo.RsTrafficAccidentVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+import java.util.List;
+
+/**
+ * 浜ら�氫簨鏁匨apper鎺ュ彛
+ *
+ * @author gonghl
+ * @date 2024-03-11
+ */
+public interface RsTrafficAccidentMapper extends BaseMapperPlus<RsTrafficAccident, RsTrafficAccidentVo> {
+
+ List<RsTrafficAccidentVo> getTrafficAccident();
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java
index f3324d4..92de508 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java
@@ -20,4 +20,10 @@
* @return 鍥炬爣
*/
List<Map<String, String>> icon();
+
+ /**
+ * 杩�3骞翠氦閫氫簨鏁呮寚鏁�
+ * @return 杩�3骞翠氦閫氫簨鏁呮寚鏁�
+ */
+ RsTrafficIndexVo getTrafficIndex();
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java
index 55f2f6b..424aa84 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java
@@ -4,6 +4,8 @@
import org.dromara.demo.domain.vo.RsTrafficPropagandaVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import java.util.List;
+
/**
* 浜ら�氬浼燤apper鎺ュ彛
*
@@ -19,4 +21,9 @@
*/
void addSequence(Long sequence, String id);
+ /**
+ * 浜ら�氬浼�
+ * @return 浜ら�氬浼�
+ */
+ List<RsTrafficPropagandaVo> getTrafficPropaganda();
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IDataDashboardService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IDataDashboardService.java
index 90eb577..546c3ce 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IDataDashboardService.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IDataDashboardService.java
@@ -3,6 +3,7 @@
import org.dromara.demo.domain.vo.*;
import java.util.List;
+import java.util.Map;
/**
* @author ghl
@@ -41,7 +42,29 @@
/**
* 瀹夊叏闅愭偅缁熻
+ *
* @return 瀹夊叏闅愭偅缁熻
*/
- RsDangerTotalDashboardVo getDangerTotal();
+ RsDangerTotalDashboardVo getDangerTotal(String period);
+
+ /**
+ * 浜ら�氬浼�
+ *
+ * @return 浜ら�氬浼�
+ */
+ List<RsTrafficPropagandaVo> getTrafficPropaganda();
+
+ /**
+ * 浜ら�氫簨鏁�
+ *
+ * @return 浜ら�氫簨鏁�
+ */
+ List<RsTrafficAccidentVo> getTrafficAccident();
+
+ /**
+ * 鏁版嵁涓婂浘
+ *
+ * @return 鏁版嵁涓婂浘
+ */
+ List<Map<String, Object>> getGeographyData();
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficAccidentService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficAccidentService.java
new file mode 100644
index 0000000..89979e6
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficAccidentService.java
@@ -0,0 +1,49 @@
+package org.dromara.demo.service;
+
+import org.dromara.demo.domain.RsTrafficAccident;
+import org.dromara.demo.domain.vo.RsTrafficAccidentVo;
+import org.dromara.demo.domain.bo.RsTrafficAccidentBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 浜ら�氫簨鏁匰ervice鎺ュ彛
+ *
+ * @author gonghl
+ * @date 2024-03-11
+ */
+public interface IRsTrafficAccidentService {
+
+ /**
+ * 鏌ヨ浜ら�氫簨鏁�
+ */
+ RsTrafficAccidentVo queryById(String id);
+
+ /**
+ * 鏌ヨ浜ら�氫簨鏁呭垪琛�
+ */
+ TableDataInfo<RsTrafficAccidentVo> queryPageList(RsTrafficAccidentBo bo, PageQuery pageQuery);
+
+ /**
+ * 鏌ヨ浜ら�氫簨鏁呭垪琛�
+ */
+ List<RsTrafficAccidentVo> queryList(RsTrafficAccidentBo bo);
+
+ /**
+ * 鏂板浜ら�氫簨鏁�
+ */
+ Boolean insertByBo(RsTrafficAccidentBo bo);
+
+ /**
+ * 淇敼浜ら�氫簨鏁�
+ */
+ Boolean updateByBo(RsTrafficAccidentBo bo);
+
+ /**
+ * 鏍¢獙骞舵壒閲忓垹闄や氦閫氫簨鏁呬俊鎭�
+ */
+ Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/DataDashboardServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/DataDashboardServiceImpl.java
index eb839b7..b14b3cb 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/DataDashboardServiceImpl.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/DataDashboardServiceImpl.java
@@ -3,14 +3,15 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
-import org.dromara.demo.domain.RsDangerInfo;
import org.dromara.demo.domain.RsTrafficIndex;
import org.dromara.demo.domain.vo.*;
import org.dromara.demo.mapper.*;
import org.dromara.demo.service.IDataDashboardService;
+import org.dromara.demo.util.PeriodDate;
import org.springframework.stereotype.Service;
import java.util.List;
+import java.util.Map;
/**
* @author gonghl
@@ -25,12 +26,13 @@
private final RsSceneryOperationDataMapper sceneryOperationDataMapper;
private final RsDangerInfoMapper dangerInfoMapper;
private final RsDangerTotalMapper dangerTotalMapper;
+ private final RsTrafficPropagandaMapper trafficPropagandaMapper;
+ private final RsTrafficAccidentMapper trafficAccidentMapper;
+ private final RsGeographyDataMapper geographyDataMapper;
@Override
public RsTrafficIndexVo getTrafficIndex() {
- LambdaQueryWrapper<RsTrafficIndex> queryWrapper = Wrappers.lambdaQuery();
- queryWrapper.eq(RsTrafficIndex::getStatus, 1).orderByDesc(RsTrafficIndex::getCreateTime).last("limit 1");
- return trafficIndexMapper.selectVoOne(queryWrapper);
+ return trafficIndexMapper.getTrafficIndex();
}
@Override
@@ -45,15 +47,30 @@
@Override
public List<RsDangerInfoVo> getDangerInfo() {
- LambdaQueryWrapper<RsDangerInfo> queryWrapper = Wrappers.lambdaQuery();
- queryWrapper.eq(RsDangerInfo::getStatus, 1).orderByDesc(RsDangerInfo::getCreateTime);
- return dangerInfoMapper.selectVoList(queryWrapper);
+ return dangerInfoMapper.getDangerInfo();
}
@Override
- public RsDangerTotalDashboardVo getDangerTotal() {
+ public RsDangerTotalDashboardVo getDangerTotal(String period) {
RsDangerTotalDashboardVo dangerTotalDashboardVo = dangerTotalMapper.getDangerTotalNums();
- // dangerTotalMapper.
+ String periodDate = "quarter".equals(period) ? new PeriodDate().firstdateTimSeason : new PeriodDate().MonthFirst;
+ List<RsDangerTotalVo> list = dangerTotalMapper.getDangerTotalInfo(periodDate);
+ dangerTotalDashboardVo.setList(list);
return dangerTotalDashboardVo;
}
+
+ @Override
+ public List<RsTrafficPropagandaVo> getTrafficPropaganda() {
+ return trafficPropagandaMapper.getTrafficPropaganda();
+ }
+
+ @Override
+ public List<RsTrafficAccidentVo> getTrafficAccident() {
+ return trafficAccidentMapper.getTrafficAccident();
+ }
+
+ @Override
+ public List<Map<String, Object>> getGeographyData() {
+ return geographyDataMapper.getGeographyData();
+ }
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java
index 9d33f18..707ee8a 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsGeographyDataServiceImpl.java
@@ -63,6 +63,7 @@
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<RsGeographyData> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getName()), RsGeographyData::getName, bo.getName());
+ lqw.orderByDesc(RsGeographyData::getCreateTime);
return lqw;
}
@@ -86,7 +87,6 @@
@Override
public Boolean updateByBo(RsGeographyDataBo bo) {
RsGeographyData update = MapstructUtils.convert(bo, RsGeographyData.class);
- validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsPcrDataServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsPcrDataServiceImpl.java
index c710eac..598541a 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsPcrDataServiceImpl.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsPcrDataServiceImpl.java
@@ -105,7 +105,6 @@
@Override
public Boolean updateByBo(RsPcrDataBo bo) {
RsPcrData update = MapstructUtils.convert(bo, RsPcrData.class);
- validEntityBeforeSave(update);
// 鍚敤鏂版暟鎹皢鍏朵綑鍚岀被鍨嬫暟鎹敼涓虹鐢�
if (bo.getStatus().equals(1L)) {
LambdaUpdateWrapper<RsPcrData> updateWrapper = new LambdaUpdateWrapper<>();
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficAccidentServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficAccidentServiceImpl.java
new file mode 100644
index 0000000..c107792
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficAccidentServiceImpl.java
@@ -0,0 +1,111 @@
+package org.dromara.demo.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.demo.domain.RsTrafficAccident;
+import org.dromara.demo.domain.bo.RsTrafficAccidentBo;
+import org.dromara.demo.domain.vo.RsTrafficAccidentVo;
+import org.dromara.demo.mapper.RsTrafficAccidentMapper;
+import org.dromara.demo.service.IRsTrafficAccidentService;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 浜ら�氫簨鏁匰ervice涓氬姟灞傚鐞�
+ *
+ * @author gonghl
+ * @date 2024-03-11
+ */
+@RequiredArgsConstructor
+@Service
+public class RsTrafficAccidentServiceImpl implements IRsTrafficAccidentService {
+
+ private final RsTrafficAccidentMapper baseMapper;
+
+ /**
+ * 鏌ヨ浜ら�氫簨鏁�
+ */
+ @Override
+ public RsTrafficAccidentVo queryById(String id) {
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 鏌ヨ浜ら�氫簨鏁呭垪琛�
+ */
+ @Override
+ public TableDataInfo<RsTrafficAccidentVo> queryPageList(RsTrafficAccidentBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper<RsTrafficAccident> lqw = buildQueryWrapper(bo);
+ Page<RsTrafficAccidentVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 鏌ヨ浜ら�氫簨鏁呭垪琛�
+ */
+ @Override
+ public List<RsTrafficAccidentVo> queryList(RsTrafficAccidentBo bo) {
+ LambdaQueryWrapper<RsTrafficAccident> lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper<RsTrafficAccident> buildQueryWrapper(RsTrafficAccidentBo bo) {
+ Map<String, Object> params = bo.getParams();
+ LambdaQueryWrapper<RsTrafficAccident> lqw = Wrappers.lambdaQuery();
+ lqw.like(StringUtils.isNotBlank(bo.getTitle()), RsTrafficAccident::getTitle, bo.getTitle());
+ lqw.eq(bo.getStatus() != null, RsTrafficAccident::getStatus, bo.getStatus());
+ lqw.orderByAsc(RsTrafficAccident::getSequence);
+ return lqw;
+ }
+
+ /**
+ * 鏂板浜ら�氫簨鏁�
+ */
+ @Override
+ public Boolean insertByBo(RsTrafficAccidentBo bo) {
+ RsTrafficAccident add = MapstructUtils.convert(bo, RsTrafficAccident.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 淇敼浜ら�氫簨鏁�
+ */
+ @Override
+ public Boolean updateByBo(RsTrafficAccidentBo bo) {
+ RsTrafficAccident update = MapstructUtils.convert(bo, RsTrafficAccident.class);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
+ */
+ private void validEntityBeforeSave(RsTrafficAccident entity) {
+ entity.setCreateTime(new Date());
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎浜ら�氫簨鏁�
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
+ if (isValid) {
+ //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�
+ }
+ return baseMapper.deleteBatchIds(ids) > 0;
+ }
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java
index f78cbd3..ee7123a 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java
@@ -116,7 +116,6 @@
@Override
public Boolean updateByBo(RsTrafficIndexBo bo) {
RsTrafficIndex update = MapstructUtils.convert(bo, RsTrafficIndex.class);
- validEntityBeforeSave(update);
// 鍚敤鏂版暟鎹皢鎵�鏈夋暟鎹敼涓虹鐢�
if (bo.getStatus().equals(1)) {
LambdaUpdateWrapper<RsTrafficIndex> updateWrapper = new LambdaUpdateWrapper<>();
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetDataServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetDataServiceImpl.java
index a7d9e71..971c308 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetDataServiceImpl.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetDataServiceImpl.java
@@ -88,7 +88,6 @@
@Override
public Boolean updateByBo(TargetDataBo bo) {
TargetData update = MapstructUtils.convert(bo, TargetData.class);
- validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/util/PeriodDate.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/util/PeriodDate.java
new file mode 100644
index 0000000..50c9b5c
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/util/PeriodDate.java
@@ -0,0 +1,315 @@
+package org.dromara.demo.util;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import org.springframework.util.StringUtils;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+public class PeriodDate {
+ public static final String FORMAT_YYYY_MM_DD = "yyyy-MM-dd";
+
+ //浠婂ぉ
+ public String today = DateUtil.today();
+ public DateTime date = DateUtil.date();
+ //鏈湀
+ public String month = DateUtil.format(date, "M");
+ //鏈懆鐨勭涓�澶�
+ public String weekFirst = PeriodDate.getThisWeekOfFirstDate();
+ //鏈懆鐨勬渶鍚庝竴澶�
+ public String weekEnd = DateUtil.format(DateUtil.offsetDay(date, 4), "yyyy-MM-dd");
+ //鏈湀鐨勭涓�澶�
+ public String MonthFirst = PeriodDate.getThisMonthOfFirstDate(0);
+ //鏈湀鐨勬渶鍚庝竴澶�
+ public String MonthEnd = PeriodDate.getThisMouthLastDay();
+ //鏈搴︾殑鏈�鍚庝竴澶�
+ public String lastdateTimSeason = PeriodDate.getCurrQuarter(Integer.valueOf(PeriodDate.getQuarter()))[1];
+ //鏈搴︾殑绗竴澶�
+ public String firstdateTimSeason = PeriodDate.getCurrQuarter(Integer.valueOf(PeriodDate.getQuarter()))[0];
+ //鏈湀澶╂暟
+ public int daysInMonth = PeriodDate.getDaysOfMonth();
+
+ public static String changeSqlNotNull(String sql) {
+ String[] strings = sql.split(",");
+ String returnSql = "";
+ for (String str : strings) {
+ if (str.contains("''")) {
+ returnSql = returnSql + str + ",";
+ } else {
+ returnSql = returnSql + "ifnull(" + str + ",'') " + str + ",";
+
+ }
+ }
+ return returnSql.substring(0, returnSql.length() - 1);
+ }
+
+
+ /**
+ * 鑾峰彇涓や釜鏃ユ湡涔嬮棿鐨勬墍鏈夋棩鏈�(瀛楃涓叉牸寮�, 鎸夊ぉ璁$畻)
+ *
+ * @param startTime String 寮�濮嬫椂闂� yyyy-MM-dd
+ * @param endTime String 缁撴潫鏃堕棿 yyyy-MM-dd
+ * @return
+ */
+ public static List<String> getBetweenDays(String startTime, String endTime) throws ParseException {
+ if (StringUtils.isEmpty(startTime) || StringUtils.isEmpty(endTime)) {
+ return null;
+ }
+ //1銆佸畾涔夎浆鎹㈡牸寮�
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+
+ Date start = df.parse(startTime);
+ Date end = df.parse(endTime);
+ if (StringUtils.isEmpty(start) || StringUtils.isEmpty(end)) {
+ return null;
+ }
+ List<String> result = new ArrayList<String>();
+
+ Calendar tempStart = Calendar.getInstance();
+ tempStart.setTime(start);
+
+ tempStart.add(Calendar.DAY_OF_YEAR, 1);
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ Calendar tempEnd = Calendar.getInstance();
+ tempEnd.setTime(end);
+ result.add(sdf.format(start));
+ while (tempStart.before(tempEnd) || tempStart.equals(tempEnd)) {
+ result.add(sdf.format(tempStart.getTime()));
+ tempStart.add(Calendar.DAY_OF_YEAR, 1);
+ }
+ return result;
+ }
+
+ /**
+ * 鏈懆鐨勭涓�澶�
+ *
+ * @return
+ */
+ public static String getThisWeekOfFirstDate() {
+ SimpleDateFormat format = new SimpleDateFormat(FORMAT_YYYY_MM_DD);
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
+ return format.format(calendar.getTime());
+ }
+
+
+ /**
+ * @param i 涓�0琛ㄧず鏈湀,涓�1琛ㄧず涓嬫湀,涓�-1琛ㄧず涓婃湀
+ * @return
+ * @throws
+ * @Title: DateUtil
+ * @Description: 鑾峰彇鏈湀褰撳墠鏃堕棿(鎴栬�呬笂鏈堜笅鏈�)
+ * @author lin
+ * @since 2019骞�12鏈�5鏃ヤ笅鍗�4:02:44
+ */
+ public static String getTime1(Integer i) {
+ Calendar calendar = Calendar.getInstance();
+ if (i != null) {
+ calendar.add(Calendar.MONTH, i);
+ }
+ int year = calendar.get(Calendar.YEAR);
+ int month = calendar.get(Calendar.MONTH);
+ int day = calendar.get(Calendar.DATE);
+ return year + "-" + (month + 1) + "-" + day;
+ }
+
+ /**
+ * @param //i涓�0琛ㄧず鏈湀涓�1琛ㄧず涓嬫湀
+ * @return
+ * @throws
+ * @Title: DateUtil
+ * @Description: 鑾峰彇鏈湀绗竴澶�(鑾峰彇鏈湀鐨勭涓�澶�)
+ * @author lin
+ * @since 2019骞�12鏈�5鏃ヤ笅鍗�3:59:55
+ */
+ public static String getThisMonthOfFirstDate(Integer i) {
+ SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd");
+ Calendar calendar = Calendar.getInstance();
+ if (i != null) {
+ calendar.add(Calendar.MONTH, i);
+ }
+ calendar.set(Calendar.DAY_OF_MONTH, Calendar.SUNDAY);
+ return format.format(calendar.getTime());
+ }
+
+ /**
+ * 鑾峰彇鏈湀鏈�鍚庝竴澶�
+ *
+ * @return
+ */
+ public static String getThisMouthLastDay() {
+ //璁剧疆鏃堕棿鏍煎紡
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ //鑾峰緱瀹炰綋绫�
+ Calendar ca = Calendar.getInstance();
+ //璁剧疆鏈�鍚庝竴澶�
+ ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
+ //鏈�鍚庝竴澶╂牸寮忓寲
+ String lastDay = format.format(ca.getTime());
+ return lastDay;
+ }
+
+ /**
+ * 鏌愪竴涓湀绗竴澶╁拰鏈�鍚庝竴澶�
+ *
+ * @param date 鎸囧畾鏃ユ湡
+ * @param pattern 鏃ユ湡鏍煎紡
+ * @param //isNeedHms鏄惁闇�瑕佹椂鍒嗙
+ * @return
+ */
+ public static Map<String, Object> getFirstLastDayByMonth(Date date,
+ String pattern, boolean isNeedHms) {
+ SimpleDateFormat df = new SimpleDateFormat(pattern);
+ Calendar calendar = Calendar.getInstance();
+
+ calendar.setTime(date);
+ Date theDate = calendar.getTime();
+
+ // 绗竴澶�
+ GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance();
+ gcLast.setTime(theDate);
+ gcLast.set(Calendar.DAY_OF_MONTH, 1);
+ String day_first = df.format(gcLast.getTime());
+ StringBuffer str = new StringBuffer().append(day_first);
+ if (isNeedHms) {
+ str.append(" 00:00:00");
+ }
+ day_first = str.toString();
+
+ // 鏈�鍚庝竴澶�
+ calendar.add(Calendar.MONTH, 1); // 鍔犱竴涓湀
+ calendar.set(Calendar.DATE, 1); // 璁剧疆涓鸿鏈堢涓�澶�
+ calendar.add(Calendar.DATE, -1); // 鍐嶅噺涓�澶╁嵆涓轰笂涓湀鏈�鍚庝竴澶�
+ String day_last = df.format(calendar.getTime());
+ StringBuffer endStr = new StringBuffer().append(day_last);
+ if (isNeedHms) {
+ endStr.append(" 23:59:59");
+ }
+ day_last = endStr.toString();
+
+ Map<String, Object> map = new HashMap<String, Object>();
+ map.put("first", day_first);
+ map.put("last", day_last);
+ return map;
+ }
+
+
+ /**
+ * 鑾峰彇褰撳墠瀛e害
+ */
+ public static String getQuarter() {
+ Calendar c = Calendar.getInstance();
+ int month = c.get(Calendar.MONTH) + 1;
+ int quarter = 0;
+ if (month >= 1 && month <= 3) {
+ quarter = 1;
+ } else if (month >= 4 && month <= 6) {
+ quarter = 2;
+ } else if (month >= 7 && month <= 9) {
+ quarter = 3;
+ } else {
+ quarter = 4;
+ }
+ return quarter + "";
+ }
+
+ /**
+ * 鑾峰彇鏌愬搴︾殑绗竴澶╁拰鏈�鍚庝竴澶�
+ *
+ * @param //num绗嚑瀛e害
+ */
+ public static String[] getCurrQuarter(int num) {
+ String[] s = new String[2];
+ String str = "";
+ // 璁剧疆鏈勾鐨勫
+ Calendar quarterCalendar = null;
+ switch (num) {
+ case 1: // 鏈勾鍒扮幇鍦ㄧ粡杩囦簡涓�涓搴︼紝鍦ㄥ姞涓婂墠4涓搴�
+ quarterCalendar = Calendar.getInstance();
+ quarterCalendar.set(Calendar.MONTH, 3);
+ quarterCalendar.set(Calendar.DATE, 1);
+ quarterCalendar.add(Calendar.DATE, -1);
+ str = PeriodDate.formatDate(quarterCalendar.getTime(), "yyyy-MM-dd");
+ s[0] = str.substring(0, str.length() - 5) + "01-01";
+ s[1] = str;
+ break;
+ case 2: // 鏈勾鍒扮幇鍦ㄧ粡杩囦簡浜屼釜瀛e害锛屽湪鍔犱笂鍓嶄笁涓搴�
+ quarterCalendar = Calendar.getInstance();
+ quarterCalendar.set(Calendar.MONTH, 6);
+ quarterCalendar.set(Calendar.DATE, 1);
+ quarterCalendar.add(Calendar.DATE, -1);
+ str = PeriodDate.formatDate(quarterCalendar.getTime(), "yyyy-MM-dd");
+ s[0] = str.substring(0, str.length() - 5) + "04-01";
+ s[1] = str;
+ break;
+ case 3:// 鏈勾鍒扮幇鍦ㄧ粡杩囦簡涓変釜瀛e害锛屽湪鍔犱笂鍓嶄簩涓搴�
+ quarterCalendar = Calendar.getInstance();
+ quarterCalendar.set(Calendar.MONTH, 9);
+ quarterCalendar.set(Calendar.DATE, 1);
+ quarterCalendar.add(Calendar.DATE, -1);
+ str = PeriodDate.formatDate(quarterCalendar.getTime(), "yyyy-MM-dd");
+ s[0] = str.substring(0, str.length() - 5) + "07-01";
+ s[1] = str;
+ break;
+ case 4:// 鏈勾鍒扮幇鍦ㄧ粡杩囦簡鍥涗釜瀛e害锛屽湪鍔犱笂鍓嶄竴涓搴�
+ quarterCalendar = Calendar.getInstance();
+ str = PeriodDate.formatDate(quarterCalendar.getTime(), "yyyy-MM-dd");
+ s[0] = str.substring(0, str.length() - 5) + "10-01";
+ s[1] = str.substring(0, str.length() - 5) + "12-31";
+ break;
+ }
+ return s;
+ }
+
+ /**
+ * 鐢ㄩ�旓細浠ユ寚瀹氱殑鏍煎紡鏍煎紡鍖栨棩鏈熷瓧绗︿覆
+ *
+ * @param pattern 瀛楃涓茬殑鏍煎紡
+ * @param currentDate 琚牸寮忓寲鏃ユ湡
+ * @return String 宸叉牸寮忓寲鐨勬棩鏈熷瓧绗︿覆
+ * @throws NullPointerException 濡傛灉鍙傛暟涓虹┖
+ */
+ public static String formatDate(Date currentDate, String pattern) {
+ if (currentDate == null || "".equals(pattern) || pattern == null) {
+ return null;
+ }
+ SimpleDateFormat sdf = new SimpleDateFormat(pattern);
+ return sdf.format(currentDate);
+ }
+
+ /**
+ * @return java.util.List<java.lang.String>
+ * @Author Lin
+ * @Description
+ * @Date 2021/3/10 14:17
+ * @Param []
+ **/
+ public static List<String> getStartDateToEndDate(String startDate, String endDate) {
+ List<String> betweenDays = null;
+ try {
+ betweenDays = PeriodDate.getBetweenDays(startDate, endDate);
+ System.out.println(betweenDays);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return betweenDays;
+ }
+
+ /**
+ * @return int
+ * @Author Lin
+ * @Description 鏈湀澶╂暟
+ * @Date 2021/3/10 14:48
+ * @Param [date]
+ **/
+ public static int getDaysOfMonth() {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(new Date());
+ return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+ }
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml
index 1f123df..5f4a3df 100644
--- a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml
@@ -4,4 +4,19 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.demo.mapper.RsDangerInfoMapper">
+ <resultMap id="DangerInfoList" type="org.dromara.demo.domain.vo.RsDangerInfoVo">
+ <id column="id" jdbcType="VARCHAR" property="id" />
+ <result column="notification_time" jdbcType="VARCHAR" property="notificationTime" />
+ <result column="danger_type" jdbcType="VARCHAR" property="dangerType" />
+ <result column="accountability_unit" jdbcType="VARCHAR" property="accountabilityUnit" />
+ <result column="rectification_time_limit" jdbcType="VARCHAR" property="rectificationTimeLimit" />
+ <result column="performance" jdbcType="VARCHAR" property="performance" />
+ <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+ <result column="status" jdbcType="INTEGER" property="status" />
+ <collection property="imgList" ofType="org.dromara.system.domain.vo.SysOssVo"/>
+ </resultMap>
+
+ <select id="getDangerInfo" resultMap="DangerInfoList">
+ select * from rs_danger_info a left join sys_oss b on a.id = b.tenant_id where `status` = 1 order by a.create_time, b.create_time
+ </select>
</mapper>
diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml
index 680f7f2..e81c496 100644
--- a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml
@@ -1,7 +1,7 @@
<?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">
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.demo.mapper.RsDangerTotalMapper">
<select id="getDangerTotalNums" resultType="org.dromara.demo.domain.vo.RsDangerTotalDashboardVo">
@@ -10,5 +10,12 @@
where status = 1
</select>
+ <select id="getDangerTotalInfo" resultType="org.dromara.demo.domain.vo.RsDangerTotalVo">
+ select *
+ from rs_danger_total
+ where period_date >= SUBSTRING(#{periodDate}, 1, 7)
+ and status = 1
+ order by create_time desc
+ </select>
</mapper>
diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml
index b641182..32f3e24 100644
--- a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsGeographyDataMapper.xml
@@ -4,4 +4,27 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.demo.mapper.RsGeographyDataMapper">
+ <select id="getGeographyData" resultType="java.util.Map">
+ select b.type, count(id) as nums
+ from rs_geography_data a
+ right join (select '浜嬫晠鏄撳彂澶氬彂璺' as type, 1 as sort
+ union all
+ select '閲嶇偣鏃呮父閫氶亾' as type, 2 as sort
+ union all
+ select '閮芥睙鍫版櫙鍖�' as type, 3 as sort
+ union all
+ select '璀﹀姏閰嶅' as type, 4 as sort
+ union all
+ select '鎵撳洿鏂藉伐' as type, 5 as sort
+ union all
+ select '浜ら�氫簨鏁呮槗鍙戠偣' as type, 6 as sort
+ union all
+ select '閲嶇偣杩愯緭浼佷笟' as type, 7 as sort
+ union all
+ select '鍏氦绾胯矾' as type, 8 as sort
+ union all
+ select '瀹夊叏闅愭偅' as type, 9 as sort) b on a.type = b.type and a.status = 1
+ group by b.type
+ order by b.sort
+ </select>
</mapper>
diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficAccidentMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficAccidentMapper.xml
new file mode 100644
index 0000000..d4fe217
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficAccidentMapper.xml
@@ -0,0 +1,10 @@
+<?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="org.dromara.demo.mapper.RsTrafficAccidentMapper">
+
+ <select id="getTrafficAccident" resultType="org.dromara.demo.domain.vo.RsTrafficAccidentVo">
+ select a.*, b.url from rs_traffic_accident a left join sys_oss b on a.id = b.tenant_id where `status` = 1 order by sequence
+ </select>
+</mapper>
diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml
index c928e85..e0d3b36 100644
--- a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml
@@ -8,4 +8,14 @@
select * from rs_target_icon order by id
</select>
+ <select id="getTrafficIndex" resultType="org.dromara.demo.domain.vo.RsTrafficIndexVo">
+ select
+ *,
+ (select url from rs_target_icon a left join sys_oss b on a.id = b.tenant_id where `name` = '鎸囨爣1鍥炬爣') as target_one_icon,
+ (select url from rs_target_icon a left join sys_oss b on a.id = b.tenant_id where `name` = '鎸囨爣2鍥炬爣') as target_two_icon,
+ (select url from rs_target_icon a left join sys_oss b on a.id = b.tenant_id where `name` = '鎸囨爣3鍥炬爣') as target_three_icon,
+ (select url from rs_target_icon a left join sys_oss b on a.id = b.tenant_id where `name` = '鎸囨爣4鍥炬爣') as target_four_icon
+ from rs_traffic_index where `status` = 1 order by create_time desc limit 1
+ </select>
+
</mapper>
diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml
index 6203eb7..00aa648 100644
--- a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml
@@ -8,4 +8,8 @@
update rs_traffic_propaganda set sequence = sequence + 1 where sequence >= #{sequence} and id != #{id}
</update>
+ <select id="getTrafficPropaganda" resultType="org.dromara.demo.domain.vo.RsTrafficPropagandaVo">
+ select a.*, b.url from rs_traffic_propaganda a left join sys_oss b on a.id = b.tenant_id where `status` = 1 order by sequence
+ </select>
+
</mapper>
--
Gitblit v1.8.0