From de423f774efcbbd748e1947051cef1313dbd315d Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期五, 01 三月 2024 16:01:38 +0800
Subject: [PATCH] 交通宣传基础功能

---
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficPropagandaBo.java             |   48 +++++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficPropagandaService.java         |   49 +++++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java            |   22 ++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficIndexBo.java                  |    9 
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java                  |   14 
 dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml                    |   11 +
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java       |    2 
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficIndex.java                       |   20 -
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficPropagandaServiceImpl.java |  115 ++++++++++++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java             |   61 ++++++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficPropagandaController.java    |  105 +++++++++++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java      |    5 
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficPropaganda.java                  |   46 +++++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java        |    2 
 14 files changed, 479 insertions(+), 30 deletions(-)

diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficPropagandaController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficPropagandaController.java
new file mode 100644
index 0000000..b80960b
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficPropagandaController.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.RsTrafficPropagandaVo;
+import org.dromara.demo.domain.bo.RsTrafficPropagandaBo;
+import org.dromara.demo.service.IRsTrafficPropagandaService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 浜ら�氬浼�
+ *
+ * @author gonghl
+ * @date 2024-03-01
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/demo/trafficPropaganda")
+public class RsTrafficPropagandaController extends BaseController {
+
+    private final IRsTrafficPropagandaService rsTrafficPropagandaService;
+
+    /**
+     * 鏌ヨ浜ら�氬浼犲垪琛�
+     */
+    @SaCheckPermission("demo:trafficPropaganda:list")
+    @GetMapping("/list")
+    public TableDataInfo<RsTrafficPropagandaVo> list(RsTrafficPropagandaBo bo, PageQuery pageQuery) {
+        return rsTrafficPropagandaService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 瀵煎嚭浜ら�氬浼犲垪琛�
+     */
+    @SaCheckPermission("demo:trafficPropaganda:export")
+    @Log(title = "浜ら�氬浼�", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(RsTrafficPropagandaBo bo, HttpServletResponse response) {
+        List<RsTrafficPropagandaVo> list = rsTrafficPropagandaService.queryList(bo);
+        ExcelUtil.exportExcel(list, "浜ら�氬浼�", RsTrafficPropagandaVo.class, response);
+    }
+
+    /**
+     * 鑾峰彇浜ら�氬浼犺缁嗕俊鎭�
+     *
+     * @param id 涓婚敭
+     */
+    @SaCheckPermission("demo:trafficPropaganda:query")
+    @GetMapping("/{id}")
+    public R<RsTrafficPropagandaVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖")
+                                     @PathVariable String id) {
+        return R.ok(rsTrafficPropagandaService.queryById(id));
+    }
+
+    /**
+     * 鏂板浜ら�氬浼�
+     */
+    @SaCheckPermission("demo:trafficPropaganda:add")
+    @Log(title = "浜ら�氬浼�", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody RsTrafficPropagandaBo bo) {
+        return toAjax(rsTrafficPropagandaService.insertByBo(bo));
+    }
+
+    /**
+     * 淇敼浜ら�氬浼�
+     */
+    @SaCheckPermission("demo:trafficPropaganda:edit")
+    @Log(title = "浜ら�氬浼�", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping()
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody RsTrafficPropagandaBo bo) {
+        return toAjax(rsTrafficPropagandaService.updateByBo(bo));
+    }
+
+    /**
+     * 鍒犻櫎浜ら�氬浼�
+     *
+     * @param ids 涓婚敭涓�
+     */
+    @SaCheckPermission("demo:trafficPropaganda:remove")
+    @Log(title = "浜ら�氬浼�", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
+                          @PathVariable String[] ids) {
+        return toAjax(rsTrafficPropagandaService.deleteWithValidByIds(List.of(ids), true));
+    }
+}
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
index 2a9e811..83601d4 100644
--- 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
@@ -1,12 +1,12 @@
 package org.dromara.demo.domain;
 
-import org.dromara.common.mybatis.core.domain.BaseEntity;
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
-import java.math.BigDecimal;
 
 import java.io.Serial;
+import java.math.BigDecimal;
+import java.util.Date;
 
 /**
  * 浜ら�氭寚鏁板璞� rs_traffic_index
@@ -15,7 +15,6 @@
  * @date 2024-02-26
  */
 @Data
-//@EqualsAndHashCode(callSuper = true)
 @TableName("rs_traffic_index")
 public class RsTrafficIndex  {
 
@@ -141,18 +140,13 @@
     /**
      * 鍛ㄦ湡
      */
-    private String periodName;
+    private Long period;
 
     /**
      * 鍛ㄦ湡骞�
      */
-    private Integer periodYear;
-    /**
-     * 鍛ㄦ湡鏈�
-     */
-    private Integer periodMonth;
+    private String periodDate;
 
-
-
+    private Date createTime;
 
 }
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficPropaganda.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficPropaganda.java
new file mode 100644
index 0000000..692c5fa
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsTrafficPropaganda.java
@@ -0,0 +1,46 @@
+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_propaganda
+ *
+ * @author gonghl
+ * @date 2024-03-01
+ */
+@Data
+@TableName("rs_traffic_propaganda")
+public class RsTrafficPropaganda {
+
+    @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/RsTrafficIndexBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficIndexBo.java
index 2c12827..0418408 100644
--- 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
@@ -163,18 +163,13 @@
      * 鍛ㄦ湡 1 鏈�  2骞�
      */
     @NotBlank(message = "鍛ㄦ湡 1 鏈�  2骞翠笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private String periodName;
+    private Long period;
 
     /**
      * 鍛ㄦ湡骞�
      */
     @NotNull(message = "鍛ㄦ湡骞翠笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private Integer periodYear;
-    /**
-     * 鍛ㄦ湡鏈�
-     */
-//    @NotNull(message = "鍛ㄦ湡鍊间笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
-    private Integer periodMonth;
+    private String periodDate;
 
 
 }
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficPropagandaBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficPropagandaBo.java
new file mode 100644
index 0000000..63d12e2
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficPropagandaBo.java
@@ -0,0 +1,48 @@
+package org.dromara.demo.domain.bo;
+
+import org.dromara.demo.domain.RsTrafficPropaganda;
+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_propaganda
+ *
+ * @author gonghl
+ * @date 2024-03-01
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = RsTrafficPropaganda.class, reverseConvertGenerate = false)
+public class RsTrafficPropagandaBo extends BaseEntity {
+
+    /**
+     * 缂栧彿
+     */
+    @NotBlank(message = "缂栧彿涓嶈兘涓虹┖", groups = { EditGroup.class })
+    private String id;
+
+    /**
+     * 鏍囬
+     */
+    @NotBlank(message = "鏍囬涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+    private String title;
+
+    /**
+     * 鎺掑簭
+     */
+    @PositiveOrZero(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/RsTrafficIndexVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficIndexVo.java
index ea25de1..b13e5da 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
@@ -171,19 +171,19 @@
      * 鍛ㄦ湡
      */
     @ExcelProperty(value = "鍛ㄦ湡")
-    private String periodName;
+    private Long period;
 
-    /**
-     * 鍛ㄦ湡鏈�
-     */
-    @ExcelProperty(value = "鍛ㄦ湡鍊�")
-    private Integer periodMonth;
     /**
      * 鍛ㄦ湡骞�
      */
     @ExcelProperty(value = "鍛ㄦ湡鍊�")
-    private Integer periodYear;
+    private String periodDate;
 
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @ExcelProperty(value = "鍒涘缓鏃堕棿")
+    private Date createTime;
 
 
 }
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
new file mode 100644
index 0000000..ac93da4
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java
@@ -0,0 +1,61 @@
+package org.dromara.demo.domain.vo;
+
+import org.dromara.demo.domain.RsTrafficPropaganda;
+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_propaganda
+ *
+ * @author gonghl
+ * @date 2024-03-01
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = RsTrafficPropaganda.class)
+public class RsTrafficPropagandaVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 缂栧彿
+     */
+    @ExcelProperty(value = "缂栧彿")
+    private String id;
+
+    /**
+     * 鏍囬
+     */
+    @ExcelProperty(value = "鏍囬")
+    private String title;
+
+    /**
+     * 鎺掑簭
+     */
+    @ExcelProperty(value = "鎺掑簭")
+    private Long sequence;
+
+    /**
+     * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
+     */
+    @ExcelProperty(value = "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�")
+    private Long status;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @ExcelProperty(value = "鍒涘缓鏃堕棿")
+    private Date createTime;
+
+}
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
new file mode 100644
index 0000000..55f2f6b
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficPropagandaMapper.java
@@ -0,0 +1,22 @@
+package org.dromara.demo.mapper;
+
+import org.dromara.demo.domain.RsTrafficPropaganda;
+import org.dromara.demo.domain.vo.RsTrafficPropagandaVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 浜ら�氬浼燤apper鎺ュ彛
+ *
+ * @author gonghl
+ * @date 2024-03-01
+ */
+public interface RsTrafficPropagandaMapper extends BaseMapperPlus<RsTrafficPropaganda, RsTrafficPropagandaVo> {
+
+    /**
+     * 淇敼澶т簬褰撳墠椤哄簭鐨勬暟鎹竴娆�+1
+     * @param sequence 褰撳墠椤哄簭
+     * @param id id
+     */
+    void addSequence(Long sequence, String id);
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficPropagandaService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficPropagandaService.java
new file mode 100644
index 0000000..d8b8709
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficPropagandaService.java
@@ -0,0 +1,49 @@
+package org.dromara.demo.service;
+
+import org.dromara.demo.domain.RsTrafficPropaganda;
+import org.dromara.demo.domain.vo.RsTrafficPropagandaVo;
+import org.dromara.demo.domain.bo.RsTrafficPropagandaBo;
+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-01
+ */
+public interface IRsTrafficPropagandaService {
+
+    /**
+     * 鏌ヨ浜ら�氬浼�
+     */
+    RsTrafficPropagandaVo queryById(String id);
+
+    /**
+     * 鏌ヨ浜ら�氬浼犲垪琛�
+     */
+    TableDataInfo<RsTrafficPropagandaVo> queryPageList(RsTrafficPropagandaBo bo, PageQuery pageQuery);
+
+    /**
+     * 鏌ヨ浜ら�氬浼犲垪琛�
+     */
+    List<RsTrafficPropagandaVo> queryList(RsTrafficPropagandaBo bo);
+
+    /**
+     * 鏂板浜ら�氬浼�
+     */
+    Boolean insertByBo(RsTrafficPropagandaBo bo);
+
+    /**
+     * 淇敼浜ら�氬浼�
+     */
+    Boolean updateByBo(RsTrafficPropagandaBo bo);
+
+    /**
+     * 鏍¢獙骞舵壒閲忓垹闄や氦閫氬浼犱俊鎭�
+     */
+    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java
index 2fa4a3c..d00858a 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java
@@ -65,7 +65,7 @@
         LambdaQueryWrapper<RsDangerInfo> lqw = Wrappers.lambdaQuery();
         lqw.eq(StringUtils.isNotBlank(bo.getNotificationTime()), RsDangerInfo::getNotificationTime, bo.getNotificationTime());
         lqw.eq(StringUtils.isNotBlank(bo.getDangerType()), RsDangerInfo::getDangerType, bo.getDangerType());
-        lqw.eq(StringUtils.isNotBlank(bo.getAccountabilityUnit()), RsDangerInfo::getAccountabilityUnit, bo.getAccountabilityUnit());
+        lqw.like(StringUtils.isNotBlank(bo.getAccountabilityUnit()), RsDangerInfo::getAccountabilityUnit, bo.getAccountabilityUnit());
         lqw.eq(StringUtils.isNotBlank(bo.getRectificationTimeLimit()), RsDangerInfo::getRectificationTimeLimit, bo.getRectificationTimeLimit());
         lqw.eq(StringUtils.isNotBlank(bo.getPerformance()), RsDangerInfo::getPerformance, bo.getPerformance());
         lqw.eq(bo.getStatus() != null, RsDangerInfo::getStatus, bo.getStatus());
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java
index 6c7d0b7..c5853cc 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java
@@ -8,6 +8,7 @@
 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.springframework.stereotype.Service;
 import org.dromara.demo.domain.bo.RsDangerTotalBo;
 import org.dromara.demo.domain.vo.RsDangerTotalVo;
@@ -69,6 +70,7 @@
         lqw.eq(bo.getIssueNotice() != null, RsDangerTotal::getIssueNotice, bo.getIssueNotice());
         lqw.eq(bo.getDealWithSecurityRisks() != null, RsDangerTotal::getDealWithSecurityRisks, bo.getDealWithSecurityRisks());
         lqw.eq(bo.getStatus() != null, RsDangerTotal::getStatus, bo.getStatus());
+        lqw.orderByDesc(RsDangerTotal::getCreateTime);
         return lqw;
     }
 
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 4ace7ea..abc0e5a 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
@@ -15,6 +15,7 @@
 import org.dromara.demo.mapper.RsTrafficIndexMapper;
 import org.dromara.demo.service.IRsTrafficIndexService;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Collection;
@@ -83,7 +84,7 @@
         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());
+        lqw.like(StringUtils.isNotBlank(bo.getPeriodDate()), RsTrafficIndex::getPeriodDate, bo.getPeriodDate());
 
         return lqw;
     }
@@ -116,7 +117,7 @@
      * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
      */
     private void validEntityBeforeSave(RsTrafficIndex entity){
-        //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫
+        entity.setCreateTime(new Date());
     }
 
     /**
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficPropagandaServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficPropagandaServiceImpl.java
new file mode 100644
index 0000000..889c7be
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficPropagandaServiceImpl.java
@@ -0,0 +1,115 @@
+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.RsTrafficPropagandaBo;
+import org.dromara.demo.domain.vo.RsTrafficPropagandaVo;
+import org.dromara.demo.domain.RsTrafficPropaganda;
+import org.dromara.demo.mapper.RsTrafficPropagandaMapper;
+import org.dromara.demo.service.IRsTrafficPropagandaService;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 浜ら�氬浼燬ervice涓氬姟灞傚鐞�
+ *
+ * @author gonghl
+ * @date 2024-03-01
+ */
+@RequiredArgsConstructor
+@Service
+public class RsTrafficPropagandaServiceImpl implements IRsTrafficPropagandaService {
+
+    private final RsTrafficPropagandaMapper baseMapper;
+
+    /**
+     * 鏌ヨ浜ら�氬浼�
+     */
+    @Override
+    public RsTrafficPropagandaVo queryById(String id){
+        return baseMapper.selectVoById(id);
+    }
+
+    /**
+     * 鏌ヨ浜ら�氬浼犲垪琛�
+     */
+    @Override
+    public TableDataInfo<RsTrafficPropagandaVo> queryPageList(RsTrafficPropagandaBo bo, PageQuery pageQuery) {
+        LambdaQueryWrapper<RsTrafficPropaganda> lqw = buildQueryWrapper(bo);
+        Page<RsTrafficPropagandaVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
+    }
+
+    /**
+     * 鏌ヨ浜ら�氬浼犲垪琛�
+     */
+    @Override
+    public List<RsTrafficPropagandaVo> queryList(RsTrafficPropagandaBo bo) {
+        LambdaQueryWrapper<RsTrafficPropaganda> lqw = buildQueryWrapper(bo);
+        return baseMapper.selectVoList(lqw);
+    }
+
+    private LambdaQueryWrapper<RsTrafficPropaganda> buildQueryWrapper(RsTrafficPropagandaBo bo) {
+        Map<String, Object> params = bo.getParams();
+        LambdaQueryWrapper<RsTrafficPropaganda> lqw = Wrappers.lambdaQuery();
+        lqw.like(StringUtils.isNotBlank(bo.getTitle()), RsTrafficPropaganda::getTitle, bo.getTitle());
+        lqw.eq(bo.getSequence() != null, RsTrafficPropaganda::getSequence, bo.getSequence());
+        lqw.eq(bo.getStatus() != null, RsTrafficPropaganda::getStatus, bo.getStatus());
+        lqw.orderByAsc(RsTrafficPropaganda::getSequence);
+        return lqw;
+    }
+
+    /**
+     * 鏂板浜ら�氬浼�
+     */
+    @Override
+    public Boolean insertByBo(RsTrafficPropagandaBo bo) {
+        RsTrafficPropaganda add = MapstructUtils.convert(bo, RsTrafficPropaganda.class);
+        validEntityBeforeSave(add);
+        boolean flag = baseMapper.insert(add) > 0;
+        if (flag) {
+            bo.setId(add.getId());
+            // 淇敼澶т簬褰撳墠椤哄簭鐨勬暟鎹竴娆�+1
+            // baseMapper.addSequence(bo.getSequence(), bo.getId());
+        }
+        return flag;
+    }
+
+    /**
+     * 淇敼浜ら�氬浼�
+     */
+    @Override
+    public Boolean updateByBo(RsTrafficPropagandaBo bo) {
+        RsTrafficPropaganda update = MapstructUtils.convert(bo, RsTrafficPropaganda.class);
+        validEntityBeforeSave(update);
+        return baseMapper.updateById(update) > 0;
+    }
+
+    /**
+     * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
+     */
+    private void validEntityBeforeSave(RsTrafficPropaganda 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/resources/mapper/demo/RsTrafficPropagandaMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml
new file mode 100644
index 0000000..6203eb7
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficPropagandaMapper.xml
@@ -0,0 +1,11 @@
+<?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.RsTrafficPropagandaMapper">
+
+    <update id="addSequence">
+        update rs_traffic_propaganda set sequence = sequence + 1 where sequence >= #{sequence} and id != #{id}
+    </update>
+
+</mapper>

--
Gitblit v1.8.0