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); } } 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; /** * 责任单位 */ @Size(min = 1, max = 15, message = "责任单位不能为空", groups = { AddGroup.class, EditGroup.class }) @Size(min = 1, max = 15, message = "责任单位不能为空", 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; } 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; } 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; } 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; } 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; } 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年交通事故指数 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); } 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; } 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; } 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; /** * 交通指数Service业务层处理 @@ -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(); } } 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; } 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"> 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); } 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>