From 28923b3d67c58b032bc4ff128aa1d5e62d73dba1 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Fri, 02 Feb 2024 10:07:58 +0800 Subject: [PATCH] fix:提交实时在线率接口 --- screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 48 insertions(+), 11 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java index 651b199..afb4821 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java @@ -3,17 +3,28 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.moral.api.entity.GroupMenu; +import com.moral.api.mapper.GroupMapper; import com.moral.api.mapper.GroupMenuMapper; +import com.moral.api.mapper.MenuMapper; import com.moral.api.service.GroupMenuService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.utils.OperationLogUtils; import com.moral.constant.Constants; import com.moral.util.TokenUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; /** * <p> @@ -29,25 +40,51 @@ @Autowired private GroupMenuMapper groupMenuMapper; + @Autowired + private GroupMapper groupMapper; + + @Autowired + private MenuMapper menuMapper; + + @Autowired + private OperationLogUtils operationLogUtils; + @Override - public void allotMenus(Map<String, Object> parameters, String token) { + @Transactional + public void allotMenus(Map<String, Object> parameters) { Integer groupId = Integer.parseInt(parameters.get("groupId").toString()); List<Integer> menuIds = (ArrayList) parameters.get("menuIds"); - Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); + Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo(); + Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); UpdateWrapper<GroupMenu> deleteWrapper = new UpdateWrapper<>(); - deleteWrapper.set("is_delete", Constants.DELETE) - .eq("group_id", groupId) - .eq("channel", Constants.WEB_CHANNEL); - groupMenuMapper.update(null, deleteWrapper); - if (!menuIds.isEmpty()) { - for (Integer menuId : menuIds) { + deleteWrapper.eq("group_id", groupId).eq("channel_key", Constants.WEB_CHANNEL); + groupMenuMapper.delete(deleteWrapper); + List<String> menus = new ArrayList<>(); + if (!ObjectUtils.isEmpty(menuIds)) { + menuIds.forEach(menuId -> { + menus.add(menuMapper.selectById(menuId).getName()); GroupMenu groupMenu = new GroupMenu(); groupMenu.setGroupId(groupId); groupMenu.setMenuId(menuId); - groupMenu.setChannel(Constants.WEB_CHANNEL); - groupMenu.setOrganizationId((Integer) currentUserInfo.get("organizationId")); + groupMenu.setChannelKey(Constants.WEB_CHANNEL); + groupMenu.setOrganizationId((Integer) orgInfo.get("id")); groupMenuMapper.insert(groupMenu); - } + }); } + + //������ + String groupName = groupMapper.selectById((Integer) parameters.get("groupId")).getGroupName(); + String content = "���������" + groupName + "������������������" + menus; + operationLogUtils.insertLog(content, Constants.UPDATE_OPERATE_TYPE); + } + + @Override + public List<Integer> getMenusIds(Integer groupId) { + QueryWrapper<GroupMenu> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("group_id", groupId).eq("is_delete", Constants.NOT_DELETE); + List<GroupMenu> groupMenus = groupMenuMapper.selectList(queryWrapper); + List<Integer> menuIds = new ArrayList<>(); + groupMenus.forEach(groupMenu -> menuIds.add(groupMenu.getMenuId())); + return menuIds; } } -- Gitblit v1.8.0