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 | 70 +++++++++++++++++++++++++++++++++++ 1 files changed, 70 insertions(+), 0 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 c343b39..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 @@ -1,10 +1,30 @@ package com.moral.api.service.impl; +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> @@ -17,4 +37,54 @@ @Service public class GroupMenuServiceImpl extends ServiceImpl<GroupMenuMapper, GroupMenu> implements GroupMenuService { + @Autowired + private GroupMenuMapper groupMenuMapper; + + @Autowired + private GroupMapper groupMapper; + + @Autowired + private MenuMapper menuMapper; + + @Autowired + private OperationLogUtils operationLogUtils; + + @Override + @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.getUserInfo(); + Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); + UpdateWrapper<GroupMenu> deleteWrapper = new UpdateWrapper<>(); + 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.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