From 9a34a9cf54dbf86c72cacbd7dbe8bb302d6be2ea Mon Sep 17 00:00:00 2001 From: Yunfei Du <278774021@qq.com> Date: Sun, 14 Apr 2024 16:56:41 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E5=85=AC=E5=91=8A=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- muyu-auth/src/main/resources/bootstrap.yml | 8 +- muyu-gateway/src/main/resources/bootstrap.yml | 8 +- .../src/main/resources/bootstrap.yml | 8 +- .../muyu-gen/src/main/resources/bootstrap.yml | 8 +- .../muyu-job/src/main/resources/bootstrap.yml | 8 +- .../controller/AsUserDeptController.java | 112 +++++++++++++++++ .../controller/SysNoticeController.java | 7 ++ .../system/controller/SysUserController.java | 7 +- .../com/muyu/system/domain/AsUserDept.java | 39 ++++++ .../com/muyu/system/domain/SysNotice.java | 26 +++- .../system/domain/req/SysNoticeRequest.java | 20 +++ .../domain/resp/AsUserDeotNumResponse.java | 24 ++++ .../system/domain/resp/SysNoticeResponse.java | 29 +++++ .../muyu/system/mapper/AsUserDeptMapper.java | 69 ++++++++++ .../muyu/system/mapper/SysNoticeMapper.java | 8 ++ .../com/muyu/system/mapper/SysUserMapper.java | 4 + .../system/service/AsUserDeptService.java | 54 ++++++++ .../muyu/system/service/SysNoticeService.java | 5 + .../service/impl/AsUserDeptServiceImpl.java | 118 ++++++++++++++++++ .../service/impl/SysMenuServiceImpl.java | 35 +++++- .../service/impl/SysNoticeServiceImpl.java | 76 ++++++++++- .../src/main/resources/bootstrap.yml | 8 +- .../mapper/system/SysNoticeMapper.xml | 17 ++- .../mapper/system/SysUserDeptMapper.xml | 102 +++++++++++++++ .../resources/mapper/system/SysUserMapper.xml | 10 +- .../src/main/resources/bootstrap.yml | 8 +- 26 files changed, 794 insertions(+), 24 deletions(-) create mode 100644 muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/AsUserDeptController.java create mode 100644 muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/AsUserDept.java create mode 100644 muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/req/SysNoticeRequest.java create mode 100644 muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/AsUserDeotNumResponse.java create mode 100644 muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/SysNoticeResponse.java create mode 100644 muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/AsUserDeptMapper.java create mode 100644 muyu-modules/muyu-system/src/main/java/com/muyu/system/service/AsUserDeptService.java create mode 100644 muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/AsUserDeptServiceImpl.java create mode 100644 muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserDeptMapper.xml diff --git a/muyu-auth/src/main/resources/bootstrap.yml b/muyu-auth/src/main/resources/bootstrap.yml index b309a3d..5350f67 100644 --- a/muyu-auth/src/main/resources/bootstrap.yml +++ b/muyu-auth/src/main/resources/bootstrap.yml @@ -14,10 +14,14 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.102.61:8848 + # 命名空间 + namespace: muyu config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.102.61:8848 + # 命名空间 + namespace: muyu # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-gateway/src/main/resources/bootstrap.yml b/muyu-gateway/src/main/resources/bootstrap.yml index d7367b4..879677b 100644 --- a/muyu-gateway/src/main/resources/bootstrap.yml +++ b/muyu-gateway/src/main/resources/bootstrap.yml @@ -14,10 +14,14 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.102.61:8848 + # 命名空间 + namespace: muyu config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.102.61:8848 + # 命名空间 + namespace: muyu # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-file/src/main/resources/bootstrap.yml b/muyu-modules/muyu-file/src/main/resources/bootstrap.yml index 0cb85bd..ead1c6e 100644 --- a/muyu-modules/muyu-file/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-file/src/main/resources/bootstrap.yml @@ -14,10 +14,14 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.102.61:8848 + # 命名空间 + namespace: muyu config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.102.61:8848 + # 命名空间 + namespace: muyu # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml b/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml index b628931..ab128c0 100644 --- a/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml @@ -14,10 +14,14 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.102.61:8848 + # 命名空间 + namespace: muyu config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.102.61:8848 + # 命名空间 + namespace: muyu # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-job/src/main/resources/bootstrap.yml b/muyu-modules/muyu-job/src/main/resources/bootstrap.yml index 618f3e8..02b902d 100644 --- a/muyu-modules/muyu-job/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-job/src/main/resources/bootstrap.yml @@ -14,10 +14,14 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.102.61:8848 + # 命名空间 + namespace: muyu config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.102.61:8848 + # 命名空间 + namespace: muyu # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/AsUserDeptController.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/AsUserDeptController.java new file mode 100644 index 0000000..9834fee --- /dev/null +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/AsUserDeptController.java @@ -0,0 +1,112 @@ +package com.muyu.system.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.muyu.system.domain.resp.AsUserDeotNumResponse; +import com.muyu.system.service.AsUserDeptService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import com.muyu.common.log.annotation.Log; +import com.muyu.common.log.enums.BusinessType; +import com.muyu.common.security.annotation.RequiresPermissions; +import com.muyu.system.domain.AsUserDept; + +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.poi.ExcelUtil; +import com.muyu.common.core.web.page.TableDataInfo; + +/** + * 【请填写功能名称】Controller + * + * @author ruoyi + * @date 2024-04-13 + */ +@RestController +@RequestMapping("/userDept") +public class AsUserDeptController extends BaseController +{ + @Autowired + private AsUserDeptService asUserDeptService; + + /** + * 查询【请填写功能名称】列表 + */ + @RequiresPermissions("system:dept:list") + @GetMapping("/list") + public Result> list(AsUserDept asUserDept) + { + startPage(); + List list = asUserDeptService.selectAsUserDeptList(asUserDept); + return getDataTable(list); + } + + @GetMapping("/UpdateAsUserDept") + public Result list(@RequestParam("id") Long id) + { + return asUserDeptService.updateAsUserDeptRead(id); + } + + @GetMapping("/GetNum") + public Result getNum(@RequestParam("noticeId") Long noticeId) + { + return asUserDeptService.getNum(noticeId); + } + + /** + * 导出【请填写功能名称】列表 + */ + @RequiresPermissions("system:dept:export") + @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, AsUserDept asUserDept) + { + List list = asUserDeptService.selectAsUserDeptList(asUserDept); + ExcelUtil util = new ExcelUtil(AsUserDept.class); + util.exportExcel(response, list, "【请填写功能名称】数据"); + } + + /** + * 获取【请填写功能名称】详细信息 + */ + @RequiresPermissions("system:dept:query") + @GetMapping(value = "/{id}") + public Result getInfo(@PathVariable("id") Long id) + { + return success(asUserDeptService.selectAsUserDeptById(id)); + } + + /** + * 新增【请填写功能名称】 + */ + @RequiresPermissions("system:dept:add") + @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT) + @PostMapping + public Result add(@RequestBody AsUserDept asUserDept) + { + return toAjax(asUserDeptService.insertAsUserDept(asUserDept)); + } + + /** + * 修改【请填写功能名称】 + */ + @RequiresPermissions("system:dept:edit") + @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE) + @PutMapping + public Result edit(@RequestBody AsUserDept asUserDept) + { + return toAjax(asUserDeptService.updateAsUserDept(asUserDept)); + } + + /** + * 删除【请填写功能名称】 + */ + @RequiresPermissions("system:dept:remove") + @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public Result remove(@PathVariable Long[] ids) + { + return toAjax(asUserDeptService.deleteAsUserDeptByIds(ids)); + } +} diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysNoticeController.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysNoticeController.java index 9706350..153bf44 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysNoticeController.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysNoticeController.java @@ -8,6 +8,8 @@ import com.muyu.common.log.enums.BusinessType; import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.utils.SecurityUtils; import com.muyu.system.domain.SysNotice; +import com.muyu.system.domain.req.SysNoticeRequest; +import com.muyu.system.domain.resp.SysNoticeResponse; import com.muyu.system.service.SysNoticeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -37,6 +39,11 @@ public class SysNoticeController extends BaseController { return getDataTable(list); } + @PostMapping("/GetNoticeList") + public Result> getNoticeList (@RequestBody SysNoticeRequest sysNoticeRequest) { + return noticeService.getNoticeList(sysNoticeRequest); + } + /** * 根据通知公告编号获取详细信息 */ diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java index 9811a0e..72593cf 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java @@ -100,8 +100,11 @@ public class SysUserController extends BaseController { @GetMapping("/info/{username}") public Result info (@PathVariable("username") String username) { SysUser sysUser = userService.selectUserByUserName(username); - if (StringUtils.isNull(sysUser)) { - return Result.error("用户名或密码错误"); + + if (StringUtils.isNull(sysUser)&& username.contains ( "@" )) { + return Result.error("邮箱或密码错误"); + }else if (StringUtils.isNull(sysUser)){ + return Result.error ( "用户名密码错误" ); } // 角色集合 Set roles = permissionService.getRolePermission(sysUser); diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/AsUserDept.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/AsUserDept.java new file mode 100644 index 0000000..692840e --- /dev/null +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/AsUserDept.java @@ -0,0 +1,39 @@ +package com.muyu.system.domain; + +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * @ClassName AsUserDept + * @Description 描述 + * @Author Xin.Yao + * @Date 2024/4/13 12:20 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class AsUserDept extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** $column.columnComment */ + @Excel(name = "用户ID") + private Long userId; + + /** $column.columnComment */ + @Excel(name = "公告ID") + private Long noticeId; + + /** $column.columnComment */ + @Excel(name = "是否已读") + private String isRead; +} diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysNotice.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysNotice.java index 69675c1..f5557e2 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysNotice.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/SysNotice.java @@ -2,16 +2,14 @@ package com.muyu.system.domain; import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.xss.Xss; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; +import lombok.*; import lombok.experimental.SuperBuilder; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; +import java.util.List; /** * 通知公告表 sys_notice @@ -46,11 +44,31 @@ public class SysNotice extends BaseEntity { */ private String noticeContent; + /** + * 特点人员集合 + */ + @Getter + private List ids; + + /** + * 部门集合 + */ + @Getter + private List checkedDept; + /** * 公告状态(0正常 1关闭) */ private String status; + public void setIds(List< Long > ids) { + this.ids = ids; + } + + public void setCheckedDept(List< Long > checkedDept) { + this.checkedDept = checkedDept; + } + public Long getNoticeId () { return noticeId; } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/req/SysNoticeRequest.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/req/SysNoticeRequest.java new file mode 100644 index 0000000..a7ef96a --- /dev/null +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/req/SysNoticeRequest.java @@ -0,0 +1,20 @@ +package com.muyu.system.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 描述 + * @author YunFei.Du + * @date 23:13 2024/4/13 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SysNoticeRequest { + private Long noticeId; + private Long userId; + private String noticeType; + private String isRead; +} diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/AsUserDeotNumResponse.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/AsUserDeotNumResponse.java new file mode 100644 index 0000000..293f63a --- /dev/null +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/AsUserDeotNumResponse.java @@ -0,0 +1,24 @@ +package com.muyu.system.domain.resp; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * @ClassName AsUserDeotNumResponse + * @Description 描述 + * @Author YunFei.Du + * @Date 2024/4/13 23:14 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +public class AsUserDeotNumResponse { + private Long num; + private Long readNum; + private Long noReadNum; + + +} diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/SysNoticeResponse.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/SysNoticeResponse.java new file mode 100644 index 0000000..75b5bf6 --- /dev/null +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/domain/resp/SysNoticeResponse.java @@ -0,0 +1,29 @@ +package com.muyu.system.domain.resp; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; + +/** + * @ClassName SysNoticeResponse + * @Description 描述 + * @Author YunFei.Du + * @Date 2024/4/13 23:14 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class SysNoticeResponse{ + private Date createTime; + private String createBy; + private String noticeType; + private String isRead; + private String noticeTitle; + private String noticeContent; + private Long noticeId; + private Long id; +} diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/AsUserDeptMapper.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/AsUserDeptMapper.java new file mode 100644 index 0000000..18e7e4f --- /dev/null +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/AsUserDeptMapper.java @@ -0,0 +1,69 @@ +package com.muyu.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.system.domain.AsUserDept; +import com.muyu.system.domain.SysMenu; +import feign.Param; + +import java.util.List; + +/** + * @ClassName AsUserDeptMapper + * @Description 描述 + * @Author YunFei.Du + * @Date 2024/4/13 23:15 + */ +public interface AsUserDeptMapper extends BaseMapper< AsUserDept > { + /** + * 查询【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + public AsUserDept selectAsUserDeptById(Long id); + + /** + * 查询【请填写功能名称】列表 + * + * @param asUserDept 【请填写功能名称】 + * @return 【请填写功能名称】集合 + */ + public List selectAsUserDeptList(AsUserDept asUserDept); + + /** + * 新增【请填写功能名称】 + * + * @param asUserDept 【请填写功能名称】 + * @return 结果 + */ + public int insertAsUserDept(AsUserDept asUserDept); + public int insertBachAsUserDept(@Param("asUserDepts") List list); + + /** + * 修改【请填写功能名称】 + * + * @param asUserDept 【请填写功能名称】 + * @return 结果 + */ + public int updateAsUserDept(AsUserDept asUserDept); + + /** + * 删除【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 结果 + */ + public int deleteAsUserDeptById(Long id); + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteAsUserDeptByIds(Long[] ids); + + void updateAsUserDeptRead(@Param("id") Long id); + Long selectAsUserDeptNum(@Param("noticeId") Long noticeId); + Long selectAsUserDeptReadNum(@Param("noticeId") Long noticeId); +} diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysNoticeMapper.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysNoticeMapper.java index fee9930..1402b47 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysNoticeMapper.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysNoticeMapper.java @@ -2,6 +2,8 @@ package com.muyu.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.system.domain.SysNotice; +import com.muyu.system.domain.req.SysNoticeRequest; +import com.muyu.system.domain.resp.SysNoticeResponse; import java.util.List; @@ -64,4 +66,10 @@ public interface SysNoticeMapper extends BaseMapper { * @return 结果 */ public int deleteNoticeByIds (Long[] noticeIds); + + + List< SysNoticeResponse > getNoticeList(SysNoticeRequest sysNoticeRequest); + + List selectUser(); + } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java index e037b34..6fe5319 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/mapper/SysUserMapper.java @@ -39,6 +39,7 @@ public interface SysUserMapper extends BaseMapper { */ public List selectUnallocatedList (SysUser user); + /** * 通过用户名查询用户 * @@ -139,4 +140,7 @@ public interface SysUserMapper extends BaseMapper { * @return 结果 */ public SysUser checkEmailUnique (String email); + + List< Long> selectBatchUserIdByDeptIds(@Param("checkedDept") List< Long> checkedDept); + } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/AsUserDeptService.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/AsUserDeptService.java new file mode 100644 index 0000000..f8ad497 --- /dev/null +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/AsUserDeptService.java @@ -0,0 +1,54 @@ +package com.muyu.system.service; + +import com.muyu.common.core.domain.Result; +import com.muyu.system.domain.AsUserDept; +import com.muyu.system.domain.resp.AsUserDeotNumResponse; + +import java.util.List; + +/** + * @ClassName AsUserDeptService + * @Description 描述 + * @Author YunFei.Du + * @Date 2024/4/13 23:16 + */ +public interface AsUserDeptService { + /** + * @param asUserDept 【请填写功能名称】 + * @return 结果 + */ + public int insertAsUserDept(AsUserDept asUserDept); + + /** + * 修改【请填写功能名称】 + * + * @param asUserDept 【请填写功能名称】 + * @return 结果 + */ + public int updateAsUserDept(AsUserDept asUserDept); + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的【请填写功能名称】主键集合 + * @return 结果 + */ + public int deleteAsUserDeptByIds(Long[] ids); + + /** + * 删除【请填写功能名称】信息 + * + * @param id 【请填写功能名称】主键 + * @return 结果 + */ + public int deleteAsUserDeptById(Long id); + + Result updateAsUserDeptRead(Long id); + + Result< AsUserDeotNumResponse > getNum(Long noticeId); + + AsUserDept selectAsUserDeptById(Long id); + + List< AsUserDept> selectAsUserDeptList(AsUserDept asUserDept); + +} diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysNoticeService.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysNoticeService.java index a1afe02..8f3258a 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysNoticeService.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/SysNoticeService.java @@ -1,7 +1,10 @@ package com.muyu.system.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.common.core.domain.Result; import com.muyu.system.domain.SysNotice; +import com.muyu.system.domain.req.SysNoticeRequest; +import com.muyu.system.domain.resp.SysNoticeResponse; import java.util.List; @@ -64,4 +67,6 @@ public interface SysNoticeService extends IService { * @return 结果 */ public int deleteNoticeByIds (Long[] noticeIds); + + Result< List< SysNoticeResponse>> getNoticeList(SysNoticeRequest sysNoticeRequest); } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/AsUserDeptServiceImpl.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/AsUserDeptServiceImpl.java new file mode 100644 index 0000000..5690654 --- /dev/null +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/AsUserDeptServiceImpl.java @@ -0,0 +1,118 @@ +package com.muyu.system.service.impl; + +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.DateUtils; +import com.muyu.system.domain.AsUserDept; +import com.muyu.system.domain.resp.AsUserDeotNumResponse; +import com.muyu.system.mapper.AsUserDeptMapper; +import com.muyu.system.service.AsUserDeptService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * @ClassName AsUserDeptServiceImpl + * @Description 描述 + * @Author YunFei.Du + * @Date 2024/4/13 23:17 + */ +@Service +public class AsUserDeptServiceImpl implements AsUserDeptService { + @Autowired + private AsUserDeptMapper asUserDeptMapper; + + /** + * 查询【请填写功能名称】 + * + * @param id 【请填写功能名称】主键 + * @return 【请填写功能名称】 + */ + @Override + public AsUserDept selectAsUserDeptById(Long id) + { + return asUserDeptMapper.selectAsUserDeptById(id); + } + + /** + * 查询【请填写功能名称】列表 + * + * @param asUserDept 【请填写功能名称】 + * @return 【请填写功能名称】 + */ + @Override + public List selectAsUserDeptList(AsUserDept asUserDept) + { + return asUserDeptMapper.selectAsUserDeptList(asUserDept); + } + + /** + * 新增【请填写功能名称】 + * + * @param asUserDept 【请填写功能名称】 + * @return 结果 + */ + @Override + public int insertAsUserDept(AsUserDept asUserDept) + { + asUserDept.setCreateTime(DateUtils.getNowDate()); + return asUserDeptMapper.insertAsUserDept(asUserDept); + } + + /** + * 修改【请填写功能名称】 + * + * @param asUserDept 【请填写功能名称】 + * @return 结果 + */ + @Override + public int updateAsUserDept(AsUserDept asUserDept) + { + asUserDept.setUpdateTime( DateUtils.getNowDate()); + return asUserDeptMapper.updateAsUserDept(asUserDept); + } + + /** + * 批量删除【请填写功能名称】 + * + * @param ids 需要删除的【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int deleteAsUserDeptByIds(Long[] ids) + { + return asUserDeptMapper.deleteAsUserDeptByIds(ids); + } + + /** + * 删除【请填写功能名称】信息 + * + * @param id 【请填写功能名称】主键 + * @return 结果 + */ + @Override + public int deleteAsUserDeptById(Long id) + { + return asUserDeptMapper.deleteAsUserDeptById(id); + } + + @Override + @Transactional + public Result updateAsUserDeptRead(Long id) { + asUserDeptMapper.updateAsUserDeptRead(id); + return Result.success(); + } + + @Override + public Result< AsUserDeotNumResponse > getNum(Long noticeId) { + Long num = asUserDeptMapper.selectAsUserDeptNum(noticeId); + Long readNum = asUserDeptMapper.selectAsUserDeptReadNum(noticeId); + long noReadNum = num-readNum; + return Result.success(AsUserDeotNumResponse.builder() + .num(num) + .readNum(readNum) + .noReadNum(noReadNum) + .build()); + } +} diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java index e4e2ec8..2758b55 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysMenuServiceImpl.java @@ -60,16 +60,49 @@ public class SysMenuServiceImpl extends ServiceImpl impl */ @Override public List selectMenuList (SysMenu menu, Long userId) { + List allMenuList = null; List menuList = null; // 管理员显示所有菜单信息 - if (SysUser.isAdmin(userId)) { + boolean isAdmin = SysUser.isAdmin(userId); + if (isAdmin) { menuList = menuMapper.selectMenuList(menu); } else { menu.getParams().put("userId", userId); menuList = menuMapper.selectMenuListByUserId(menu); } + // 若菜单列表只有一个元素,则尝试获取其子菜单并添加到菜单列表中 + if (menuList.size ()==1) { + SysMenu sysMenu = menuList.get ( 0 ); + + this.getMeentList ( menuList, sysMenu ); + // 获取当前菜单的子菜单列表 + SysMenu newMenu = new SysMenu(); + newMenu.setParams(menu.getParams()); + allMenuList=isAdmin?menuMapper.selectMenuList(null):menuMapper.selectMenuListByUserId(newMenu); + List childList = this.getChildList(allMenuList, sysMenu); +// // 将子菜单添加到菜单列表中 + menuList.addAll ( childList ); + } return menuList; } + /** + * 获取祖节点 + * 递归遍历菜单列表,找到指定菜单的所有祖先菜单,并将它们添加到菜单列表中。 + * @param menuList 菜单列表,用于存储找到的祖先菜单。 + * @param menu 指定的菜单项,寻找它的祖先菜单。 + */ + private void getMeentList(List< SysMenu> menuList, SysMenu menu) { + // 如果当前菜单的父菜单ID不等于0(表示根菜单),则查找并添加其父菜单到菜单列表中,然后递归查找父菜单的祖先菜单 + if (!menu.getParentId ().equals ( 0L )){ + // 通过父菜单ID选择父菜单 + SysMenu sysMenu = this.selectMenuById ( menu.getParentId ( ) ); + // 将父菜单添加到菜单列表中 + menuList.add ( sysMenu ); + // 递归查找父菜单的祖先菜单 + getMeentList ( menuList,sysMenu ); + } + } + /** * 根据用户ID查询权限 diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysNoticeServiceImpl.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysNoticeServiceImpl.java index 8c0c8d5..4783866 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysNoticeServiceImpl.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysNoticeServiceImpl.java @@ -1,12 +1,22 @@ package com.muyu.system.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.domain.Result; +import com.muyu.common.security.utils.SecurityUtils; +import com.muyu.system.domain.AsUserDept; import com.muyu.system.domain.SysNotice; +import com.muyu.system.domain.req.SysNoticeRequest; +import com.muyu.system.domain.resp.AsUserDeotNumResponse; +import com.muyu.system.domain.resp.SysNoticeResponse; +import com.muyu.system.mapper.AsUserDeptMapper; import com.muyu.system.mapper.SysNoticeMapper; +import com.muyu.system.mapper.SysUserMapper; import com.muyu.system.service.SysNoticeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -19,6 +29,12 @@ public class SysNoticeServiceImpl extends ServiceImpl handleList(List ids,List checkedDept,Long noticeId){ + + +// 根据用户部门查找对于的用户 + List userIds=sysUserMapper.selectBatchUserIdByDeptIds(checkedDept); + if (ids!=null){ + userIds.addAll ( ids ); + } + List< Long > allUserIds = userIds.stream ( ).distinct ( ).toList ( ); + System.out.println ("allUserIds"+allUserIds ); + + List< AsUserDept > userDepts = allUserIds.stream ( ) + .map ( userId -> { + AsUserDept asUserDept = new AsUserDept ( ); + asUserDept.setUserId ( userId ); + asUserDept.setNoticeId ( noticeId ); + asUserDept.setCreateBy ( SecurityUtils.getUsername ( ) ); + asUserDept.setCreateTime ( new Date ( ) ); + return asUserDept; + } ).toList ( ); + + + return userDepts; + + } + + /** * 新增公告 * @@ -52,7 +97,29 @@ public class SysNoticeServiceImpl extends ServiceImpl personnelList = notice.getIds (); + List checkedDept = notice.getCheckedDept (); + List< AsUserDept > asUserDepts = handleList(personnelList, checkedDept, noticeId); + asUserDeptMapper.insertBachAsUserDept(asUserDepts); + }else{ + List userIds=noticeMapper.selectUser(); + List asUserDepts = userIds.stream() + .map(id -> { + AsUserDept asUserDept = new AsUserDept(); + asUserDept.setNoticeId(notice.getNoticeId()); + asUserDept.setCreateTime(new Date ()); + asUserDept.setUserId(id); + asUserDept.setCreateBy( SecurityUtils.getUsername()); + return asUserDept; + }).toList(); + asUserDeptMapper.insertBachAsUserDept(asUserDepts); + } + + return i; } /** @@ -90,4 +157,11 @@ public class SysNoticeServiceImpl extends ServiceImpl > getNoticeList(SysNoticeRequest sysNoticeRequest) { + sysNoticeRequest.setUserId(SecurityUtils.getUserId()); + List noticeList = noticeMapper.getNoticeList(sysNoticeRequest); + return Result.success(noticeList); + } } diff --git a/muyu-modules/muyu-system/src/main/resources/bootstrap.yml b/muyu-modules/muyu-system/src/main/resources/bootstrap.yml index a66fd4c..2667085 100644 --- a/muyu-modules/muyu-system/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-system/src/main/resources/bootstrap.yml @@ -14,10 +14,14 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.102.61:8848 + # 命名空间 + namespace: muyu config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.102.61:8848 + # 命名空间 + namespace: muyu # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysNoticeMapper.xml b/muyu-modules/muyu-system/src/main/resources/mapper/system/SysNoticeMapper.xml index 0687403..e161a45 100644 --- a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysNoticeMapper.xml +++ b/muyu-modules/muyu-system/src/main/resources/mapper/system/SysNoticeMapper.xml @@ -50,8 +50,23 @@ + - + + + insert into sys_notice ( notice_title, notice_type, diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserDeptMapper.xml b/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserDeptMapper.xml new file mode 100644 index 0000000..2fea046 --- /dev/null +++ b/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserDeptMapper.xml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + select id, user_id, notice_id, is_read, create_by, create_time, update_by, update_time, remark from as_user_dept + + + + + + + + + + insert into as_user_dept + + user_id, + notice_id, + is_read, + create_by, + create_time, + update_by, + update_time, + remark, + + + #{userId}, + #{noticeId}, + #{isRead}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + + + + INSERT INTO `as_user_dept` (`user_id`, `notice_id`, `create_by`, `create_time`) + VALUES + + (#{item.userId}, #{item.noticeId}, #{item.createBy}, #{item.createTime}) + + + + + update as_user_dept + + user_id = #{userId}, + notice_id = #{noticeId}, + is_read = #{isRead}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + + where id = #{id} + + + update as_user_dept set is_read = 0 where id=#{id} + + + + delete from as_user_dept where id = #{id} + + + + delete from as_user_dept where id in + + #{id} + + + diff --git a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserMapper.xml b/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserMapper.xml index 6f633b7..6b6abe9 100644 --- a/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/muyu-modules/muyu-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -152,7 +152,7 @@ + insert into sys_user( diff --git a/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml b/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml index 1276c8e..288fef9 100644 --- a/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml +++ b/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml @@ -14,10 +14,14 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.102.61:8848 + # 命名空间 + namespace: muyu config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.102.61:8848 + # 命名空间 + namespace: muyu # 配置文件格式 file-extension: yml # 共享配置