From dbe2fda2dbf7e44be430791cb9b323c42c674738 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期二, 12 三月 2024 15:21:18 +0800
Subject: [PATCH] 文件上传存表

---
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficPropagandaBo.java             |    2 
 dujy-modules/dujy-system/src/main/java/org/dromara/system/mapper/SysOssMapper.java                     |    1 
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsTrafficIndexService.java              |   18 +++-
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java                 |    3 
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsTrafficIndexController.java         |   47 +++++++----
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficPropagandaServiceImpl.java |   13 +++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java             |    3 
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerInfoBo.java                    |   31 ++++---
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficAccidentBo.java               |    2 
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java      |   35 ++++++--
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficAccidentServiceImpl.java   |   13 +++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java        |   12 ++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficAccidentVo.java               |    4 +
 dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml                         |   10 ++
 dujy-modules/dujy-system/src/main/resources/mapper/system/SysOssMapper.xml                             |    3 
 15 files changed, 147 insertions(+), 50 deletions(-)

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
index 6976022..1e60a8d 100644
--- 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
@@ -1,27 +1,29 @@
 package org.dromara.demo.controller;
 
-import java.util.List;
-import java.util.Map;
-
-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 jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
 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.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.demo.domain.bo.RsTrafficIndexBo;
+import org.dromara.demo.domain.vo.RsTrafficIndexVo;
+import org.dromara.demo.service.IRsTrafficIndexService;
+import org.dromara.system.domain.SysOss;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * 浜ら�氭寚鏁�
@@ -51,7 +53,7 @@
      */
     @SaCheckPermission("rs:trafficIndex:list")
     @GetMapping("/icon")
-    public List<Map<String, String>> icon() {
+    public List<SysOss> icon() {
         return rsTrafficIndexService.icon();
     }
 
@@ -112,4 +114,15 @@
                           @PathVariable Long[] ids) {
         return toAjax(rsTrafficIndexService.deleteWithValidByIds(List.of(ids), true));
     }
+
+    /**
+     * 涓婁紶鍥炬爣
+     * @param list 鍥炬爣
+     * @return 缁撴灉
+     */
+    @PostMapping("/uploadIcon")
+    public R<String> uploadIcon(@RequestBody List<SysOss> list) {
+        return rsTrafficIndexService.uploadIcon(list);
+    }
+
 }
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerInfoBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerInfoBo.java
index aff7aba..3c1f30e 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerInfoBo.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerInfoBo.java
@@ -1,15 +1,18 @@
 package org.dromara.demo.domain.bo;
 
-import org.dromara.demo.domain.RsDangerInfo;
-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 jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import jakarta.validation.constraints.*;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.demo.domain.RsDangerInfo;
+import org.dromara.system.domain.SysOss;
 
-import java.util.Date;
+import java.util.List;
 
 /**
  * 瀹夊叏闅愭偅淇℃伅涓氬姟瀵硅薄 rs_danger_info
@@ -25,42 +28,44 @@
     /**
      * 缂栧彿
      */
-    @NotNull(message = "缂栧彿涓嶈兘涓虹┖", groups = { EditGroup.class })
+    @NotNull(message = "缂栧彿涓嶈兘涓虹┖", groups = {EditGroup.class})
     private Long id;
 
     /**
      * 閫氭姤鏃堕棿
      */
-    @NotBlank(message = "閫氭姤鏃堕棿涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+    @NotBlank(message = "閫氭姤鏃堕棿涓嶈兘涓虹┖", groups = {AddGroup.class, EditGroup.class})
     private String notificationTime;
 
     /**
      * 闅愭偅绫诲瀷
      */
-    @Size(min = 1, max = 15, message = "闅愭偅绫诲瀷涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+    @Size(min = 1, max = 15, message = "闅愭偅绫诲瀷涓嶈兘涓虹┖", groups = {AddGroup.class, EditGroup.class})
     private String dangerType;
 
     /**
      * 璐d换鍗曚綅
      */
-    @Size(min = 1, max = 15, message = "璐d换鍗曚綅涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+    @Size(min = 1, max = 15, message = "璐d换鍗曚綅涓嶈兘涓虹┖", groups = {AddGroup.class, EditGroup.class})
     private String accountabilityUnit;
 
     /**
      * 鏁存敼鏃堕檺
      */
-    @NotBlank(message = "鏁存敼鏃堕檺涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+    @NotBlank(message = "鏁存敼鏃堕檺涓嶈兘涓虹┖", groups = {AddGroup.class, EditGroup.class})
     private String rectificationTimeLimit;
 
     /**
      * 瀹屾垚鎯呭喌
      */
-    @Size(min = 1, max = 15, message = "瀹屾垚鎯呭喌涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
+    @Size(min = 1, max = 15, message = "瀹屾垚鎯呭喌涓嶈兘涓虹┖", groups = {AddGroup.class, EditGroup.class})
     private String performance;
 
     /**
      * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
      */
-    @NotNull(message = "鍚敤鐘舵�佷笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
+    @NotNull(message = "鍚敤鐘舵�佷笉鑳戒负绌�", groups = {AddGroup.class, EditGroup.class})
     private Long status;
+
+    private List<SysOss> imgList;
 }
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficAccidentBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficAccidentBo.java
index 9e204c8..49754ea 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficAccidentBo.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsTrafficAccidentBo.java
@@ -8,6 +8,7 @@
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import jakarta.validation.constraints.*;
+import org.dromara.system.domain.SysOss;
 
 /**
  * 浜ら�氫簨鏁呬笟鍔″璞� rs_traffic_accident
@@ -44,5 +45,6 @@
     @NotNull(message = "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢ㄤ笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
     private Long status;
 
+    private SysOss sysOss;
 
 }
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
index 63d12e2..ef6ed69 100644
--- 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
@@ -8,6 +8,7 @@
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import jakarta.validation.constraints.*;
+import org.dromara.system.domain.SysOss;
 
 /**
  * 浜ら�氬浼犱笟鍔″璞� rs_traffic_propaganda
@@ -44,5 +45,6 @@
     @NotNull(message = "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢ㄤ笉鑳戒负绌�", groups = { AddGroup.class, EditGroup.class })
     private Long status;
 
+    private SysOss sysOss;
 
 }
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficAccidentVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficAccidentVo.java
index ee3b8ee..9b0aeea 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficAccidentVo.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficAccidentVo.java
@@ -7,6 +7,7 @@
 import org.dromara.common.excel.convert.ExcelDictConvert;
 import io.github.linpeilie.annotations.AutoMapper;
 import lombok.Data;
+import org.dromara.system.domain.vo.SysOssVo;
 
 import java.io.Serial;
 import java.io.Serializable;
@@ -58,5 +59,8 @@
     @ExcelProperty(value = "鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�")
     private Long status;
 
+    private String url;
+
+    private SysOssVo sysOssVo;
 
 }
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java
index a243221..2686470 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsTrafficPropagandaVo.java
@@ -7,6 +7,7 @@
 import org.dromara.common.excel.convert.ExcelDictConvert;
 import io.github.linpeilie.annotations.AutoMapper;
 import lombok.Data;
+import org.dromara.system.domain.vo.SysOssVo;
 
 import java.io.Serial;
 import java.io.Serializable;
@@ -60,4 +61,6 @@
 
     private String url;
 
+    private SysOssVo sysOssVo;
+
 }
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java
index 92de508..89302ce 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsTrafficIndexMapper.java
@@ -3,6 +3,7 @@
 import org.dromara.demo.domain.RsTrafficIndex;
 import org.dromara.demo.domain.vo.RsTrafficIndexVo;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.system.domain.SysOss;
 
 import java.util.List;
 import java.util.Map;
@@ -19,7 +20,7 @@
      * 鑾峰彇鍥炬爣閰嶇疆
      * @return 鍥炬爣
      */
-    List<Map<String, String>> icon();
+    List<SysOss> icon();
 
     /**
      * 杩�3骞翠氦閫氫簨鏁呮寚鏁�
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
index 1443cf8..4d6630a 100644
--- 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
@@ -1,10 +1,11 @@
 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.core.domain.R;
 import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.demo.domain.bo.RsTrafficIndexBo;
+import org.dromara.demo.domain.vo.RsTrafficIndexVo;
+import org.dromara.system.domain.SysOss;
 
 import java.util.Collection;
 import java.util.List;
@@ -52,5 +53,12 @@
      * 浜ら�氭寚鏁板浘鏍�
      * @return 鍥炬爣
      */
-    List<Map<String, String>> icon();
+    List<SysOss> icon();
+
+    /**
+     * 涓婁紶鍥炬爣
+     * @param list 鍥炬爣
+     * @return 缁撴灉
+     */
+    R<String> uploadIcon(List<SysOss> list);
 }
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 fdcbcb8..b36b02a 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
@@ -8,6 +8,9 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
+import org.dromara.common.tenant.core.TenantEntity;
+import org.dromara.system.domain.SysOss;
+import org.dromara.system.mapper.SysOssMapper;
 import org.springframework.stereotype.Service;
 import org.dromara.demo.domain.bo.RsDangerInfoBo;
 import org.dromara.demo.domain.vo.RsDangerInfoVo;
@@ -32,13 +35,16 @@
 public class RsDangerInfoServiceImpl implements IRsDangerInfoService {
 
     private final RsDangerInfoMapper baseMapper;
+    private final SysOssMapper sysOssMapper;
 
     /**
      * 鏌ヨ瀹夊叏闅愭偅淇℃伅
      */
     @Override
     public RsDangerInfoVo queryById(Long id){
-        return baseMapper.selectVoById(id);
+        RsDangerInfoVo rsDangerInfoVo = baseMapper.selectVoById(id);
+        rsDangerInfoVo.setImgList(sysOssMapper.selectVoList(new LambdaQueryWrapper<SysOss>().eq(TenantEntity::getTenantId, rsDangerInfoVo.getId())));
+        return rsDangerInfoVo;
     }
 
     /**
@@ -84,6 +90,8 @@
         if (flag) {
             bo.setId(add.getId());
         }
+        sysOssMapper.deleteByTenantId(bo.getId().toString());
+        sysOssMapper.insertBatch(bo.getImgList());
         return flag;
     }
 
@@ -93,6 +101,8 @@
     @Override
     public Boolean updateByBo(RsDangerInfoBo bo) {
         RsDangerInfo update = MapstructUtils.convert(bo, RsDangerInfo.class);
+        sysOssMapper.deleteByTenantId(bo.getId().toString());
+        sysOssMapper.insertBatch(bo.getImgList());
         return baseMapper.updateById(update) > 0;
     }
 
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficAccidentServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficAccidentServiceImpl.java
index c107792..98c65ee 100644
--- a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficAccidentServiceImpl.java
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficAccidentServiceImpl.java
@@ -8,11 +8,15 @@
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.tenant.core.TenantEntity;
 import org.dromara.demo.domain.RsTrafficAccident;
 import org.dromara.demo.domain.bo.RsTrafficAccidentBo;
 import org.dromara.demo.domain.vo.RsTrafficAccidentVo;
 import org.dromara.demo.mapper.RsTrafficAccidentMapper;
 import org.dromara.demo.service.IRsTrafficAccidentService;
+import org.dromara.system.domain.SysOss;
+import org.dromara.system.domain.vo.SysOssVo;
+import org.dromara.system.mapper.SysOssMapper;
 import org.springframework.stereotype.Service;
 
 import java.util.Collection;
@@ -31,13 +35,16 @@
 public class RsTrafficAccidentServiceImpl implements IRsTrafficAccidentService {
 
     private final RsTrafficAccidentMapper baseMapper;
+    private final SysOssMapper sysOssMapper;
 
     /**
      * 鏌ヨ浜ら�氫簨鏁�
      */
     @Override
     public RsTrafficAccidentVo queryById(String id) {
-        return baseMapper.selectVoById(id);
+        RsTrafficAccidentVo rsTrafficAccidentVo = baseMapper.selectVoById(id);
+        rsTrafficAccidentVo.setSysOssVo(sysOssMapper.selectVoOne(new LambdaQueryWrapper<SysOss>().eq(TenantEntity::getTenantId, rsTrafficAccidentVo.getId())));
+        return rsTrafficAccidentVo;
     }
 
     /**
@@ -79,6 +86,8 @@
         if (flag) {
             bo.setId(add.getId());
         }
+        sysOssMapper.deleteByTenantId(bo.getId());
+        sysOssMapper.insert(bo.getSysOss());
         return flag;
     }
 
@@ -88,6 +97,8 @@
     @Override
     public Boolean updateByBo(RsTrafficAccidentBo bo) {
         RsTrafficAccident update = MapstructUtils.convert(bo, RsTrafficAccident.class);
+        sysOssMapper.deleteByTenantId(bo.getId());
+        sysOssMapper.insert(bo.getSysOss());
         return baseMapper.updateById(update) > 0;
     }
 
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsTrafficIndexServiceImpl.java
index ee7123a..9f3b116 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
@@ -1,25 +1,29 @@
 package org.dromara.demo.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
 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.common.mybatis.core.page.TableDataInfo;
+import org.dromara.demo.domain.RsTrafficIndex;
 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 org.dromara.system.domain.SysOss;
+import org.dromara.system.mapper.SysOssMapper;
+import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
+import java.util.stream.Collectors;
 
 /**
  * 浜ら�氭寚鏁癝ervice涓氬姟灞傚鐞�
@@ -32,6 +36,7 @@
 public class RsTrafficIndexServiceImpl implements IRsTrafficIndexService {
 
     private final RsTrafficIndexMapper baseMapper;
+    private final SysOssMapper sysOssMapper;
 
     /**
      * 鏌ヨ浜ら�氭寚鏁�
@@ -144,7 +149,19 @@
     }
 
     @Override
-    public List<Map<String, String>> icon() {
+    public List<SysOss> icon() {
         return baseMapper.icon();
     }
+
+    @Override
+    public R<String> uploadIcon(List<SysOss> list) {
+        for (SysOss sysOss : list) {
+            if (sysOss.getUrl() != null) {
+                sysOssMapper.insertOrUpdate(sysOss);
+            } else {
+                sysOssMapper.deleteByTenantId(sysOss.getTenantId());
+            }
+        }
+        return  R.ok();
+    }
 }
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
index 9ae6fcf..add9d61 100644
--- 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
@@ -8,6 +8,10 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
+import org.dromara.common.tenant.core.TenantEntity;
+import org.dromara.system.domain.SysOss;
+import org.dromara.system.domain.vo.SysOssVo;
+import org.dromara.system.mapper.SysOssMapper;
 import org.springframework.stereotype.Service;
 import org.dromara.demo.domain.bo.RsTrafficPropagandaBo;
 import org.dromara.demo.domain.vo.RsTrafficPropagandaVo;
@@ -31,13 +35,16 @@
 public class RsTrafficPropagandaServiceImpl implements IRsTrafficPropagandaService {
 
     private final RsTrafficPropagandaMapper baseMapper;
+    private final SysOssMapper sysOssMapper;
 
     /**
      * 鏌ヨ浜ら�氬浼�
      */
     @Override
     public RsTrafficPropagandaVo queryById(String id){
-        return baseMapper.selectVoById(id);
+        RsTrafficPropagandaVo rsTrafficPropagandaVo = baseMapper.selectVoById(id);
+        rsTrafficPropagandaVo.setSysOssVo(sysOssMapper.selectVoOne(new LambdaQueryWrapper<SysOss>().eq(TenantEntity::getTenantId, rsTrafficPropagandaVo.getId())));
+        return rsTrafficPropagandaVo;
     }
 
     /**
@@ -82,6 +89,8 @@
             // 淇敼澶т簬褰撳墠椤哄簭鐨勬暟鎹竴娆�+1
             // baseMapper.addSequence(bo.getSequence(), bo.getId());
         }
+        sysOssMapper.deleteByTenantId(bo.getId());
+        sysOssMapper.insert(bo.getSysOss());
         return flag;
     }
 
@@ -91,6 +100,8 @@
     @Override
     public Boolean updateByBo(RsTrafficPropagandaBo bo) {
         RsTrafficPropaganda update = MapstructUtils.convert(bo, RsTrafficPropaganda.class);
+        sysOssMapper.deleteByTenantId(bo.getId());
+        sysOssMapper.insert(bo.getSysOss());
         return baseMapper.updateById(update) > 0;
     }
 
diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml
index e0d3b36..2d9b2c1 100644
--- a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsTrafficIndexMapper.xml
@@ -4,8 +4,14 @@
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.dromara.demo.mapper.RsTrafficIndexMapper">
 
-    <select id="icon" resultType="java.util.Map">
-        select * from rs_target_icon order by id
+    <select id="icon" resultType="org.dromara.system.domain.SysOss">
+        SELECT
+            b.*
+        FROM
+            rs_target_icon a
+                LEFT JOIN sys_oss b ON a.id = b.tenant_id
+        ORDER BY
+            tenant_id
     </select>
 
     <select id="getTrafficIndex" resultType="org.dromara.demo.domain.vo.RsTrafficIndexVo">
diff --git a/dujy-modules/dujy-system/src/main/java/org/dromara/system/mapper/SysOssMapper.java b/dujy-modules/dujy-system/src/main/java/org/dromara/system/mapper/SysOssMapper.java
index 3da621d..5c5bed8 100644
--- a/dujy-modules/dujy-system/src/main/java/org/dromara/system/mapper/SysOssMapper.java
+++ b/dujy-modules/dujy-system/src/main/java/org/dromara/system/mapper/SysOssMapper.java
@@ -10,4 +10,5 @@
  * @author Lion Li
  */
 public interface SysOssMapper extends BaseMapperPlus<SysOss, SysOssVo> {
+    void deleteByTenantId(String tenantId);
 }
diff --git a/dujy-modules/dujy-system/src/main/resources/mapper/system/SysOssMapper.xml b/dujy-modules/dujy-system/src/main/resources/mapper/system/SysOssMapper.xml
index d9b25bd..bf8af3e 100644
--- a/dujy-modules/dujy-system/src/main/resources/mapper/system/SysOssMapper.xml
+++ b/dujy-modules/dujy-system/src/main/resources/mapper/system/SysOssMapper.xml
@@ -2,4 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.dromara.system.mapper.SysOssMapper">
 
+    <delete id="deleteByTenantId">
+        delete from sys_oss where tenant_id = #{tenantId}
+    </delete>
 </mapper>

--
Gitblit v1.8.0