diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/ArchivesController.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/ArchivesController.java index bf6ba83f..2753541b 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/ArchivesController.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/ArchivesController.java @@ -1,12 +1,18 @@ package cn.iocoder.yudao.module.archives.controller.admin; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.archives.entity.Archives; import cn.iocoder.yudao.module.archives.service.ArchivesService; +import cn.iocoder.yudao.module.archives.vo.ArchivesReqVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + /** * 档案表 控制层 * @author 小李 @@ -19,4 +25,47 @@ public class ArchivesController { @Resource private ArchivesService archivesService; + + /** + * 新增或修改 档案表 + * @author 小李 + * @date 10:42 2024/8/29 + * @param archivesReqVO 请求对象 + **/ + @PostMapping("/update") + @Operation(summary = "新增/修改企业管理-档案表") + public CommonResult updateArchives(@RequestBody ArchivesReqVO archivesReqVO){ + archivesService.updateArchives(archivesReqVO); + return CommonResult.ok(); + } + + /** + * 分页查询 档案表 + * @author 小李 + * @date 11:08 2024/8/29 + * @param archivesReqVO 查询条件 + * @param pageNo 页码 + * @param pageSize 条数 + **/ + @GetMapping("/list") + @Operation(summary = "分页查企业管理-档案表") + public CommonResult queryArchivesPage(ArchivesReqVO archivesReqVO, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize){ + Page page = new Page<>(pageNo, pageSize); + return success(archivesService.queryArchivesPage(archivesReqVO, page)); + } + + /** + * 删除 档案表 + * @author 小李 + * @date 14:14 2024/8/29 + * @param id 记录ID + **/ + @DeleteMapping("/remove/{id}") + @Operation(summary = "删除企业管理-档案表") + public CommonResult removeArchivesById(@PathVariable String id){ + archivesService.removeArchivesById(id); + return CommonResult.ok(); + } } diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/entity/Archives.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/entity/Archives.java index cd8e0630..6cb696d7 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/entity/Archives.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/entity/Archives.java @@ -74,4 +74,7 @@ public class Archives extends TenantBaseDO { * 部门id(system_dept表中的id) */ private Long deptId; + + /** 备注 */ + private String remark; } \ No newline at end of file diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/entity/ArchivesRole.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/entity/ArchivesRole.java index df621ebf..d12bd3c3 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/entity/ArchivesRole.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/entity/ArchivesRole.java @@ -53,6 +53,11 @@ public class ArchivesRole extends TenantBaseDO { */ private String deleteRoleIds; + /** + * 角色ID(system_role的ID,用于分辨用户是否有权限下载) + */ + private String downloadRoleIds; + /** * 部门id */ @@ -73,4 +78,8 @@ public class ArchivesRole extends TenantBaseDO { /** 用户是否可以删除档案 */ @TableField(exist = false) private Boolean isDeleted; + + /** 用户是否可以下载档案 */ + @TableField(exist = false) + private Boolean isDownload; } \ No newline at end of file diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/mapper/ArchivesMapper.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/mapper/ArchivesMapper.java index 429874a0..eaeb426f 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/mapper/ArchivesMapper.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/mapper/ArchivesMapper.java @@ -1,8 +1,12 @@ package cn.iocoder.yudao.module.archives.mapper; import cn.iocoder.yudao.module.archives.entity.Archives; +import cn.iocoder.yudao.module.archives.vo.ArchivesReqVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 针对表【company_archives(档案表)】的数据库操作Mapper @@ -11,4 +15,6 @@ import org.apache.ibatis.annotations.Mapper; **/ @Mapper public interface ArchivesMapper extends BaseMapper { + + IPage queryArchivesPage(@Param("map") ArchivesReqVO archivesReqVO, Page page); } diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/ArchivesService.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/ArchivesService.java index 42359c58..27e3f6d5 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/ArchivesService.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/ArchivesService.java @@ -1,6 +1,9 @@ package cn.iocoder.yudao.module.archives.service; import cn.iocoder.yudao.module.archives.entity.Archives; +import cn.iocoder.yudao.module.archives.vo.ArchivesReqVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; /** @@ -9,4 +12,28 @@ import com.baomidou.mybatisplus.extension.service.IService; * @date 20:13 2024/8/28 **/ public interface ArchivesService extends IService { + + /** + * 新增或修改 档案表 + * @author 小李 + * @date 10:42 2024/8/29 + * @param archivesReqVO 请求对象 + **/ + void updateArchives(ArchivesReqVO archivesReqVO); + + /** + * 分页查询 档案表 + * @author 小李 + * @date 11:08 2024/8/29 + * @param archivesReqVO 查询条件 + **/ + IPage queryArchivesPage(ArchivesReqVO archivesReqVO, Page page); + + /** + * 删除 档案表 + * @author 小李 + * @date 14:14 2024/8/29 + * @param id 记录ID + **/ + void removeArchivesById(String id); } diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/impl/ArchivesRoleServiceImpl.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/impl/ArchivesRoleServiceImpl.java index f7a8771a..16c18d3c 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/impl/ArchivesRoleServiceImpl.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/impl/ArchivesRoleServiceImpl.java @@ -146,6 +146,8 @@ public class ArchivesRoleServiceImpl extends ServiceImpl implements ArchivesService { + + /** + * 新增或修改 档案表 + * @author 小李 + * @date 10:42 2024/8/29 + * @param archivesReqVO 请求对象 + **/ + @Override + public void updateArchives(ArchivesReqVO archivesReqVO){ + // 新增 + if (ObjectUtil.isEmpty(archivesReqVO.getId())){ + // 判断档案名是否重复 + List archives = baseMapper.selectList(new LambdaQueryWrapper().eq(Archives::getArchivesCode, archivesReqVO.getArchivesCode())); + if (CollectionUtil.isNotEmpty(archives)){ + throw exception0(500, "档案名重复"); + } + baseMapper.insert(archivesReqVO); + return; + } + + // 修改 + // 判断档案名是否合法 + // 如果有,判断id是否一致,不一致就是重复,其他情况皆可执行 + List archives = baseMapper.selectList(new LambdaQueryWrapper().eq(Archives::getArchivesCode, archivesReqVO.getArchivesCode())); + // 用&&短路的特性去判断,少写点代码 + // get 0有些不合理,理论上讲是不会有多条的,概率小,改一下名字就行 + Boolean flag = CollectionUtil.isNotEmpty(archives) && !archives.get(0).getId().equals(archivesReqVO.getId()); + if (flag){ + throw exception0(500, "档案名重复"); + } + baseMapper.updateById(archivesReqVO); + } + + /** + * 分页查询 档案表 + * @author 小李 + * @date 11:08 2024/8/29 + * @param archivesReqVO 查询条件 + **/ + @Override + public IPage queryArchivesPage(ArchivesReqVO archivesReqVO, Page page){ + return baseMapper.queryArchivesPage(archivesReqVO, page); + } + + /** + * 删除 档案表 + * @author 小李 + * @date 14:14 2024/8/29 + * @param id 记录ID + **/ + @Override + public void removeArchivesById(String id){ + baseMapper.deleteById(id); + } } diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/vo/ArchivesReqVO.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/vo/ArchivesReqVO.java index 720ff13e..3686089b 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/vo/ArchivesReqVO.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/vo/ArchivesReqVO.java @@ -1,7 +1,13 @@ package cn.iocoder.yudao.module.archives.vo; import cn.iocoder.yudao.module.archives.entity.Archives; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; /** * 档案表 请求VO @@ -10,4 +16,8 @@ import lombok.Data; **/ @Data public class ArchivesReqVO extends Archives { + + @Schema(description = "合同日期查询范围") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private Date[] queryDateArray; } diff --git a/dl-module-company/src/main/resources/mapper/archives/ArchivesMapper.xml b/dl-module-company/src/main/resources/mapper/archives/ArchivesMapper.xml index 9ade9950..961b5cd9 100644 --- a/dl-module-company/src/main/resources/mapper/archives/ArchivesMapper.xml +++ b/dl-module-company/src/main/resources/mapper/archives/ArchivesMapper.xml @@ -15,14 +15,34 @@ + - id,data_id,archives_name, - archives_type,archives_physics_url,archives_urls, - archives_code,sign_time,expire_time, - dept_id,tenant_id,deleted, - creator,create_time,updater, - update_time + select id, + data_id, + archives_name, + archives_type, + archives_physics_url, + archives_urls, + archives_code, + sign_time, + expire_time, + dept_id, + remark + from company_archives ca + where deleted = '0' + + \ No newline at end of file diff --git a/dl-module-company/src/main/resources/mapper/archives/ArchivesRoleMapper.xml b/dl-module-company/src/main/resources/mapper/archives/ArchivesRoleMapper.xml index a294f7b0..8b84230c 100644 --- a/dl-module-company/src/main/resources/mapper/archives/ArchivesRoleMapper.xml +++ b/dl-module-company/src/main/resources/mapper/archives/ArchivesRoleMapper.xml @@ -8,10 +8,12 @@ - - - - + + + + + + diff --git a/dl-module-jx/src/main/resources/mapper/jx/LJRegionMapper.xml b/dl-module-jx/src/main/resources/mapper/jx/LJRegionMapper.xml index defec046..bd05d2b5 100644 --- a/dl-module-jx/src/main/resources/mapper/jx/LJRegionMapper.xml +++ b/dl-module-jx/src/main/resources/mapper/jx/LJRegionMapper.xml @@ -5,6 +5,6 @@ diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/appBase/controller/admin/SysAnnouncementController.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/appBase/controller/admin/SysAnnouncementController.java index 6d8c6633..d9cd8ae2 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/appBase/controller/admin/SysAnnouncementController.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/appBase/controller/admin/SysAnnouncementController.java @@ -38,7 +38,7 @@ public class SysAnnouncementController extends BaseController /** * 查询系统通知列表 */ - @PreAuthorize("@ss.hasPermi('announcement:announcement:list')") + @PreAuthorize("@ss.hasPermission('announcement:announcement:list')") @GetMapping("/list") public CommonResult list(SysAnnouncement sysAnnouncement) { @@ -50,7 +50,7 @@ public class SysAnnouncementController extends BaseController /** * 导出系统通知列表 */ - @PreAuthorize("@ss.hasPermi('announcement:announcement:export')") + @PreAuthorize("@ss.hasPermission('announcement:announcement:export')") @PostMapping("/export") public void export(HttpServletResponse response, SysAnnouncement sysAnnouncement) { @@ -62,7 +62,7 @@ public class SysAnnouncementController extends BaseController /** * 获取系统通知详细信息 */ - @PreAuthorize("@ss.hasPermi('announcement:announcement:query')") + @PreAuthorize("@ss.hasPermission('announcement:announcement:query')") @GetMapping(value = "/{id}") public CommonResult getInfo(@PathVariable("id") Long id) { @@ -72,7 +72,7 @@ public class SysAnnouncementController extends BaseController /** * 新增系统通知 */ - @PreAuthorize("@ss.hasPermi('announcement:announcement:add')") + @PreAuthorize("@ss.hasPermission('announcement:announcement:add')") @PostMapping public CommonResult add(@RequestBody SysAnnouncement sysAnnouncement) { @@ -82,7 +82,7 @@ public class SysAnnouncementController extends BaseController /** * 修改系统通知 */ - @PreAuthorize("@ss.hasPermi('announcement:announcement:edit')") + @PreAuthorize("@ss.hasPermission('announcement:announcement:edit')") @PutMapping public CommonResult edit(@RequestBody SysAnnouncement sysAnnouncement) { @@ -92,7 +92,7 @@ public class SysAnnouncementController extends BaseController /** * 删除系统通知 */ - @PreAuthorize("@ss.hasPermi('announcement:announcement:remove')") + @PreAuthorize("@ss.hasPermission('announcement:announcement:remove')") @DeleteMapping("/{ids}") public CommonResult remove(@PathVariable Long[] ids) { diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/app/controller/admin/RescueInfoController.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/app/controller/admin/RescueInfoController.java index 62d45c73..2330b97d 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/app/controller/admin/RescueInfoController.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/app/controller/admin/RescueInfoController.java @@ -155,10 +155,9 @@ public class RescueInfoController extends BaseController { * 查询【请填写功能名称】列表 */ @GetMapping("/driverList") - public TableDataInfo driverList(DriverInfoDto driverInfoDto) { - startPage(); + public CommonResult driverList(DriverInfoDto driverInfoDto) { List list = rescueInfoService.driverListApp(driverInfoDto); - return getDataTable(list); + return success(list); } /** diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/app/controller/admin/UserAnnouncementSocket.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/app/controller/admin/UserAnnouncementSocket.java index a2b5bc32..84a9ac98 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/app/controller/admin/UserAnnouncementSocket.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/app/controller/admin/UserAnnouncementSocket.java @@ -12,7 +12,9 @@ import java.io.IOException; import java.util.concurrent.ConcurrentHashMap; -/**`1 +/** + * `1 + * * @Author: chuxia0811 * @Date: 2023/7/9 10:21 * @Description : @@ -25,9 +27,11 @@ public class UserAnnouncementSocket { public static ConcurrentHashMap sessionMap = new ConcurrentHashMap<>(); //关键代码,设置一个静态上下文属性appcontext private static ApplicationContext appcontext; + public static void setAppcontext(ApplicationContext appcontext) { UserAnnouncementSocket.appcontext = appcontext; } + public static ApplicationContext getAppcontext() { return appcontext; } @@ -36,12 +40,13 @@ public class UserAnnouncementSocket { /** * 创建连接 * 用于监听建立连接,当有客户端与该服务端点建立连接时,将会自回调该注解标注的方法 + * * @param session * @param userId */ @OnOpen public void onOpen(Session session, @PathParam(value = "userId") String userId) { - this.sessionMap.put(userId,session); + this.sessionMap.put(userId, session); log.info("用户{}已创建连接", userId); } @@ -49,26 +54,28 @@ public class UserAnnouncementSocket { /** * 用于监听客户端向服务端发送消息,当客户端与服务端发送消息时,将会回调该注解标注的方法 * { - * Stringitude:124.11, - * latitude:125.33, - * positionInfo:"山东省济南市市中区八一立交桥" + * Stringitude:124.11, + * latitude:125.33, + * positionInfo:"山东省济南市市中区八一立交桥" * } + * * @param msg * @param userId */ @OnMessage - public void onMessage(String msg,@PathParam(value = "userId") String userId){ - System.out.println("消息通知+"+userId); + public void onMessage(String msg, @PathParam(value = "userId") String userId) { + System.out.println("消息通知+" + userId); } /** * 用于监听连接关闭,当客户端与该服务端点断开连接时,将会回调该注解标注的方法 + * * @param session * @param userId */ @OnClose - public void onClose(Session session,@PathParam(value = "userId") String userId){ + public void onClose(Session session, @PathParam(value = "userId") String userId) { this.sessionMap.remove(userId); } @@ -76,24 +83,24 @@ public class UserAnnouncementSocket { /** * 用于监听该连接上的任何错误,当客户端与该服务端点的连接发生任何异常,都将回调该注解标注的方法 * 注意该方法的参数必选Throwable,可选Sessiion以及0-n个String参数,且String参数需要使用@PathParam注解标注 + * * @param throwable * @param driverId */ @OnError - public void onError(Throwable throwable,@PathParam(value = "driverId") String driverId){ + public void onError(Throwable throwable, @PathParam(value = "driverId") String driverId) { log.error("用户{}连接发生异常", driverId); } /** * 发送给指定的用户 + * * @param message */ public void sendMessage(String message, String userId) throws IOException { - if (sessionMap.containsKey(userId)){ + if (sessionMap.containsKey(userId)) { Session session = sessionMap.get(userId); session.getAsyncRemote().sendText(message); } } - - } diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueInfo.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueInfo.java index e6723f26..ff3d97f3 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueInfo.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/domain/RescueInfo.java @@ -51,7 +51,7 @@ public class RescueInfo extends TenantBaseDO private String isAppointment; /** 救援时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone="GMT+8") @Excel(name = "救援时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm") private Date rescueTime; @@ -149,7 +149,7 @@ public class RescueInfo extends TenantBaseDO @Excel(name = "实付金额") private Double payMoneyYuan; @TableField(exist = false) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone="GMT+8") @Excel(name = "收款时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm") private Date payTime; @TableField(exist = false) diff --git a/yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/config/YudaoWebSecurityConfigurerAdapter.java b/yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/config/YudaoWebSecurityConfigurerAdapter.java index 0c7c60e3..658ae02d 100644 --- a/yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/config/YudaoWebSecurityConfigurerAdapter.java +++ b/yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/config/YudaoWebSecurityConfigurerAdapter.java @@ -130,11 +130,13 @@ public class YudaoWebSecurityConfigurerAdapter { // 1.1 静态资源,可匿名访问 .antMatchers(HttpMethod.GET, "/*.html", "/**/*.html", "/**/*.css", "/**/*.js").permitAll() + // 登录可以匿名访问 .antMatchers(HttpMethod.POST, "/admin-api/rescue/login", "/admin-api/rescue/loginApp", "/admin-api/rescue/wxLogin", "/admin-api/system/auth/loginApp", "/admin-api/rescue/driverLogin").anonymous() + // 1.2 设置 @PermitAll 无需认证 .antMatchers(HttpMethod.GET, permitAllUrls.get(HttpMethod.GET).toArray(new String[0])).permitAll() .antMatchers(HttpMethod.POST, permitAllUrls.get(HttpMethod.POST).toArray(new String[0])).permitAll()