From 42757e99e1e4509bc178d3ba175be8e342de7567 Mon Sep 17 00:00:00 2001
From: 幻雨堂 <13281837894@163.com>
Date: 星期二, 27 二月 2024 14:31:52 +0800
Subject: [PATCH] 道安办以及禁毒办部分
---
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsPcrDataService.java | 49 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/ITargetManageService.java | 50 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/TargetManageBo.java | 62 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/TargetData.java | 49 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/ITargetDataService.java | 49 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsPcrDataMapper.java | 15
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java | 15
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/TargetManageController.java | 122 ++
dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsPcrDataMapper.xml | 7
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficIndexController.java | 105 ++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/TargetDataController.java | 105 ++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java | 189 +++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsPcrData.java | 97 ++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/TargetDataBo.java | 51 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/JdCruxIndexDataBo.java | 42
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/TargetManageVo.java | 74 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/TargetManage.java | 61 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/JdCruxIndexDataMapper.java | 18
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IJdCruxIndexDataService.java | 48 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java | 132 ++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsPcrDataController.java | 105 ++
dujy-modules/dujy-demo/src/main/resources/mapper/demo/TargetDataMapper.xml | 7
dujy-modules/dujy-demo/src/main/resources/mapper/demo/TargetManageMapper.xml | 21
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficIndexService.java | 49 +
dujy-modules/dujy-demo/src/main/resources/mapper/demo/JdCruxIndexDataMapper.xml | 7
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficIndexBo.java | 180 +++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsPcrDataBo.java | 109 ++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/JdCruxIndexDataController.java | 106 ++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/TargetDataMapper.java | 18
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetManageServiceImpl.java | 131 ++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/JdCruxIndexDataVo.java | 51 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficIndex.java | 158 +++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/TargetDataVo.java | 59 +
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/JdCruxIndexDataServiceImpl.java | 111 ++
dujy-modules/dujy-demo/pom.xml | 4
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsPcrDataServiceImpl.java | 121 ++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetDataServiceImpl.java | 112 ++
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/TargetManageMapper.java | 21
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/JdCruxIndexData.java | 41
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsPcrDataVo.java | 117 ++
dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml | 7
41 files changed, 2,875 insertions(+), 0 deletions(-)
diff --git a/dujy-modules/dujy-demo/pom.xml b/dujy-modules/dujy-demo/pom.xml
index 5d233dd..5193b1e 100644
--- a/dujy-modules/dujy-demo/pom.xml
+++ b/dujy-modules/dujy-demo/pom.xml
@@ -119,6 +119,10 @@
<groupId>org.springframework.graphql</groupId>
<artifactId>spring-graphql</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.dujy</groupId>
+ <artifactId>dujy-system</artifactId>
+ </dependency>
</dependencies>
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/JdCruxIndexDataController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/JdCruxIndexDataController.java
new file mode 100644
index 0000000..645fcf5
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/JdCruxIndexDataController.java
@@ -0,0 +1,106 @@
+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.dromara.demo.domain.bo.JdCruxIndexDataBo;
+import org.dromara.demo.domain.vo.JdCruxIndexDataVo;
+import org.dromara.demo.service.IJdCruxIndexDataService;
+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.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 鍏抽敭鎸囨爣鏁版嵁(鍗$墖)
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/jd/cid")
+public class JdCruxIndexDataController extends BaseController {
+
+ private final IJdCruxIndexDataService jdCruxIndexDataService;
+
+ /**
+ * 鏌ヨ鍏抽敭鎸囨爣鏁版嵁(鍗$墖)鍒楄〃
+ */
+ @SaCheckPermission("jd:cruxIndexData:list")
+ @GetMapping("/list")
+ public TableDataInfo<JdCruxIndexDataVo> list(JdCruxIndexDataBo bo, PageQuery pageQuery) {
+ return jdCruxIndexDataService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 瀵煎嚭鍏抽敭鎸囨爣鏁版嵁(鍗$墖)鍒楄〃
+ */
+ @SaCheckPermission("jd:cruxIndexData:export")
+ @Log(title = "鍏抽敭鎸囨爣鏁版嵁(鍗$墖)", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(JdCruxIndexDataBo bo, HttpServletResponse response) {
+ List<JdCruxIndexDataVo> list = jdCruxIndexDataService.queryList(bo);
+ ExcelUtil.exportExcel(list, "鍏抽敭鎸囨爣鏁版嵁(鍗$墖)", JdCruxIndexDataVo.class, response);
+ }
+
+ /**
+ * 鑾峰彇鍏抽敭鎸囨爣鏁版嵁(鍗$墖)璇︾粏淇℃伅
+ *
+ * @param id 涓婚敭
+ */
+ @SaCheckPermission("jd:cruxIndexData:query")
+ @GetMapping("/{id}")
+ public R<JdCruxIndexDataVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long id) {
+ return R.ok(jdCruxIndexDataService.queryById(id));
+ }
+
+ /**
+ * 鏂板鍏抽敭鎸囨爣鏁版嵁(鍗$墖)
+ */
+ @SaCheckPermission("jd:cruxIndexData:add")
+ @Log(title = "鍏抽敭鎸囨爣鏁版嵁(鍗$墖)", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R<Void> add(@Validated(AddGroup.class) @RequestBody JdCruxIndexDataBo bo) {
+ return toAjax(jdCruxIndexDataService.insertByBo(bo));
+ }
+
+ /**
+ * 淇敼鍏抽敭鎸囨爣鏁版嵁(鍗$墖)
+ */
+ @SaCheckPermission("jd:cruxIndexData:edit")
+ @Log(title = "鍏抽敭鎸囨爣鏁版嵁(鍗$墖)", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R<Void> edit(@Validated(EditGroup.class) @RequestBody JdCruxIndexDataBo bo) {
+ return toAjax(jdCruxIndexDataService.updateByBo(bo));
+ }
+
+ /**
+ * 鍒犻櫎鍏抽敭鎸囨爣鏁版嵁(鍗$墖)
+ *
+ * @param ids 涓婚敭涓�
+ */
+ @SaCheckPermission("jd:cruxIndexData:remove")
+ @Log(title = "鍏抽敭鎸囨爣鏁版嵁(鍗$墖)", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long[] ids) {
+ return toAjax(jdCruxIndexDataService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsPcrDataController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsPcrDataController.java
new file mode 100644
index 0000000..b3c35f5
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsPcrDataController.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.RsPcrDataVo;
+import org.dromara.demo.domain.bo.RsPcrDataBo;
+import org.dromara.demo.service.IRsPcrDataService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 浜鸿溅璺熀纭�淇℃伅
+ *
+ * @author Lion Li
+ * @date 2024-02-27
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/rs/pcrData")
+public class RsPcrDataController extends BaseController {
+
+ private final IRsPcrDataService rsPcrDataService;
+
+ /**
+ * 鏌ヨ浜鸿溅璺熀纭�淇℃伅鍒楄〃
+ */
+ @SaCheckPermission("rs:pcrData:list")
+ @GetMapping("/list")
+ public TableDataInfo<RsPcrDataVo> list(RsPcrDataBo bo, PageQuery pageQuery) {
+ return rsPcrDataService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 瀵煎嚭浜鸿溅璺熀纭�淇℃伅鍒楄〃
+ */
+ @SaCheckPermission("rs:pcrData:export")
+ @Log(title = "浜鸿溅璺熀纭�淇℃伅", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(RsPcrDataBo bo, HttpServletResponse response) {
+ List<RsPcrDataVo> list = rsPcrDataService.queryList(bo);
+ ExcelUtil.exportExcel(list, "浜鸿溅璺熀纭�淇℃伅", RsPcrDataVo.class, response);
+ }
+
+ /**
+ * 鑾峰彇浜鸿溅璺熀纭�淇℃伅璇︾粏淇℃伅
+ *
+ * @param id 涓婚敭
+ */
+ @SaCheckPermission("rs:pcrData:query")
+ @GetMapping("/{id}")
+ public R<RsPcrDataVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long id) {
+ return R.ok(rsPcrDataService.queryById(id));
+ }
+
+ /**
+ * 鏂板浜鸿溅璺熀纭�淇℃伅
+ */
+ @SaCheckPermission("rs:pcrData:add")
+ @Log(title = "浜鸿溅璺熀纭�淇℃伅", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R<Void> add(@Validated(AddGroup.class) @RequestBody RsPcrDataBo bo) {
+ return toAjax(rsPcrDataService.insertByBo(bo));
+ }
+
+ /**
+ * 淇敼浜鸿溅璺熀纭�淇℃伅
+ */
+ @SaCheckPermission("rs:pcrData:edit")
+ @Log(title = "浜鸿溅璺熀纭�淇℃伅", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R<Void> edit(@Validated(EditGroup.class) @RequestBody RsPcrDataBo bo) {
+ return toAjax(rsPcrDataService.updateByBo(bo));
+ }
+
+ /**
+ * 鍒犻櫎浜鸿溅璺熀纭�淇℃伅
+ *
+ * @param ids 涓婚敭涓�
+ */
+ @SaCheckPermission("rs:pcrData:remove")
+ @Log(title = "浜鸿溅璺熀纭�淇℃伅", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long[] ids) {
+ return toAjax(rsPcrDataService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficIndexController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficIndexController.java
new file mode 100644
index 0000000..f108ff9
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficIndexController.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.RsTrafficIndexVo;
+import org.dromara.demo.domain.bo.RsTrafficIndexBo;
+import org.dromara.demo.service.IRsTrafficIndexService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 浜ら�氭寚鏁�
+ *
+ * @author Lion Li
+ * @date 2024-02-26
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/rs/trafficIndex")
+public class RsTrafficIndexController extends BaseController {
+
+ private final IRsTrafficIndexService rsTrafficIndexService;
+
+ /**
+ * 鏌ヨ浜ら�氭寚鏁板垪琛�
+ */
+ @SaCheckPermission("rs:trafficIndex:list")
+ @GetMapping("/list")
+ public TableDataInfo<RsTrafficIndexVo> list(RsTrafficIndexBo bo, PageQuery pageQuery) {
+ return rsTrafficIndexService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 瀵煎嚭浜ら�氭寚鏁板垪琛�
+ */
+ @SaCheckPermission("rs:trafficIndex:export")
+ @Log(title = "浜ら�氭寚鏁�", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(RsTrafficIndexBo bo, HttpServletResponse response) {
+ List<RsTrafficIndexVo> list = rsTrafficIndexService.queryList(bo);
+ ExcelUtil.exportExcel(list, "浜ら�氭寚鏁�", RsTrafficIndexVo.class, response);
+ }
+
+ /**
+ * 鑾峰彇浜ら�氭寚鏁拌缁嗕俊鎭�
+ *
+ * @param id 涓婚敭
+ */
+ @SaCheckPermission("rs:trafficIndex:query")
+ @GetMapping("/{id}")
+ public R<RsTrafficIndexVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long id) {
+ return R.ok(rsTrafficIndexService.queryById(id));
+ }
+
+ /**
+ * 鏂板浜ら�氭寚鏁�
+ */
+ @SaCheckPermission("rs:trafficIndex:add")
+ @Log(title = "浜ら�氭寚鏁�", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R<Void> add(@Validated(AddGroup.class) @RequestBody RsTrafficIndexBo bo) {
+ return toAjax(rsTrafficIndexService.insertByBo(bo));
+ }
+
+ /**
+ * 淇敼浜ら�氭寚鏁�
+ */
+ @SaCheckPermission("rs:trafficIndex:edit")
+ @Log(title = "浜ら�氭寚鏁�", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R<Void> edit(@Validated(EditGroup.class) @RequestBody RsTrafficIndexBo bo) {
+ return toAjax(rsTrafficIndexService.updateByBo(bo));
+ }
+
+ /**
+ * 鍒犻櫎浜ら�氭寚鏁�
+ *
+ * @param ids 涓婚敭涓�
+ */
+ @SaCheckPermission("rs:trafficIndex:remove")
+ @Log(title = "浜ら�氭寚鏁�", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long[] ids) {
+ return toAjax(rsTrafficIndexService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/TargetDataController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/TargetDataController.java
new file mode 100644
index 0000000..7f6dccf
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/TargetDataController.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.dromara.demo.domain.bo.TargetDataBo;
+import org.dromara.demo.domain.vo.TargetDataVo;
+import org.dromara.demo.service.ITargetDataService;
+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.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 鎸囨爣鏁版嵁
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/td/data")
+public class TargetDataController extends BaseController {
+
+ private final ITargetDataService targetDataService;
+
+ /**
+ * 鏌ヨ鎸囨爣鏁版嵁鍒楄〃
+ */
+ @SaCheckPermission("td:data:list")
+ @GetMapping("/list")
+ public TableDataInfo<TargetDataVo> list(TargetDataBo bo, PageQuery pageQuery) {
+ return targetDataService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 瀵煎嚭鎸囨爣鏁版嵁鍒楄〃
+ */
+ @SaCheckPermission("td:data:export")
+ @Log(title = "鎸囨爣鏁版嵁", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(TargetDataBo bo, HttpServletResponse response) {
+ List<TargetDataVo> list = targetDataService.queryList(bo);
+ ExcelUtil.exportExcel(list, "鎸囨爣鏁版嵁", TargetDataVo.class, response);
+ }
+
+ /**
+ * 鑾峰彇鎸囨爣鏁版嵁璇︾粏淇℃伅
+ *
+ * @param id 涓婚敭
+ */
+ @SaCheckPermission("td:data:query")
+ @GetMapping("/{id}")
+ public R<TargetDataVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long id) {
+ return R.ok(targetDataService.queryById(id));
+ }
+
+ /**
+ * 鏂板鎸囨爣鏁版嵁
+ */
+ @SaCheckPermission("td:data:add")
+ @Log(title = "鎸囨爣鏁版嵁", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R<Void> add(@Validated(AddGroup.class) @RequestBody TargetDataBo bo) {
+ return toAjax(targetDataService.insertByBo(bo));
+ }
+
+ /**
+ * 淇敼鎸囨爣鏁版嵁
+ */
+ @SaCheckPermission("td:data:edit")
+ @Log(title = "鎸囨爣鏁版嵁", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R<Void> edit(@Validated(EditGroup.class) @RequestBody TargetDataBo bo) {
+ return toAjax(targetDataService.updateByBo(bo));
+ }
+
+ /**
+ * 鍒犻櫎鎸囨爣鏁版嵁
+ *
+ * @param ids 涓婚敭涓�
+ */
+ @SaCheckPermission("td:data:remove")
+ @Log(title = "鎸囨爣鏁版嵁", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long[] ids) {
+ return toAjax(targetDataService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/TargetManageController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/TargetManageController.java
new file mode 100644
index 0000000..6a02334
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/TargetManageController.java
@@ -0,0 +1,122 @@
+package org.dromara.demo.controller;
+
+import java.util.Date;
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.dromara.common.core.domain.model.LoginUser;
+import org.dromara.common.satoken.utils.LoginHelper;
+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.TargetManageVo;
+import org.dromara.demo.domain.bo.TargetManageBo;
+import org.dromara.demo.service.ITargetManageService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 銆愭寚鏍囩鐞嗐��
+ *
+ * @author Lion Li
+ * @date 2024-02-20
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/tg/manage")
+public class TargetManageController extends BaseController {
+
+ private final ITargetManageService targetManageService;
+
+ /**
+ * 鏌ヨ銆愭寚鏍囩鐞嗐�戝垪琛�
+ */
+ @SaCheckPermission("tg:manage:list")
+ @GetMapping("/list")
+ public TableDataInfo<TargetManageVo> list(TargetManageBo bo, PageQuery pageQuery) {
+
+ return targetManageService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 瀵煎嚭銆愭寚鏍囩鐞嗐�戝垪琛�
+ *
+ */
+ @SaCheckPermission("tg:manage:export")
+ @Log(title = "瀵煎嚭銆愭寚鏍囩鐞嗐�戝垪琛�", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(TargetManageBo bo, HttpServletResponse response) {
+ List<TargetManageVo> list = targetManageService.queryList(bo);
+ ExcelUtil.exportExcel(list, "銆愭寚鏍囩鐞嗐��", TargetManageVo.class, response);
+ }
+
+ /**
+ * 鑾峰彇銆愭寚鏍囩鐞嗐�戣缁嗕俊鎭�
+ *
+ * @param tgId 涓婚敭
+ */
+ @SaCheckPermission("tg:manage:query")
+ @GetMapping("/{tgId}")
+ public R<TargetManageVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long tgId) {
+ return R.ok(targetManageService.queryById(tgId));
+ }
+
+ /**
+ * 鏂板銆愭寚鏍囩鐞嗐��
+ */
+ @SaCheckPermission("tg:manage:add")
+ @Log(title = "鏂板銆愭寚鏍囩鐞嗐��", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R<Void> add(@Validated(AddGroup.class) @RequestBody TargetManageBo bo) {
+ LoginUser loginUser = LoginHelper.getLoginUser();
+ loginUser.getNickname();
+ System.out.println("鐧诲綍浜哄憳"+loginUser);
+ bo.setUserId(loginUser.getUserId());
+ bo.setTgCreateTime(new Date());
+ return toAjax(targetManageService.insertByBo(bo));
+ }
+
+ /**
+ * 淇敼銆愭寚鏍囩鐞嗐��
+ */
+ @SaCheckPermission("tg:manage:edit")
+ @Log(title = "淇敼銆愭寚鏍囩鐞嗐��", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R<Void> edit(@Validated(EditGroup.class) @RequestBody TargetManageBo bo) {
+ return toAjax(targetManageService.updateByBo(bo));
+ }
+ @Log(title = "淇敼銆愬惎鐢ㄧ姸鎬併��", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping("/update/{id}")
+ public R<Void> updateStatus(@PathVariable Long id) {
+ targetManageService.updateStatus(id);
+ return R.ok("鐘舵�佽皟鏁存垚鍔�");
+ }
+
+ /**
+ * 鍒犻櫎銆愭寚鏍囩鐞嗐��
+ *
+ * @param tgIds 涓婚敭涓�
+ */
+ @SaCheckPermission("tg:manage:remove")
+ @Log(title = "鍒犻櫎銆愭寚鏍囩鐞嗐��", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{tgIds}")
+ public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable Long[] tgIds) {
+ return toAjax(targetManageService.deleteWithValidByIds(List.of(tgIds), true));
+ }
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/JdCruxIndexData.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/JdCruxIndexData.java
new file mode 100644
index 0000000..d9dd15a
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/JdCruxIndexData.java
@@ -0,0 +1,41 @@
+package org.dromara.demo.domain;
+
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 鍏抽敭鎸囨爣鏁版嵁(鍗$墖)瀵硅薄 jd_crux_index_data
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("jd_crux_index_data")
+public class JdCruxIndexData {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 鍏抽敭鍚嶇О
+ */
+ private String cruxName;
+
+ /**
+ * 鎺у埗鐨勬寚鏍�
+ */
+ private String targetValue;
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsPcrData.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsPcrData.java
new file mode 100644
index 0000000..e1c0b81
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsPcrData.java
@@ -0,0 +1,97 @@
+package org.dromara.demo.domain;
+
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.math.BigDecimal;
+
+import java.io.Serial;
+
+/**
+ * 浜鸿溅璺熀纭�淇℃伅瀵硅薄 rs_pcr_data
+ *
+ * @author Lion Li
+ * @date 2024-02-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("rs_pcr_data")
+public class RsPcrData extends BaseEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 妯″潡鍚嶇О
+ */
+ private String modeName;
+
+ /**
+ * 鍛ㄦ湡
+ */
+ private String periodName;
+
+ /**
+ * 鍛ㄦ湡骞�
+ */
+ private String periodYear;
+
+ /**
+ * 鍛ㄦ湡鏈�
+ */
+ private Long periodMonth;
+
+ /**
+ * 鎸囨爣1鍚嶇О
+ */
+ private String indexOneName;
+
+ /**
+ * 鎸囨爣1鍊�
+ */
+ private BigDecimal indexOneValue;
+
+ /**
+ * 鎸囨爣2鍚嶇О
+ */
+ private String indexTwoName;
+
+ /**
+ * 鎸囨爣2鍊�
+ */
+ private BigDecimal indexTwoValue;
+
+ /**
+ * 鎸囨爣3鍚嶇О
+ */
+ private String indexThreeName;
+
+ /**
+ * 鎸囨爣3鍊�
+ */
+ private BigDecimal indexThreeValue;
+
+ /**
+ * 鎸囨爣4鍚嶇О
+ */
+ private String indexFourName;
+
+ /**
+ * 鎸囨爣4鍊�
+ */
+ private BigDecimal indexFourValue;
+
+ /**
+ * 鐘舵�� 1鍚敤 0鏈惎鐢�
+ */
+ private Long status;
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficIndex.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficIndex.java
new file mode 100644
index 0000000..2a9e811
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficIndex.java
@@ -0,0 +1,158 @@
+package org.dromara.demo.domain;
+
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.math.BigDecimal;
+
+import java.io.Serial;
+
+/**
+ * 浜ら�氭寚鏁板璞� rs_traffic_index
+ *
+ * @author Lion Li
+ * @date 2024-02-26
+ */
+@Data
+//@EqualsAndHashCode(callSuper = true)
+@TableName("rs_traffic_index")
+public class RsTrafficIndex {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭id
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 妯″潡鍚嶇О
+ */
+ private String modeName;
+
+ /**
+ * 鎸囨爣1鍚嶇О
+ */
+ private String targetOneName;
+
+ /**
+ * 鎸囨爣1鍊�
+ */
+ private BigDecimal targetOneValue;
+
+ /**
+ * 鎸囨爣1鍗曚綅
+ */
+ private String targetOneUnit;
+
+ /**
+ * 鎸囨爣1鐘舵�� 1 涓婃诞 2涓嬮檷
+ */
+ private Integer targetOneStatus;
+
+ /**
+ * 鎸囨爣1涓婃诞鎴栦笅闄嶅��
+ */
+ private BigDecimal targetOneCompareValue;
+
+ /**
+ * 鎸囨爣2鍚嶇О
+ */
+ private String targetTwoName;
+
+ /**
+ * 鎸囨爣2鍊�
+ */
+ private BigDecimal targetTwoValue;
+
+ /**
+ * 鎸囨爣2鍗曚綅
+ */
+ private String targetTwoUnit;
+
+ /**
+ * 鎸囨爣2鐘舵�� 1 涓婃诞 2涓嬮檷
+ */
+ private Integer targetTwoStatus;
+
+ /**
+ * 鎸囨爣2涓婃诞鎴栦笅闄嶅��
+ */
+ private BigDecimal targetTwoCompareValue;
+
+ /**
+ * 鎸囨爣3鍚嶇О
+ */
+ private String targetThreeName;
+
+ /**
+ * 鎸囨爣3鍊�
+ */
+ private BigDecimal targetThreeValue;
+
+ /**
+ * 鎸囨爣3鍗曚綅
+ */
+ private String targetThreeUnit;
+
+ /**
+ * 鎸囨爣3鐘舵�� 1 涓婃诞 2涓嬮檷
+ */
+ private Integer targetThreeStatus;
+
+ /**
+ * 鎸囨爣3涓婃诞鎴栦笅闄嶅��
+ */
+ private BigDecimal targetThreeCompareValue;
+
+ /**
+ * 鎸囨爣4鍚嶇О
+ */
+ private String targetFourName;
+
+ /**
+ * 鎸囨爣4鍊�
+ */
+ private BigDecimal targetFourValue;
+
+ /**
+ * 鎸囨爣4鍗曚綅
+ */
+ private String targetFourUnit;
+
+ /**
+ * 鎸囨爣4鐘舵�� 1 涓婃诞 2涓嬮檷
+ */
+ private Integer targetFourStatus;
+
+ /**
+ * 鎸囨爣4涓婃诞鎴栦笅闄嶅��
+ */
+ private BigDecimal targetFourCompareValue;
+
+ /**
+ * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
+ */
+ private Integer status;
+
+ /**
+ * 鍛ㄦ湡
+ */
+ private String periodName;
+
+ /**
+ * 鍛ㄦ湡骞�
+ */
+ private Integer periodYear;
+ /**
+ * 鍛ㄦ湡鏈�
+ */
+ private Integer periodMonth;
+
+
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/TargetData.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/TargetData.java
new file mode 100644
index 0000000..186796f
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/TargetData.java
@@ -0,0 +1,49 @@
+package org.dromara.demo.domain;
+
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serial;
+
+/**
+ * 鎸囨爣鏁版嵁瀵硅薄 target_data
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+@Data
+
+@TableName("target_data")
+public class TargetData {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭
+ */
+ @TableId(value = "id",type=IdType.AUTO)
+ private Long id;
+
+ /**
+ * 琛屾斂鍖哄垝
+ */
+ private String areaName;
+
+ /**
+ * 鍖哄垝浠g爜
+ */
+ private Long areaCode;
+
+ /**
+ * 缁熻鏃堕棿
+ */
+
+ private Date collectTime;
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/TargetManage.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/TargetManage.java
new file mode 100644
index 0000000..326df52
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/TargetManage.java
@@ -0,0 +1,61 @@
+package org.dromara.demo.domain;
+
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.common.tenant.core.TenantEntity;
+import org.dromara.system.domain.SysUser;
+
+import java.io.Serial;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆戝璞� target_manage
+ *
+ * @author Lion Li
+ * @date 2024-02-20
+ */
+@Data
+@TableName("target_manage")
+public class TargetManage {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 鏄惁鍚敤鐘舵�� 0 鏈惎鐢� 1宸插惎鐢�
+ */
+ private Integer tgStatus;
+
+ /**
+ * 1 鍖哄幙 2 琛楅亾 3 鍖哄幙浠ュ強琛楅亾
+ */
+ private Integer tgType;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ private Date tgCreateTime;
+
+ /**
+ 涓婚敭id
+ */
+ @TableId(value = "tg_id",type = IdType.AUTO)
+ private Long tgId;
+
+ /**
+ *鍒涘缓浜虹殑id
+ */
+ private Long userId;
+
+ /**
+ * 鎸囨爣鍚嶇О
+ */
+ private String tgName;
+ @TableField(exist = false)
+ private SysUser sysUser;
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/JdCruxIndexDataBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/JdCruxIndexDataBo.java
new file mode 100644
index 0000000..60b9ecc
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/JdCruxIndexDataBo.java
@@ -0,0 +1,42 @@
+package org.dromara.demo.domain.bo;
+
+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.*;
+import org.dromara.demo.domain.JdCruxIndexData;
+
+/**
+ * 鍏抽敭鎸囨爣鏁版嵁(鍗$墖)涓氬姟瀵硅薄 jd_crux_index_data
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = JdCruxIndexData.class, reverseConvertGenerate = false)
+public class JdCruxIndexDataBo extends BaseEntity {
+
+ /**
+ *
+ */
+ @NotNull(message = "涓婚敭id涓嶈兘涓虹┖", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 鍏抽敭鍚嶇О
+ */
+ @NotBlank(message = "鍏抽敭鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String cruxName;
+
+ /**
+ * 鎺у埗鐨勬寚鏍�
+ */
+ @NotBlank(message = "鎺у埗鐨勬寚鏍囦笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private String targetValue;
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsPcrDataBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsPcrDataBo.java
new file mode 100644
index 0000000..96900e0
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsPcrDataBo.java
@@ -0,0 +1,109 @@
+package org.dromara.demo.domain.bo;
+
+import org.dromara.demo.domain.RsPcrData;
+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.*;
+import java.math.BigDecimal;
+
+/**
+ * 浜鸿溅璺熀纭�淇℃伅涓氬姟瀵硅薄 rs_pcr_data
+ *
+ * @author Lion Li
+ * @date 2024-02-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = RsPcrData.class, reverseConvertGenerate = false)
+public class RsPcrDataBo extends BaseEntity {
+
+ /**
+ *
+ */
+ @NotNull(message = "涓嶈兘涓虹┖", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 妯″潡鍚嶇О
+ */
+ @NotBlank(message = "妯″潡鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String modeName;
+
+ /**
+ * 鍛ㄦ湡
+ */
+ @NotBlank(message = "鍛ㄦ湡涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String periodName;
+
+ /**
+ * 鍛ㄦ湡骞�
+ */
+ @NotBlank(message = "鍛ㄦ湡骞翠笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private String periodYear;
+
+ /**
+ * 鍛ㄦ湡鏈�
+ */
+ @NotNull(message = "鍛ㄦ湡鏈堜笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private Long periodMonth;
+
+ /**
+ * 鎸囨爣1鍚嶇О
+ */
+ @NotBlank(message = "鎸囨爣1鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String indexOneName;
+
+ /**
+ * 鎸囨爣1鍊�
+ */
+ @NotNull(message = "鎸囨爣1鍊间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private BigDecimal indexOneValue;
+
+ /**
+ * 鎸囨爣2鍚嶇О
+ */
+ @NotBlank(message = "鎸囨爣2鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String indexTwoName;
+
+ /**
+ * 鎸囨爣2鍊�
+ */
+ @NotNull(message = "鎸囨爣2鍊间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private BigDecimal indexTwoValue;
+
+ /**
+ * 鎸囨爣3鍚嶇О
+ */
+ @NotBlank(message = "鎸囨爣3鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String indexThreeName;
+
+ /**
+ * 鎸囨爣3鍊�
+ */
+ @NotNull(message = "鎸囨爣3鍊间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private BigDecimal indexThreeValue;
+
+ /**
+ * 鎸囨爣4鍚嶇О
+ */
+ @NotBlank(message = "鎸囨爣4鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String indexFourName;
+
+ /**
+ * 鎸囨爣4鍊�
+ */
+ @NotNull(message = "鎸囨爣4鍊间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private BigDecimal indexFourValue;
+
+ /**
+ * 鐘舵�� 1鍚敤 0鏈惎鐢�
+ */
+ @NotNull(message = "鐘舵�� 1鍚敤 0鏈惎鐢ㄤ笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private Long status;
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficIndexBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficIndexBo.java
new file mode 100644
index 0000000..2c12827
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficIndexBo.java
@@ -0,0 +1,180 @@
+package org.dromara.demo.domain.bo;
+
+import org.dromara.demo.domain.RsTrafficIndex;
+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.*;
+import java.math.BigDecimal;
+
+/**
+ * 浜ら�氭寚鏁颁笟鍔″璞� rs_traffic_index
+ *
+ * @author Lion Li
+ * @date 2024-02-26
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = RsTrafficIndex.class, reverseConvertGenerate = false)
+public class RsTrafficIndexBo extends BaseEntity {
+
+ /**
+ * 涓婚敭id
+ */
+ @NotNull(message = "涓婚敭id涓嶈兘涓虹┖", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 妯″潡鍚嶇О
+ */
+ @NotBlank(message = "妯″潡鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String modeName;
+
+ /**
+ * 鎸囨爣1鍚嶇О
+ */
+ @NotBlank(message = "鎸囨爣1鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String targetOneName;
+
+ /**
+ * 鎸囨爣1鍊�
+ */
+ @NotNull(message = "鎸囨爣1鍊间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private BigDecimal targetOneValue;
+
+ /**
+ * 鎸囨爣1鍗曚綅
+ */
+ @NotBlank(message = "鎸囨爣1鍗曚綅涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String targetOneUnit;
+
+ /**
+ * 鎸囨爣1鐘舵�� 1 涓婃诞 2涓嬮檷
+ */
+ @NotNull(message = "鎸囨爣1鐘舵�� 1 涓婃诞 2涓嬮檷涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private Integer targetOneStatus;
+
+ /**
+ * 鎸囨爣1涓婃诞鎴栦笅闄嶅��
+ */
+ @NotNull(message = "鎸囨爣1涓婃诞鎴栦笅闄嶅�间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private BigDecimal targetOneCompareValue;
+
+ /**
+ * 鎸囨爣2鍚嶇О
+ */
+ @NotBlank(message = "鎸囨爣2鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String targetTwoName;
+
+ /**
+ * 鎸囨爣2鍊�
+ */
+ @NotNull(message = "鎸囨爣2鍊间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private BigDecimal targetTwoValue;
+
+ /**
+ * 鎸囨爣2鍗曚綅
+ */
+ @NotBlank(message = "鎸囨爣2鍗曚綅涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String targetTwoUnit;
+
+ /**
+ * 鎸囨爣2鐘舵�� 1 涓婃诞 2涓嬮檷
+ */
+ @NotNull(message = "鎸囨爣2鐘舵�� 1 涓婃诞 2涓嬮檷涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private Integer targetTwoStatus;
+
+ /**
+ * 鎸囨爣2涓婃诞鎴栦笅闄嶅��
+ */
+ @NotNull(message = "鎸囨爣2涓婃诞鎴栦笅闄嶅�间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private BigDecimal targetTwoCompareValue;
+
+ /**
+ * 鎸囨爣3鍚嶇О
+ */
+ @NotBlank(message = "鎸囨爣3鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String targetThreeName;
+
+ /**
+ * 鎸囨爣3鍊�
+ */
+ @NotNull(message = "鎸囨爣3鍊间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private BigDecimal targetThreeValue;
+
+ /**
+ * 鎸囨爣3鍗曚綅
+ */
+ @NotBlank(message = "鎸囨爣3鍗曚綅涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String targetThreeUnit;
+
+ /**
+ * 鎸囨爣3鐘舵�� 1 涓婃诞 2涓嬮檷
+ */
+ @NotNull(message = "鎸囨爣3鐘舵�� 1 涓婃诞 2涓嬮檷涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private Integer targetThreeStatus;
+
+ /**
+ * 鎸囨爣3涓婃诞鎴栦笅闄嶅��
+ */
+ @NotNull(message = "鎸囨爣3涓婃诞鎴栦笅闄嶅�间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private BigDecimal targetThreeCompareValue;
+
+ /**
+ * 鎸囨爣4鍚嶇О
+ */
+ @NotBlank(message = "鎸囨爣4鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String targetFourName;
+
+ /**
+ * 鎸囨爣4鍊�
+ */
+ @NotNull(message = "鎸囨爣4鍊间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private BigDecimal targetFourValue;
+
+ /**
+ * 鎸囨爣4鍗曚綅
+ */
+ @NotBlank(message = "鎸囨爣4鍗曚綅涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String targetFourUnit;
+
+ /**
+ * 鎸囨爣4鐘舵�� 1 涓婃诞 2涓嬮檷
+ */
+ @NotNull(message = "鎸囨爣4鐘舵�� 1 涓婃诞 2涓嬮檷涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private Integer targetFourStatus;
+
+ /**
+ * 鎸囨爣4涓婃诞鎴栦笅闄嶅��
+ */
+ @NotNull(message = "鎸囨爣4涓婃诞鎴栦笅闄嶅�间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private BigDecimal targetFourCompareValue;
+
+ /**
+ * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
+ */
+ @NotNull(message = "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢ㄤ笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private Integer status;
+
+ /**
+ * 鍛ㄦ湡 1 鏈� 2骞�
+ */
+ @NotBlank(message = "鍛ㄦ湡 1 鏈� 2骞翠笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private String periodName;
+
+ /**
+ * 鍛ㄦ湡骞�
+ */
+ @NotNull(message = "鍛ㄦ湡骞翠笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private Integer periodYear;
+ /**
+ * 鍛ㄦ湡鏈�
+ */
+// @NotNull(message = "鍛ㄦ湡鍊间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+ private Integer periodMonth;
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/TargetDataBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/TargetDataBo.java
new file mode 100644
index 0000000..c25b163
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/TargetDataBo.java
@@ -0,0 +1,51 @@
+package org.dromara.demo.domain.bo;
+
+
+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.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.demo.domain.TargetData;
+
+/**
+ * 鎸囨爣鏁版嵁涓氬姟瀵硅薄 target_data
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = TargetData.class, reverseConvertGenerate = false)
+public class TargetDataBo extends BaseEntity {
+
+ /**
+ * 涓婚敭
+ */
+ @NotNull(message = "涓婚敭涓嶈兘涓虹┖", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ * 琛屾斂鍖哄垝
+ */
+ @NotBlank(message = "琛屾斂鍖哄垝涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String areaName;
+
+ /**
+ * 鍖哄垝浠g爜
+ */
+ @NotNull(message = "鍖哄垝浠g爜涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private Long areaCode;
+
+ /**
+ * 缁熻鏃堕棿
+ */
+ @NotNull(message = "缁熻鏃堕棿涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private Date collectTime;
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/TargetManageBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/TargetManageBo.java
new file mode 100644
index 0000000..1365308
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/TargetManageBo.java
@@ -0,0 +1,62 @@
+package org.dromara.demo.domain.bo;
+
+import org.dromara.demo.domain.TargetManage;
+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.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆戜笟鍔″璞� target_manage
+ *
+ * @author Lion Li
+ * @date 2024-02-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = TargetManage.class, reverseConvertGenerate = false)
+public class TargetManageBo extends BaseEntity {
+
+ /**
+ *
+ */
+
+ private Integer tgStatus=0;
+
+ /**
+ *
+ */
+ @NotNull(message = "鎸囨爣绫诲瀷涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private Integer tgType;
+
+ /**
+ *
+ */
+
+ private Date tgCreateTime;
+
+ /**
+ *
+ */
+// @NotNull(message = "涓嶈兘涓虹┖", groups = { EditGroup.class })
+ private Long tgId;
+
+ /**
+ *
+ */
+// @NotNull(message = "涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private Long userId;
+
+ /**
+ *
+ */
+ @NotBlank(message = "鎸囨爣鍚嶇О涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+ private String tgName;
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/JdCruxIndexDataVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/JdCruxIndexDataVo.java
new file mode 100644
index 0000000..f370bcf
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/JdCruxIndexDataVo.java
@@ -0,0 +1,51 @@
+package org.dromara.demo.domain.vo;
+
+
+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.JdCruxIndexData;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 鍏抽敭鎸囨爣鏁版嵁(鍗$墖)瑙嗗浘瀵硅薄 jd_crux_index_data
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = JdCruxIndexData.class)
+public class JdCruxIndexDataVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "id")
+ private Long id;
+
+ /**
+ * 鍏抽敭鍚嶇О
+ */
+ @ExcelProperty(value = "鍏抽敭鍚嶇О")
+ private String cruxName;
+
+ /**
+ * 鎺у埗鐨勬寚鏍�
+ */
+ @ExcelProperty(value = "鎺у埗鐨勬寚鏍�")
+ private String targetValue;
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsPcrDataVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsPcrDataVo.java
new file mode 100644
index 0000000..76f66b2
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsPcrDataVo.java
@@ -0,0 +1,117 @@
+package org.dromara.demo.domain.vo;
+
+import java.math.BigDecimal;
+import org.dromara.demo.domain.RsPcrData;
+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_pcr_data
+ *
+ * @author Lion Li
+ * @date 2024-02-27
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = RsPcrData.class)
+public class RsPcrDataVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Long id;
+
+ /**
+ * 妯″潡鍚嶇О
+ */
+ @ExcelProperty(value = "妯″潡鍚嶇О")
+ private String modeName;
+
+ /**
+ * 鍛ㄦ湡
+ */
+ @ExcelProperty(value = "鍛ㄦ湡")
+ private String periodName;
+
+ /**
+ * 鍛ㄦ湡骞�
+ */
+ @ExcelProperty(value = "鍛ㄦ湡骞�")
+ private String periodYear;
+
+ /**
+ * 鍛ㄦ湡鏈�
+ */
+ @ExcelProperty(value = "鍛ㄦ湡鏈�")
+ private Long periodMonth;
+
+ /**
+ * 鎸囨爣1鍚嶇О
+ */
+ @ExcelProperty(value = "鎸囨爣1鍚嶇О")
+ private String indexOneName;
+
+ /**
+ * 鎸囨爣1鍊�
+ */
+ @ExcelProperty(value = "鎸囨爣1鍊�")
+ private BigDecimal indexOneValue;
+
+ /**
+ * 鎸囨爣2鍚嶇О
+ */
+ @ExcelProperty(value = "鎸囨爣2鍚嶇О")
+ private String indexTwoName;
+
+ /**
+ * 鎸囨爣2鍊�
+ */
+ @ExcelProperty(value = "鎸囨爣2鍊�")
+ private BigDecimal indexTwoValue;
+
+ /**
+ * 鎸囨爣3鍚嶇О
+ */
+ @ExcelProperty(value = "鎸囨爣3鍚嶇О")
+ private String indexThreeName;
+
+ /**
+ * 鎸囨爣3鍊�
+ */
+ @ExcelProperty(value = "鎸囨爣3鍊�")
+ private BigDecimal indexThreeValue;
+
+ /**
+ * 鎸囨爣4鍚嶇О
+ */
+ @ExcelProperty(value = "鎸囨爣4鍚嶇О")
+ private String indexFourName;
+
+ /**
+ * 鎸囨爣4鍊�
+ */
+ @ExcelProperty(value = "鎸囨爣4鍊�")
+ private BigDecimal indexFourValue;
+
+ /**
+ * 鐘舵�� 1鍚敤 0鏈惎鐢�
+ */
+ @ExcelProperty(value = "鐘舵�� 1鍚敤 0鏈惎鐢�")
+ 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
new file mode 100644
index 0000000..ea25de1
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java
@@ -0,0 +1,189 @@
+package org.dromara.demo.domain.vo;
+
+import java.math.BigDecimal;
+import org.dromara.demo.domain.RsTrafficIndex;
+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_index
+ *
+ * @author Lion Li
+ * @date 2024-02-26
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = RsTrafficIndex.class)
+public class RsTrafficIndexVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭id
+ */
+ @ExcelProperty(value = "涓婚敭id")
+ private Long id;
+
+ /**
+ * 妯″潡鍚嶇О
+ */
+ @ExcelProperty(value = "妯″潡鍚嶇О")
+ private String modeName;
+
+ /**
+ * 鎸囨爣1鍚嶇О
+ */
+ @ExcelProperty(value = "鎸囨爣1鍚嶇О")
+ private String targetOneName;
+
+ /**
+ * 鎸囨爣1鍊�
+ */
+ @ExcelProperty(value = "鎸囨爣1鍊�")
+ private BigDecimal targetOneValue;
+
+ /**
+ * 鎸囨爣1鍗曚綅
+ */
+ @ExcelProperty(value = "鎸囨爣1鍗曚綅")
+ private String targetOneUnit;
+
+ /**
+ * 鎸囨爣1鐘舵�� 1 涓婃诞 2涓嬮檷
+ */
+ @ExcelProperty(value = "鎸囨爣1鐘舵�� 1 涓婃诞 2涓嬮檷")
+ private Integer targetOneStatus;
+
+ /**
+ * 鎸囨爣1涓婃诞鎴栦笅闄嶅��
+ */
+ @ExcelProperty(value = "鎸囨爣1涓婃诞鎴栦笅闄嶅��")
+ private BigDecimal targetOneCompareValue;
+
+ /**
+ * 鎸囨爣2鍚嶇О
+ */
+ @ExcelProperty(value = "鎸囨爣2鍚嶇О")
+ private String targetTwoName;
+
+ /**
+ * 鎸囨爣2鍊�
+ */
+ @ExcelProperty(value = "鎸囨爣2鍊�")
+ private BigDecimal targetTwoValue;
+
+ /**
+ * 鎸囨爣2鍗曚綅
+ */
+ @ExcelProperty(value = "鎸囨爣2鍗曚綅")
+ private String targetTwoUnit;
+
+ /**
+ * 鎸囨爣2鐘舵�� 1 涓婃诞 2涓嬮檷
+ */
+ @ExcelProperty(value = "鎸囨爣2鐘舵�� 1 涓婃诞 2涓嬮檷")
+ private Integer targetTwoStatus;
+
+ /**
+ * 鎸囨爣2涓婃诞鎴栦笅闄嶅��
+ */
+ @ExcelProperty(value = "鎸囨爣2涓婃诞鎴栦笅闄嶅��")
+ private BigDecimal targetTwoCompareValue;
+
+ /**
+ * 鎸囨爣3鍚嶇О
+ */
+ @ExcelProperty(value = "鎸囨爣3鍚嶇О")
+ private String targetThreeName;
+
+ /**
+ * 鎸囨爣3鍊�
+ */
+ @ExcelProperty(value = "鎸囨爣3鍊�")
+ private BigDecimal targetThreeValue;
+
+ /**
+ * 鎸囨爣3鍗曚綅
+ */
+ @ExcelProperty(value = "鎸囨爣3鍗曚綅")
+ private String targetThreeUnit;
+
+ /**
+ * 鎸囨爣3鐘舵�� 1 涓婃诞 2涓嬮檷
+ */
+ @ExcelProperty(value = "鎸囨爣3鐘舵�� 1 涓婃诞 2涓嬮檷")
+ private Integer targetThreeStatus;
+
+ /**
+ * 鎸囨爣3涓婃诞鎴栦笅闄嶅��
+ */
+ @ExcelProperty(value = "鎸囨爣3涓婃诞鎴栦笅闄嶅��")
+ private BigDecimal targetThreeCompareValue;
+
+ /**
+ * 鎸囨爣4鍚嶇О
+ */
+ @ExcelProperty(value = "鎸囨爣4鍚嶇О")
+ private String targetFourName;
+
+ /**
+ * 鎸囨爣4鍊�
+ */
+ @ExcelProperty(value = "鎸囨爣4鍊�")
+ private BigDecimal targetFourValue;
+
+ /**
+ * 鎸囨爣4鍗曚綅
+ */
+ @ExcelProperty(value = "鎸囨爣4鍗曚綅")
+ private String targetFourUnit;
+
+ /**
+ * 鎸囨爣4鐘舵�� 1 涓婃诞 2涓嬮檷
+ */
+ @ExcelProperty(value = "鎸囨爣4鐘舵�� 1 涓婃诞 2涓嬮檷")
+ private Integer targetFourStatus;
+
+ /**
+ * 鎸囨爣4涓婃诞鎴栦笅闄嶅��
+ */
+ @ExcelProperty(value = "鎸囨爣4涓婃诞鎴栦笅闄嶅��")
+ private BigDecimal targetFourCompareValue;
+
+ /**
+ * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
+ */
+ @ExcelProperty(value = "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�")
+ private Integer status;
+
+ /**
+ * 鍛ㄦ湡
+ */
+ @ExcelProperty(value = "鍛ㄦ湡")
+ private String periodName;
+
+ /**
+ * 鍛ㄦ湡鏈�
+ */
+ @ExcelProperty(value = "鍛ㄦ湡鍊�")
+ private Integer periodMonth;
+ /**
+ * 鍛ㄦ湡骞�
+ */
+ @ExcelProperty(value = "鍛ㄦ湡鍊�")
+ private Integer periodYear;
+
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/TargetDataVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/TargetDataVo.java
new file mode 100644
index 0000000..f3e4bcf
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/TargetDataVo.java
@@ -0,0 +1,59 @@
+package org.dromara.demo.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+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.TargetData;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 鎸囨爣鏁版嵁瑙嗗浘瀵硅薄 target_data
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = TargetData.class)
+public class TargetDataVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭
+ */
+ @ExcelProperty(value = "涓婚敭")
+ private Long id;
+
+ /**
+ * 琛屾斂鍖哄垝
+ */
+ @ExcelProperty(value = "琛屾斂鍖哄垝")
+ private String areaName;
+
+ /**
+ * 鍖哄垝浠g爜
+ */
+ @ExcelProperty(value = "鍖哄垝浠g爜")
+ private Long areaCode;
+
+ /**
+ * 缁熻鏃堕棿
+ */
+ @ExcelProperty(value = "缁熻鏃堕棿")
+ private Date collectTime;
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/TargetManageVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/TargetManageVo.java
new file mode 100644
index 0000000..b064b84
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/TargetManageVo.java
@@ -0,0 +1,74 @@
+package org.dromara.demo.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.demo.domain.TargetManage;
+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.system.domain.SysUser;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆戣鍥惧璞� target_manage
+ *
+ * @author Lion Li
+ * @date 2024-02-20
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = TargetManage.class)
+public class TargetManageVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Integer tgStatus;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Integer tgType;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Date tgCreateTime;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Long tgId;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Long userId;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private String tgName;
+
+ private SysUser sysUser;
+
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/JdCruxIndexDataMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/JdCruxIndexDataMapper.java
new file mode 100644
index 0000000..312c8ec
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/JdCruxIndexDataMapper.java
@@ -0,0 +1,18 @@
+package org.dromara.demo.mapper;
+
+
+import org.apache.ibatis.annotations.Mapper;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.demo.domain.JdCruxIndexData;
+import org.dromara.demo.domain.vo.JdCruxIndexDataVo;
+
+/**
+ * 鍏抽敭鎸囨爣鏁版嵁(鍗$墖)Mapper鎺ュ彛
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+@Mapper
+public interface JdCruxIndexDataMapper extends BaseMapperPlus<JdCruxIndexData, JdCruxIndexDataVo> {
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsPcrDataMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsPcrDataMapper.java
new file mode 100644
index 0000000..9e7eb76
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsPcrDataMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.demo.mapper;
+
+import org.dromara.demo.domain.RsPcrData;
+import org.dromara.demo.domain.vo.RsPcrDataVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 浜鸿溅璺熀纭�淇℃伅Mapper鎺ュ彛
+ *
+ * @author Lion Li
+ * @date 2024-02-27
+ */
+public interface RsPcrDataMapper extends BaseMapperPlus<RsPcrData, RsPcrDataVo> {
+
+}
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
new file mode 100644
index 0000000..8ea1f34
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.demo.mapper;
+
+import org.dromara.demo.domain.RsTrafficIndex;
+import org.dromara.demo.domain.vo.RsTrafficIndexVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 浜ら�氭寚鏁癕apper鎺ュ彛
+ *
+ * @author Lion Li
+ * @date 2024-02-26
+ */
+public interface RsTrafficIndexMapper extends BaseMapperPlus<RsTrafficIndex, RsTrafficIndexVo> {
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/TargetDataMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/TargetDataMapper.java
new file mode 100644
index 0000000..de8bf6f
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/TargetDataMapper.java
@@ -0,0 +1,18 @@
+package org.dromara.demo.mapper;
+
+
+import org.apache.ibatis.annotations.Mapper;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.demo.domain.TargetData;
+import org.dromara.demo.domain.vo.TargetDataVo;
+
+/**
+ * 鎸囨爣鏁版嵁Mapper鎺ュ彛
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+@Mapper
+public interface TargetDataMapper extends BaseMapperPlus<TargetData, TargetDataVo> {
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/TargetManageMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/TargetManageMapper.java
new file mode 100644
index 0000000..89d2dd9
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/TargetManageMapper.java
@@ -0,0 +1,21 @@
+package org.dromara.demo.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.dromara.demo.domain.TargetManage;
+import org.dromara.demo.domain.bo.TargetManageBo;
+import org.dromara.demo.domain.vo.TargetManageVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+import java.util.List;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆慚apper鎺ュ彛
+ *
+ * @author Lion Li
+ * @date 2024-02-20
+ */
+@Mapper
+public interface TargetManageMapper extends BaseMapperPlus<TargetManage, TargetManageVo> {
+
+ List<TargetManageVo> selectTargetManageInfo(TargetManageBo bo);
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IJdCruxIndexDataService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IJdCruxIndexDataService.java
new file mode 100644
index 0000000..71122ab
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IJdCruxIndexDataService.java
@@ -0,0 +1,48 @@
+package org.dromara.demo.service;
+
+
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.demo.domain.bo.JdCruxIndexDataBo;
+import org.dromara.demo.domain.vo.JdCruxIndexDataVo;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 鍏抽敭鎸囨爣鏁版嵁(鍗$墖)Service鎺ュ彛
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+public interface IJdCruxIndexDataService {
+
+ /**
+ * 鏌ヨ鍏抽敭鎸囨爣鏁版嵁(鍗$墖)
+ */
+ JdCruxIndexDataVo queryById(Long id);
+
+ /**
+ * 鏌ヨ鍏抽敭鎸囨爣鏁版嵁(鍗$墖)鍒楄〃
+ */
+ TableDataInfo<JdCruxIndexDataVo> queryPageList(JdCruxIndexDataBo bo, PageQuery pageQuery);
+
+ /**
+ * 鏌ヨ鍏抽敭鎸囨爣鏁版嵁(鍗$墖)鍒楄〃
+ */
+ List<JdCruxIndexDataVo> queryList(JdCruxIndexDataBo bo);
+
+ /**
+ * 鏂板鍏抽敭鎸囨爣鏁版嵁(鍗$墖)
+ */
+ Boolean insertByBo(JdCruxIndexDataBo bo);
+
+ /**
+ * 淇敼鍏抽敭鎸囨爣鏁版嵁(鍗$墖)
+ */
+ Boolean updateByBo(JdCruxIndexDataBo bo);
+
+ /**
+ * 鏍¢獙骞舵壒閲忓垹闄ゅ叧閿寚鏍囨暟鎹�(鍗$墖)淇℃伅
+ */
+ Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsPcrDataService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsPcrDataService.java
new file mode 100644
index 0000000..89342b2
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsPcrDataService.java
@@ -0,0 +1,49 @@
+package org.dromara.demo.service;
+
+import org.dromara.demo.domain.RsPcrData;
+import org.dromara.demo.domain.vo.RsPcrDataVo;
+import org.dromara.demo.domain.bo.RsPcrDataBo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 浜鸿溅璺熀纭�淇℃伅Service鎺ュ彛
+ *
+ * @author Lion Li
+ * @date 2024-02-27
+ */
+public interface IRsPcrDataService {
+
+ /**
+ * 鏌ヨ浜鸿溅璺熀纭�淇℃伅
+ */
+ RsPcrDataVo queryById(Long id);
+
+ /**
+ * 鏌ヨ浜鸿溅璺熀纭�淇℃伅鍒楄〃
+ */
+ TableDataInfo<RsPcrDataVo> queryPageList(RsPcrDataBo bo, PageQuery pageQuery);
+
+ /**
+ * 鏌ヨ浜鸿溅璺熀纭�淇℃伅鍒楄〃
+ */
+ List<RsPcrDataVo> queryList(RsPcrDataBo bo);
+
+ /**
+ * 鏂板浜鸿溅璺熀纭�淇℃伅
+ */
+ Boolean insertByBo(RsPcrDataBo bo);
+
+ /**
+ * 淇敼浜鸿溅璺熀纭�淇℃伅
+ */
+ Boolean updateByBo(RsPcrDataBo bo);
+
+ /**
+ * 鏍¢獙骞舵壒閲忓垹闄や汉杞﹁矾鍩虹淇℃伅淇℃伅
+ */
+ Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficIndexService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficIndexService.java
new file mode 100644
index 0000000..4389028
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficIndexService.java
@@ -0,0 +1,49 @@
+package org.dromara.demo.service;
+
+import org.dromara.demo.domain.RsTrafficIndex;
+import org.dromara.demo.domain.vo.RsTrafficIndexVo;
+import org.dromara.demo.domain.bo.RsTrafficIndexBo;
+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 Lion Li
+ * @date 2024-02-26
+ */
+public interface IRsTrafficIndexService {
+
+ /**
+ * 鏌ヨ浜ら�氭寚鏁�
+ */
+ RsTrafficIndexVo queryById(Long id);
+
+ /**
+ * 鏌ヨ浜ら�氭寚鏁板垪琛�
+ */
+ TableDataInfo<RsTrafficIndexVo> queryPageList(RsTrafficIndexBo bo, PageQuery pageQuery);
+
+ /**
+ * 鏌ヨ浜ら�氭寚鏁板垪琛�
+ */
+ List<RsTrafficIndexVo> queryList(RsTrafficIndexBo bo);
+
+ /**
+ * 鏂板浜ら�氭寚鏁�
+ */
+ Boolean insertByBo(RsTrafficIndexBo bo);
+
+ /**
+ * 淇敼浜ら�氭寚鏁�
+ */
+ Boolean updateByBo(RsTrafficIndexBo bo);
+
+ /**
+ * 鏍¢獙骞舵壒閲忓垹闄や氦閫氭寚鏁颁俊鎭�
+ */
+ Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/ITargetDataService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/ITargetDataService.java
new file mode 100644
index 0000000..16913c3
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/ITargetDataService.java
@@ -0,0 +1,49 @@
+package org.dromara.demo.service;
+
+
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.demo.domain.bo.TargetDataBo;
+import org.dromara.demo.domain.vo.TargetDataVo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 鎸囨爣鏁版嵁Service鎺ュ彛
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+public interface ITargetDataService {
+
+ /**
+ * 鏌ヨ鎸囨爣鏁版嵁
+ */
+ TargetDataVo queryById(Long id);
+
+ /**
+ * 鏌ヨ鎸囨爣鏁版嵁鍒楄〃
+ */
+ TableDataInfo<TargetDataVo> queryPageList(TargetDataBo bo, PageQuery pageQuery);
+
+ /**
+ * 鏌ヨ鎸囨爣鏁版嵁鍒楄〃
+ */
+ List<TargetDataVo> queryList(TargetDataBo bo);
+
+ /**
+ * 鏂板鎸囨爣鏁版嵁
+ */
+ Boolean insertByBo(TargetDataBo bo);
+
+ /**
+ * 淇敼鎸囨爣鏁版嵁
+ */
+ Boolean updateByBo(TargetDataBo bo);
+
+ /**
+ * 鏍¢獙骞舵壒閲忓垹闄ゆ寚鏍囨暟鎹俊鎭�
+ */
+ Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/ITargetManageService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/ITargetManageService.java
new file mode 100644
index 0000000..1b4bab0
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/ITargetManageService.java
@@ -0,0 +1,50 @@
+package org.dromara.demo.service;
+
+import org.dromara.demo.domain.vo.TargetManageVo;
+import org.dromara.demo.domain.bo.TargetManageBo;
+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 Lion Li
+ * @date 2024-02-20
+ */
+public interface ITargetManageService {
+
+ /**
+ * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆�
+ */
+ TargetManageVo queryById(Long tgId);
+
+ /**
+ * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+ */
+ TableDataInfo<TargetManageVo> queryPageList(TargetManageBo bo, PageQuery pageQuery);
+
+ /**
+ * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+ */
+ List<TargetManageVo> queryList(TargetManageBo bo);
+
+ /**
+ * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+ */
+ Boolean insertByBo(TargetManageBo bo);
+
+ /**
+ * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+ */
+ Boolean updateByBo(TargetManageBo bo);
+
+ /**
+ * 鏍¢獙骞舵壒閲忓垹闄ゃ�愯濉啓鍔熻兘鍚嶇О銆戜俊鎭�
+ */
+ Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+ void updateStatus(Long id);
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/JdCruxIndexDataServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/JdCruxIndexDataServiceImpl.java
new file mode 100644
index 0000000..c8d655f
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/JdCruxIndexDataServiceImpl.java
@@ -0,0 +1,111 @@
+package org.dromara.demo.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.dromara.demo.domain.JdCruxIndexData;
+import org.dromara.demo.domain.bo.JdCruxIndexDataBo;
+import org.dromara.demo.domain.vo.JdCruxIndexDataVo;
+import org.dromara.demo.mapper.JdCruxIndexDataMapper;
+import org.dromara.demo.service.IJdCruxIndexDataService;
+import org.springframework.stereotype.Service;
+
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 鍏抽敭鎸囨爣鏁版嵁(鍗$墖)Service涓氬姟灞傚鐞�
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+@RequiredArgsConstructor
+@Service
+public class JdCruxIndexDataServiceImpl implements IJdCruxIndexDataService {
+
+ private final JdCruxIndexDataMapper baseMapper;
+
+ /**
+ * 鏌ヨ鍏抽敭鎸囨爣鏁版嵁(鍗$墖)
+ */
+ @Override
+ public JdCruxIndexDataVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 鏌ヨ鍏抽敭鎸囨爣鏁版嵁(鍗$墖)鍒楄〃
+ */
+ @Override
+ public TableDataInfo<JdCruxIndexDataVo> queryPageList(JdCruxIndexDataBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper<JdCruxIndexData> lqw = buildQueryWrapper(bo);
+ Page<JdCruxIndexDataVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 鏌ヨ鍏抽敭鎸囨爣鏁版嵁(鍗$墖)鍒楄〃
+ */
+ @Override
+ public List<JdCruxIndexDataVo> queryList(JdCruxIndexDataBo bo) {
+ LambdaQueryWrapper<JdCruxIndexData> lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper<JdCruxIndexData> buildQueryWrapper(JdCruxIndexDataBo bo) {
+ Map<String, Object> params = bo.getParams();
+ LambdaQueryWrapper<JdCruxIndexData> lqw = Wrappers.lambdaQuery();
+ lqw.like(StringUtils.isNotBlank(bo.getCruxName()), JdCruxIndexData::getCruxName, bo.getCruxName());
+ lqw.eq(StringUtils.isNotBlank(bo.getTargetValue()), JdCruxIndexData::getTargetValue, bo.getTargetValue());
+ return lqw;
+ }
+
+ /**
+ * 鏂板鍏抽敭鎸囨爣鏁版嵁(鍗$墖)
+ */
+ @Override
+ public Boolean insertByBo(JdCruxIndexDataBo bo) {
+ JdCruxIndexData add = MapstructUtils.convert(bo, JdCruxIndexData.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 淇敼鍏抽敭鎸囨爣鏁版嵁(鍗$墖)
+ */
+ @Override
+ public Boolean updateByBo(JdCruxIndexDataBo bo) {
+ JdCruxIndexData update = MapstructUtils.convert(bo, JdCruxIndexData.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
+ */
+ private void validEntityBeforeSave(JdCruxIndexData entity){
+ //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎鍏抽敭鎸囨爣鏁版嵁(鍗$墖)
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection<Long> 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/RsPcrDataServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsPcrDataServiceImpl.java
new file mode 100644
index 0000000..ddb6161
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsPcrDataServiceImpl.java
@@ -0,0 +1,121 @@
+package org.dromara.demo.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.dromara.demo.domain.bo.RsPcrDataBo;
+import org.dromara.demo.domain.vo.RsPcrDataVo;
+import org.dromara.demo.domain.RsPcrData;
+import org.dromara.demo.mapper.RsPcrDataMapper;
+import org.dromara.demo.service.IRsPcrDataService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 浜鸿溅璺熀纭�淇℃伅Service涓氬姟灞傚鐞�
+ *
+ * @author Lion Li
+ * @date 2024-02-27
+ */
+@RequiredArgsConstructor
+@Service
+public class RsPcrDataServiceImpl implements IRsPcrDataService {
+
+ private final RsPcrDataMapper baseMapper;
+
+ /**
+ * 鏌ヨ浜鸿溅璺熀纭�淇℃伅
+ */
+ @Override
+ public RsPcrDataVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 鏌ヨ浜鸿溅璺熀纭�淇℃伅鍒楄〃
+ */
+ @Override
+ public TableDataInfo<RsPcrDataVo> queryPageList(RsPcrDataBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper<RsPcrData> lqw = buildQueryWrapper(bo);
+ Page<RsPcrDataVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 鏌ヨ浜鸿溅璺熀纭�淇℃伅鍒楄〃
+ */
+ @Override
+ public List<RsPcrDataVo> queryList(RsPcrDataBo bo) {
+ LambdaQueryWrapper<RsPcrData> lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper<RsPcrData> buildQueryWrapper(RsPcrDataBo bo) {
+ Map<String, Object> params = bo.getParams();
+ LambdaQueryWrapper<RsPcrData> lqw = Wrappers.lambdaQuery();
+ lqw.like(StringUtils.isNotBlank(bo.getModeName()), RsPcrData::getModeName, bo.getModeName());
+ lqw.like(StringUtils.isNotBlank(bo.getPeriodName()), RsPcrData::getPeriodName, bo.getPeriodName());
+ lqw.eq(StringUtils.isNotBlank(bo.getPeriodYear()), RsPcrData::getPeriodYear, bo.getPeriodYear());
+ lqw.eq(bo.getPeriodMonth() != null, RsPcrData::getPeriodMonth, bo.getPeriodMonth());
+ lqw.like(StringUtils.isNotBlank(bo.getIndexOneName()), RsPcrData::getIndexOneName, bo.getIndexOneName());
+ lqw.eq(bo.getIndexOneValue() != null, RsPcrData::getIndexOneValue, bo.getIndexOneValue());
+ lqw.like(StringUtils.isNotBlank(bo.getIndexTwoName()), RsPcrData::getIndexTwoName, bo.getIndexTwoName());
+ lqw.eq(bo.getIndexTwoValue() != null, RsPcrData::getIndexTwoValue, bo.getIndexTwoValue());
+ lqw.like(StringUtils.isNotBlank(bo.getIndexThreeName()), RsPcrData::getIndexThreeName, bo.getIndexThreeName());
+ lqw.eq(bo.getIndexThreeValue() != null, RsPcrData::getIndexThreeValue, bo.getIndexThreeValue());
+ lqw.like(StringUtils.isNotBlank(bo.getIndexFourName()), RsPcrData::getIndexFourName, bo.getIndexFourName());
+ lqw.eq(bo.getIndexFourValue() != null, RsPcrData::getIndexFourValue, bo.getIndexFourValue());
+ lqw.eq(bo.getStatus() != null, RsPcrData::getStatus, bo.getStatus());
+ return lqw;
+ }
+
+ /**
+ * 鏂板浜鸿溅璺熀纭�淇℃伅
+ */
+ @Override
+ public Boolean insertByBo(RsPcrDataBo bo) {
+ RsPcrData add = MapstructUtils.convert(bo, RsPcrData.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 淇敼浜鸿溅璺熀纭�淇℃伅
+ */
+ @Override
+ public Boolean updateByBo(RsPcrDataBo bo) {
+ RsPcrData update = MapstructUtils.convert(bo, RsPcrData.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
+ */
+ private void validEntityBeforeSave(RsPcrData entity){
+ //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎浜鸿溅璺熀纭�淇℃伅
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection<Long> 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
new file mode 100644
index 0000000..4ace7ea
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java
@@ -0,0 +1,132 @@
+package org.dromara.demo.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.dromara.demo.domain.bo.RsTrafficIndexBo;
+import org.dromara.demo.domain.vo.RsTrafficIndexVo;
+import org.dromara.demo.domain.RsTrafficIndex;
+import org.dromara.demo.mapper.RsTrafficIndexMapper;
+import org.dromara.demo.service.IRsTrafficIndexService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 浜ら�氭寚鏁癝ervice涓氬姟灞傚鐞�
+ *
+ * @author Lion Li
+ * @date 2024-02-26
+ */
+@RequiredArgsConstructor
+@Service
+public class RsTrafficIndexServiceImpl implements IRsTrafficIndexService {
+
+ private final RsTrafficIndexMapper baseMapper;
+
+ /**
+ * 鏌ヨ浜ら�氭寚鏁�
+ */
+ @Override
+ public RsTrafficIndexVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 鏌ヨ浜ら�氭寚鏁板垪琛�
+ */
+ @Override
+ public TableDataInfo<RsTrafficIndexVo> queryPageList(RsTrafficIndexBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper<RsTrafficIndex> lqw = buildQueryWrapper(bo);
+ Page<RsTrafficIndexVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 鏌ヨ浜ら�氭寚鏁板垪琛�
+ */
+ @Override
+ public List<RsTrafficIndexVo> queryList(RsTrafficIndexBo bo) {
+ LambdaQueryWrapper<RsTrafficIndex> lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper<RsTrafficIndex> buildQueryWrapper(RsTrafficIndexBo bo) {
+ Map<String, Object> params = bo.getParams();
+ LambdaQueryWrapper<RsTrafficIndex> lqw = Wrappers.lambdaQuery();
+ lqw.like(StringUtils.isNotBlank(bo.getModeName()), RsTrafficIndex::getModeName, bo.getModeName());
+ lqw.like(StringUtils.isNotBlank(bo.getTargetOneName()), RsTrafficIndex::getTargetOneName, bo.getTargetOneName());
+ lqw.eq(bo.getTargetOneValue() != null, RsTrafficIndex::getTargetOneValue, bo.getTargetOneValue());
+ lqw.eq(StringUtils.isNotBlank(bo.getTargetOneUnit()), RsTrafficIndex::getTargetOneUnit, bo.getTargetOneUnit());
+ lqw.eq(bo.getTargetOneStatus() != null, RsTrafficIndex::getTargetOneStatus, bo.getTargetOneStatus());
+ lqw.eq(bo.getTargetOneCompareValue() != null, RsTrafficIndex::getTargetOneCompareValue, bo.getTargetOneCompareValue());
+ lqw.like(StringUtils.isNotBlank(bo.getTargetTwoName()), RsTrafficIndex::getTargetTwoName, bo.getTargetTwoName());
+ lqw.eq(bo.getTargetTwoValue() != null, RsTrafficIndex::getTargetTwoValue, bo.getTargetTwoValue());
+ lqw.eq(StringUtils.isNotBlank(bo.getTargetTwoUnit()), RsTrafficIndex::getTargetTwoUnit, bo.getTargetTwoUnit());
+ lqw.eq(bo.getTargetTwoStatus() != null, RsTrafficIndex::getTargetTwoStatus, bo.getTargetTwoStatus());
+ lqw.eq(bo.getTargetTwoCompareValue() != null, RsTrafficIndex::getTargetTwoCompareValue, bo.getTargetTwoCompareValue());
+ lqw.like(StringUtils.isNotBlank(bo.getTargetThreeName()), RsTrafficIndex::getTargetThreeName, bo.getTargetThreeName());
+ lqw.eq(bo.getTargetThreeValue() != null, RsTrafficIndex::getTargetThreeValue, bo.getTargetThreeValue());
+ lqw.eq(StringUtils.isNotBlank(bo.getTargetThreeUnit()), RsTrafficIndex::getTargetThreeUnit, bo.getTargetThreeUnit());
+ lqw.eq(bo.getTargetThreeStatus() != null, RsTrafficIndex::getTargetThreeStatus, bo.getTargetThreeStatus());
+ lqw.eq(bo.getTargetThreeCompareValue() != null, RsTrafficIndex::getTargetThreeCompareValue, bo.getTargetThreeCompareValue());
+ lqw.like(StringUtils.isNotBlank(bo.getTargetFourName()), RsTrafficIndex::getTargetFourName, bo.getTargetFourName());
+ lqw.eq(bo.getTargetFourValue() != null, RsTrafficIndex::getTargetFourValue, bo.getTargetFourValue());
+ lqw.eq(StringUtils.isNotBlank(bo.getTargetFourUnit()), RsTrafficIndex::getTargetFourUnit, bo.getTargetFourUnit());
+ lqw.eq(bo.getTargetFourStatus() != null, RsTrafficIndex::getTargetFourStatus, bo.getTargetFourStatus());
+ lqw.eq(bo.getTargetFourCompareValue() != null, RsTrafficIndex::getTargetFourCompareValue, bo.getTargetFourCompareValue());
+ lqw.eq(bo.getStatus() != null, RsTrafficIndex::getStatus, bo.getStatus());
+ lqw.like(StringUtils.isNotBlank(bo.getPeriodName()), RsTrafficIndex::getPeriodName, bo.getPeriodName());
+
+ return lqw;
+ }
+
+ /**
+ * 鏂板浜ら�氭寚鏁�
+ */
+ @Override
+ public Boolean insertByBo(RsTrafficIndexBo bo) {
+ RsTrafficIndex add = MapstructUtils.convert(bo, RsTrafficIndex.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 淇敼浜ら�氭寚鏁�
+ */
+ @Override
+ public Boolean updateByBo(RsTrafficIndexBo bo) {
+ RsTrafficIndex update = MapstructUtils.convert(bo, RsTrafficIndex.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
+ */
+ private void validEntityBeforeSave(RsTrafficIndex entity){
+ //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎浜ら�氭寚鏁�
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection<Long> 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/TargetDataServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetDataServiceImpl.java
new file mode 100644
index 0000000..a7d9e71
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetDataServiceImpl.java
@@ -0,0 +1,112 @@
+package org.dromara.demo.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.dromara.demo.domain.TargetData;
+import org.dromara.demo.domain.bo.TargetDataBo;
+import org.dromara.demo.domain.vo.TargetDataVo;
+import org.dromara.demo.mapper.TargetDataMapper;
+import org.dromara.demo.service.ITargetDataService;
+import org.springframework.stereotype.Service;
+
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 鎸囨爣鏁版嵁Service涓氬姟灞傚鐞�
+ *
+ * @author Lion Li
+ * @date 2024-02-22
+ */
+@RequiredArgsConstructor
+@Service
+public class TargetDataServiceImpl implements ITargetDataService {
+
+ private final TargetDataMapper baseMapper;
+
+ /**
+ * 鏌ヨ鎸囨爣鏁版嵁
+ */
+ @Override
+ public TargetDataVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 鏌ヨ鎸囨爣鏁版嵁鍒楄〃
+ */
+ @Override
+ public TableDataInfo<TargetDataVo> queryPageList(TargetDataBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper<TargetData> lqw = buildQueryWrapper(bo);
+ Page<TargetDataVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 鏌ヨ鎸囨爣鏁版嵁鍒楄〃
+ */
+ @Override
+ public List<TargetDataVo> queryList(TargetDataBo bo) {
+ LambdaQueryWrapper<TargetData> lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper<TargetData> buildQueryWrapper(TargetDataBo bo) {
+ Map<String, Object> params = bo.getParams();
+ LambdaQueryWrapper<TargetData> lqw = Wrappers.lambdaQuery();
+ lqw.like(StringUtils.isNotBlank(bo.getAreaName()), TargetData::getAreaName, bo.getAreaName());
+ lqw.eq(bo.getAreaCode() != null, TargetData::getAreaCode, bo.getAreaCode());
+ lqw.eq(bo.getCollectTime() != null, TargetData::getCollectTime, bo.getCollectTime());
+ return lqw;
+ }
+
+ /**
+ * 鏂板鎸囨爣鏁版嵁
+ */
+ @Override
+ public Boolean insertByBo(TargetDataBo bo) {
+ TargetData add = MapstructUtils.convert(bo, TargetData.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 淇敼鎸囨爣鏁版嵁
+ */
+ @Override
+ public Boolean updateByBo(TargetDataBo bo) {
+ TargetData update = MapstructUtils.convert(bo, TargetData.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
+ */
+ private void validEntityBeforeSave(TargetData entity){
+ //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎鎸囨爣鏁版嵁
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection<Long> 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/TargetManageServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetManageServiceImpl.java
new file mode 100644
index 0000000..37fbc65
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/TargetManageServiceImpl.java
@@ -0,0 +1,131 @@
+package org.dromara.demo.service.impl;
+
+import jakarta.transaction.Transactional;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.dromara.demo.domain.bo.TargetManageBo;
+import org.dromara.demo.domain.vo.TargetManageVo;
+import org.dromara.demo.domain.TargetManage;
+import org.dromara.demo.mapper.TargetManageMapper;
+import org.dromara.demo.service.ITargetManageService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆慡ervice涓氬姟灞傚鐞�
+ *
+ * @author Lion Li
+ * @date 2024-02-20
+ */
+@RequiredArgsConstructor
+@Service
+public class TargetManageServiceImpl implements ITargetManageService {
+
+ private final TargetManageMapper baseMapper;
+
+ /**
+ * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆�
+ */
+ @Override
+ public TargetManageVo queryById(Long tgId){
+ return baseMapper.selectVoById(tgId);
+ }
+
+ /**
+ * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+ */
+ @Override
+ public TableDataInfo<TargetManageVo> queryPageList(TargetManageBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper<TargetManage> lqw = buildQueryWrapper(bo);
+ Page<TargetManageVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ List<TargetManageVo> targetManageVoss= baseMapper.selectTargetManageInfo(bo);
+ result.setRecords(targetManageVoss);
+ result.setTotal(targetManageVoss.size());
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+ */
+ @Override
+ public List<TargetManageVo> queryList(TargetManageBo bo) {
+ LambdaQueryWrapper<TargetManage> lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper<TargetManage> buildQueryWrapper(TargetManageBo bo) {
+ Map<String, Object> params = bo.getParams();
+ LambdaQueryWrapper<TargetManage> lqw = new LambdaQueryWrapper<>();
+ lqw.eq(bo.getTgStatus() != null, TargetManage::getTgStatus, bo.getTgStatus());
+ lqw.eq(bo.getTgType() != null, TargetManage::getTgType, bo.getTgType());
+ lqw.eq(bo.getTgCreateTime() != null, TargetManage::getTgCreateTime, bo.getTgCreateTime());
+ lqw.eq(bo.getUserId() != null, TargetManage::getUserId, bo.getUserId());
+ lqw.like(StringUtils.isNotBlank(bo.getTgName()), TargetManage::getTgName, bo.getTgName());
+ return lqw;
+ }
+
+ /**
+ * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+ */
+ @Override
+ public Boolean insertByBo(TargetManageBo bo) {
+ TargetManage add = MapstructUtils.convert(bo, TargetManage.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setTgId(add.getTgId());
+ }
+ return flag;
+ }
+
+ /**
+ * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+ */
+ @Override
+ public Boolean updateByBo(TargetManageBo bo) {
+ TargetManage update = MapstructUtils.convert(bo, TargetManage.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
+ */
+ private void validEntityBeforeSave(TargetManage entity){
+ //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+ if(isValid){
+ //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠�
+ }
+ return baseMapper.deleteBatchIds(ids) > 0;
+ }
+
+ @Override
+ @Transactional
+ public void updateStatus(Long id) {
+ TargetManage targetManage = baseMapper.selectOne(new LambdaQueryWrapper<TargetManage>().eq(TargetManage::getTgId, id));
+ if(targetManage.getTgStatus()==1){
+ targetManage.setTgStatus(0);
+
+ }else {
+ targetManage.setTgStatus(1);
+
+ }
+ baseMapper.updateById(targetManage);
+ }
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/JdCruxIndexDataMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/JdCruxIndexDataMapper.xml
new file mode 100644
index 0000000..b43ab49
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/JdCruxIndexDataMapper.xml
@@ -0,0 +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">
+<mapper namespace="org.dromara.demo.mapper.JdCruxIndexDataMapper">
+
+</mapper>
diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsPcrDataMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsPcrDataMapper.xml
new file mode 100644
index 0000000..89d8e04
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsPcrDataMapper.xml
@@ -0,0 +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">
+<mapper namespace="org.dromara.demo.mapper.RsPcrDataMapper">
+
+</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
new file mode 100644
index 0000000..e0a30b7
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml
@@ -0,0 +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">
+<mapper namespace="org.dromara.system.mapper.RsTrafficIndexMapper">
+
+</mapper>
diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/TargetDataMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/TargetDataMapper.xml
new file mode 100644
index 0000000..fd92065
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/TargetDataMapper.xml
@@ -0,0 +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">
+<mapper namespace="org.dromara.demo.mapper.TargetDataMapper">
+
+</mapper>
diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/TargetManageMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/TargetManageMapper.xml
new file mode 100644
index 0000000..a2d282f
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/TargetManageMapper.xml
@@ -0,0 +1,21 @@
+<?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.TargetManageMapper">
+ <select id="selectTargetManageInfo" resultMap="Usermap">
+ select * from target_manage tm inner join sys_user su on tm.user_id=su.user_id
+ </select>
+ <resultMap id="Usermap" type="org.dromara.demo.domain.vo.TargetManageVo">
+ <id column="tg_id" property="tgId"></id>
+ <result property="tgName" column="tg_name"></result>
+ <result property="tgCreateTime" column="tg_create_time"></result>
+ <result column="tg_type" property="tgType"></result>
+ <result column="tg_status" property="tgStatus"></result>
+ <result property="userId" column="user_id"></result>
+ <association property="sysUser" javaType="org.dromara.system.domain.SysUser" >
+ <id column="user_id" property="userId"></id>
+ <result property="userName" column="user_name"></result>
+ </association>
+ </resultMap>
+</mapper>
--
Gitblit v1.8.0