From 2580e777eb337a01b882b1a586bc8951be3ef7c2 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Mon, 14 Apr 2025 19:35:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=85=E5=A4=B4bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BaseMenuController.java | 182 +++++++++++------- .../impl/BaseAuthorityServiceImpl.java | 23 ++- ...ConcreteMonitorCurrentDataServiceImpl.java | 2 +- .../service/impl/WorkerInfoServiceImpl.java | 1 + 4 files changed, 132 insertions(+), 76 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/BaseMenuController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/BaseMenuController.java index 5172b4a27..118839f51 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/BaseMenuController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/BaseMenuController.java @@ -1,11 +1,18 @@ package com.zhgd.xmgl.modules.basicdata.controller; +import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.xmgl.modules.basicdata.entity.BaseAuthority; import com.zhgd.xmgl.modules.basicdata.entity.BaseMenu; import com.zhgd.xmgl.modules.basicdata.entity.BaseModule; +import com.zhgd.xmgl.modules.basicdata.entity.BaseRole; +import com.zhgd.xmgl.modules.basicdata.service.IBaseAuthorityService; import com.zhgd.xmgl.modules.basicdata.service.IBaseMenuService; +import com.zhgd.xmgl.modules.basicdata.service.IBaseRoleService; +import com.zhgd.xmgl.util.MapBuilder; import com.zhgd.xmgl.util.MessageUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -14,17 +21,18 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.web.bind.annotation.*; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * @Title: Controller * @Description: 系统菜单 * @author: pds - * @date: 2020-10-12 + * @date: 2020-10-12 * @version: V1.0 */ @RestController @@ -32,100 +40,110 @@ import java.util.Map; @Slf4j @Api(tags = "系统菜单") public class BaseMenuController { - @Autowired - private IBaseMenuService baseMenuService; + @Autowired + private IBaseMenuService baseMenuService; + @Lazy + @Autowired + private IBaseAuthorityService baseAuthorityService; + @Lazy + @Autowired + private IBaseRoleService baseRoleService; - /** - * 分页列表查询 - * @return - */ - @ApiOperation(value = "列表查询系统菜单信息", notes = "列表查询系统菜单信息", httpMethod = "POST") + /** + * 分页列表查询 + * + * @return + */ + @ApiOperation(value = "列表查询系统菜单信息", notes = "列表查询系统菜单信息", httpMethod = "POST") @ApiImplicitParams({ @ApiImplicitParam(name = "moduleId", value = "模块ID", paramType = "body", required = false, dataType = "String"), }) @PostMapping(value = "/list") - public Result> selectBaseMenuList(@RequestBody Map map) { - return Result.success(baseMenuService.selectBaseMenuList(map)); - } + public Result> selectBaseMenuList(@RequestBody Map map) { + return Result.success(baseMenuService.selectBaseMenuList(map)); + } @ApiOperation(value = "列表层级查询系统菜单信息", notes = "列表层级查询系统菜单信息", httpMethod = "POST") @ApiImplicitParams({ @ApiImplicitParam(name = "moduleId", value = "模块ID", paramType = "body", required = false, dataType = "String"), }) @PostMapping(value = "/selectGroupList") - public Result selectGroupList(@RequestBody Map map) { + public Result selectGroupList(@RequestBody Map map) { return Result.success(baseMenuService.selectGroupList(map)); } - /** - * 添加 - * @param baseMenu - * @return - */ + /** + * 添加 + * + * @param baseMenu + * @return + */ @ApiOperation(value = "添加系统菜单信息", notes = "添加系统菜单信息", httpMethod = "POST") @PostMapping(value = "/add") - public Result add(@RequestBody BaseMenu baseMenu) { + public Result add(@RequestBody BaseMenu baseMenu) { baseMenuService.saveBaseMenu(baseMenu); return Result.ok(); - } + } - /** - * 编辑 - * @param baseMenu - * @return - */ - @ApiOperation(value = "编辑系统菜单信息", notes = "编辑系统菜单信息" , httpMethod="POST") - @PostMapping(value = "/edit") - public Result edit(@RequestBody BaseMenu baseMenu) { + /** + * 编辑 + * + * @param baseMenu + * @return + */ + @ApiOperation(value = "编辑系统菜单信息", notes = "编辑系统菜单信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody BaseMenu baseMenu) { baseMenuService.editBaseMenu(baseMenu); return Result.ok(); - } + } - /** - * 通过id删除 - * @param - * @return - */ + /** + * 通过id删除 + * + * @param + * @return + */ @ApiOperation(value = "删除系统菜单信息", notes = "删除系统菜单信息", httpMethod = "POST") @ApiImplicitParam(name = "menuId", value = "系统菜单ID", paramType = "body", required = true, dataType = "Integer") @PostMapping(value = "/delete") - public Result delete(@RequestBody Map map) { - Result result = new Result(); - BaseMenu baseMenu = baseMenuService.getById(MapUtils.getString(map,"menuId")); - if(baseMenu==null) { + public Result delete(@RequestBody Map map) { + Result result = new Result(); + BaseMenu baseMenu = baseMenuService.getById(MapUtils.getString(map, "menuId")); + if (baseMenu == null) { result.error500(MessageUtil.get("notFindErr")); - }else { - boolean ok = baseMenuService.removeById(MapUtils.getString(map,"menuId")); - if(ok) { + } else { + boolean ok = baseMenuService.removeById(MapUtils.getString(map, "menuId")); + if (ok) { result.successMsg(MessageUtil.get("deleteSucess")); - } - } + } + } - return result; - } + return result; + } - - /** - * 通过id查询 - * @param - * @return - */ + /** + * 通过id查询 + * + * @param + * @return + */ @ApiOperation(value = "通过id查询系统菜单信息", notes = "通过id查询系统菜单信息", httpMethod = "POST") @ApiImplicitParam(name = "menuId", value = "系统菜单ID", paramType = "body", required = true, dataType = "Integer") @PostMapping(value = "/queryById") - public Result queryById(@RequestBody Map map) { - Result result = new Result(); - BaseMenu baseMenu = baseMenuService.getById(MapUtils.getString(map,"menuId")); - if(baseMenu==null) { + public Result queryById(@RequestBody Map map) { + Result result = new Result(); + BaseMenu baseMenu = baseMenuService.getById(MapUtils.getString(map, "menuId")); + if (baseMenu == null) { result.error500(MessageUtil.get("notFindErr")); - }else { - result.setResult(baseMenu); - result.setSuccess(true); - } - return result; - } + } else { + result.setResult(baseMenu); + result.setSuccess(true); + } + return result; + } - @ApiOperation(value = "查询项目默认的模块和菜单列表", notes = "查询项目默认的模块和菜单列表", httpMethod="POST") + @ApiOperation(value = "查询项目默认的模块和菜单列表", notes = "查询项目默认的模块和菜单列表", httpMethod = "POST") @ApiImplicitParams({ @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"), }) @@ -134,7 +152,7 @@ public class BaseMenuController { return Result.success(baseMenuService.getProjectModuleAndMenu(map)); } - @ApiOperation(value = "查询项目默认的菜单列表并根据模块分组", notes = "查询项目默认的菜单列表并根据模块分组", httpMethod="POST") + @ApiOperation(value = "查询项目默认的菜单列表并根据模块分组", notes = "查询项目默认的菜单列表并根据模块分组", httpMethod = "POST") @ApiImplicitParams({ @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"), @ApiImplicitParam(name = "moduleTypes", value = "模块类型(多个用逗号分割):1企业模块,2项目后台模块,3企业后台,4项目看板", paramType = "body", required = false, dataType = "String"), @@ -144,10 +162,34 @@ public class BaseMenuController { return Result.success(baseMenuService.getProjectModuleGroupMenuList(map)); } - @ApiOperation(value = "解决项目子账号的菜单按钮无法分配", notes = "解决项目子账号的菜单按钮无法分配", httpMethod="GET") - @GetMapping(value = "/fixAuthDistribute") - public Result fixAuthDistribute() { - baseMenuService.fixAuthDistribute(); - return Result.ok(); - } + @ApiOperation(value = "解决项目子账号的菜单按钮无法分配", notes = "解决项目子账号的菜单按钮无法分配", httpMethod = "GET") + @GetMapping(value = "/fixAuthDistribute") + public Result fixAuthDistribute() { + baseMenuService.fixAuthDistribute(); + return Result.ok(); + } + + @ApiOperation(value = "所有账号都分配党建引领、阳光工程首页、用户中心、文档管理", notes = "所有账号都分配党建引领、阳光工程首页、用户中心、文档管理", httpMethod = "POST") + @PostMapping(value = "/grantFixedAuthority") + public Result grantFixedAuthority(@RequestBody Map map) { + List roleList = baseRoleService.getProjectBaseRolePageList(new MapBuilder() + .put("projectSn", MapUtils.getString(map, "projectSn")) + .put("pageNo", 1) + .put("pageSize", -1) + .build()).getRecords(); + List authIds = Arrays.asList("149", "1857361972801216517", "1857361972801216518", "1857361972801216519", "1857361972801216520", "1857361972801216521", "1882030939467436033", "1877735641188544513", "1877344022396334082", "1828615037974118406", "1828615045519671300", "1828615045519671301", "1849007627789611009", "1828615036669689858", "1828615036669689859", "1828615036669689860"); + for (BaseRole role : roleList) { + List authorityList = baseAuthorityService.getRoleAuthorityList(new MapBuilder() + .put("roleId", role.getRoleId()) + .build()); + Set aids = authorityList.stream().map(m -> Convert.toStr(m.getAuthorityId())).filter(Objects::nonNull).collect(Collectors.toSet()); + aids.addAll(authIds); + baseAuthorityService.addAuthorityRole(new MapBuilder() + .put("roleId", role.getRoleId()) + .put("authorityIds", StrUtil.join(",", aids)) + .build()); + } + return Result.ok(); + } + } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/BaseAuthorityServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/BaseAuthorityServiceImpl.java index 4aa3f35fb..e8bd48eb8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/BaseAuthorityServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/BaseAuthorityServiceImpl.java @@ -1,5 +1,6 @@ package com.zhgd.xmgl.modules.basicdata.service.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhgd.xmgl.constant.Cts; @@ -10,21 +11,24 @@ import com.zhgd.xmgl.modules.basicdata.entity.BaseMenu; import com.zhgd.xmgl.modules.basicdata.mapper.BaseAuthorityMapper; import com.zhgd.xmgl.modules.basicdata.mapper.BaseAuthorityRoleMapper; import com.zhgd.xmgl.modules.basicdata.service.IBaseActionService; +import com.zhgd.xmgl.modules.basicdata.service.IBaseAuthorityRoleService; import com.zhgd.xmgl.modules.basicdata.service.IBaseAuthorityService; import com.zhgd.xmgl.modules.basicdata.service.IBaseMenuService; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; import java.util.Map; /** * @Description: 系统权限-菜单权限、操作权限 * @author: pds - * @date: 2020-10-27 + * @date: 2020-10-27 * @version: V1.0 */ @Service @@ -32,6 +36,9 @@ import java.util.Map; public class BaseAuthorityServiceImpl extends ServiceImpl implements IBaseAuthorityService { public static final String MENU = "menu"; public static final String ACTION = "action"; + @Lazy + @Autowired + IBaseAuthorityRoleService baseAuthorityRoleService; @Autowired private BaseAuthorityRoleMapper baseAuthorityRoleMapper; @Autowired @@ -44,7 +51,7 @@ public class BaseAuthorityServiceImpl extends ServiceImpl queryWrapper = buildQueryWrapper(resourceId, resourceType); - BaseAuthority baseAuthority =baseAuthorityMapper.selectOne(queryWrapper); + BaseAuthority baseAuthority = baseAuthorityMapper.selectOne(queryWrapper); if (baseAuthority == null) { baseAuthority = new BaseAuthority(); } @@ -67,6 +74,7 @@ public class BaseAuthorityServiceImpl extends ServiceImpl queryWrapper = buildQueryWrapper(resourceId, resourceType); - BaseAuthority authority =baseAuthorityMapper.selectOne(queryWrapper); + BaseAuthority authority = baseAuthorityMapper.selectOne(queryWrapper); if (authority != null && authority.getAuthorityId() != null) { QueryWrapper roleQueryWrapper = new QueryWrapper(); roleQueryWrapper.lambda().eq(BaseAuthorityRole::getAuthorityId, authority.getAuthorityId()); @@ -112,17 +121,21 @@ public class BaseAuthorityServiceImpl extends ServiceImpl addAuths = new ArrayList<>(); String authorityIds = MapUtils.getString(map, "authorityIds"); if (authorityIds != null && authorityIds.length() > 0) { for (String id : authorityIds.split(Cts.COMMA)) { - if(StringUtils.isNotEmpty(id)) { + if (StringUtils.isNotEmpty(id)) { authority = new BaseAuthorityRole(); authority.setAuthorityId(Long.valueOf(id)); authority.setRoleId(Long.valueOf(roleId)); // 批量添加授权 - baseAuthorityRoleMapper.insert(authority); + addAuths.add(authority); } } + if (CollUtil.isNotEmpty(addAuths)) { + baseAuthorityRoleService.saveBatch(addAuths); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/concrete/service/impl/ConcreteMonitorCurrentDataServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/concrete/service/impl/ConcreteMonitorCurrentDataServiceImpl.java index 228dd77e5..53f7586fe 100644 --- a/src/main/java/com/zhgd/xmgl/modules/concrete/service/impl/ConcreteMonitorCurrentDataServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/concrete/service/impl/ConcreteMonitorCurrentDataServiceImpl.java @@ -72,7 +72,7 @@ public class ConcreteMonitorCurrentDataServiceImpl extends ServiceImpl 0) { for (ConcreteMonitorCurrentData currentData : concreteMonitorCurrentDataVo.getList()) { - if (NumberUtil.equals(currentData.getTemperature(), -100D)) { + if (currentData.getTemperature() == null || NumberUtil.equals(currentData.getTemperature(), -100D)) { //忽略数据,-100这个是特殊数据,有两种情况,第一种就是没有插传感器,第二种就是传感器损坏。如果接收到-100这种数据,就判定为空数据。 continue; } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java index 78276735f..725457ca7 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java @@ -648,6 +648,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl() + .set(WorkerInfo::getDepartmentId, workerInfo.getDepartmentId()) .set(WorkerInfo::getBranchId, workerInfo.getBranchId()) .set(WorkerInfo::getProjectGroup, workerInfo.getProjectGroup()) .eq(WorkerInfo::getId, workerInfo.getId())