diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/controller/admin/CompanyStaffController.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/controller/admin/CompanyStaffController.java index 358c6fcb..c09f5132 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/controller/admin/CompanyStaffController.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/staff/controller/admin/CompanyStaffController.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.staff.controller.admin; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; @@ -15,6 +16,8 @@ import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO; import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO; import cn.iocoder.yudao.module.staff.vo.StaffLoginBody; import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; import cn.iocoder.yudao.module.system.controller.admin.auth.vo.AuthLoginReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; import cn.iocoder.yudao.module.system.service.auth.AdminAuthService; @@ -40,6 +43,7 @@ import java.util.List; import java.util.Map; import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.error; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -63,6 +67,8 @@ public class CompanyStaffController { private AdminAuthService loginService; @Autowired private ApiAppLoginService apiAppLoginService; + @Resource + private AdminUserApi adminUserApi; /** * 分页查询 @@ -326,4 +332,25 @@ public class CompanyStaffController { return error(2_002_000_005,e.getMessage()); } } + + /** + * 根据用户ID获取信息 + * + * @author 小李 + * @date 15:12 2024/12/18 + * @param id 用户ID + **/ + @GetMapping("/getByUserId") + public CommonResult getByUserId(@RequestParam("id")Long id){ + Map map = new HashMap<>(); + List list = staffService.list(new LambdaQueryWrapper().eq(CompanyStaff::getUserId, id)); + if (CollUtil.isNotEmpty(list)){ + map.put("staff", list.get(0)); + } + AdminUserRespDTO user = adminUserApi.getUser(id); + if (ObjectUtil.isNotEmpty(user)){ + map.put("user", user); + } + return success(map); + } } diff --git a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionNewsController.java b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionNewsController.java index 3189f748..0e81740d 100644 --- a/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionNewsController.java +++ b/dl-module-inspection/src/main/java/cn/iocoder/yudao/module/inspection/controller/InspectionNewsController.java @@ -1,11 +1,18 @@ package cn.iocoder.yudao.module.inspection.controller; import java.util.List; +import java.util.stream.Collectors; import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.inspection.entity.InspectionNews; import cn.iocoder.yudao.module.inspection.service.IInspectionNewsService; import cn.iocoder.yudao.module.shop.entity.ShopMallPartners; +import cn.iocoder.yudao.module.system.api.dict.DictDataApi; +import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO; +import cn.iocoder.yudao.module.system.api.permission.PermissionApi; +import cn.iocoder.yudao.module.system.api.permission.RoleApi; +import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.security.access.prepost.PreAuthorize; @@ -13,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import cn.iocoder.yudao.module.core.controller.BaseController; +import javax.annotation.Resource; + /** * 【请填写功能名称】Controller * @@ -26,6 +35,15 @@ public class InspectionNewsController extends BaseController @Autowired private IInspectionNewsService inspectionNewsService; + @Resource + private DictDataApi dataApi; + + @Resource + private PermissionApi permissionApi; + + @Resource + private RoleApi roleApi; + /** * 查询【请填写功能名称】列表 */ @@ -63,4 +81,22 @@ public class InspectionNewsController extends BaseController { return toAjax(inspectionNewsService.deleteInspectionNewsByIds(ids)); } + + /** + * 验证当前登录用户是否可以发布通知 + * + * @author 小李 + * @date 16:00 2024/12/18 + **/ + @GetMapping("/ifSend") + public CommonResult ifSend(){ + List dataList = dataApi.getDictDataList("ins_send_news"); + List values = dataList.stream().map(DictDataRespDTO::getValue).collect(Collectors.toList()); + List roleIds = permissionApi.getRoleIdsByUserId(SecurityFrameworkUtils.getLoginUserId()); + List roles = roleApi.getRoleList(); + List role = roles.stream().filter(item -> roleIds.contains(item.getId())).collect(Collectors.toList()); + List codes = role.stream().map(RoleReqDTO::getCode).collect(Collectors.toList()); + List collect = codes.stream().filter(values::contains).collect(Collectors.toList()); + return success(!collect.isEmpty()); + } }