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/UserGroupServiceImpl.java |   66 ++++++++++++++++++--------------
 1 files changed, 37 insertions(+), 29 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java
index 1bf3af4..a4007ee 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/UserGroupServiceImpl.java
@@ -1,20 +1,22 @@
 package com.moral.api.service.impl;
 
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Map;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.moral.api.entity.UserGroup;
+import com.moral.api.mapper.GroupMapper;
 import com.moral.api.mapper.UserGroupMapper;
+import com.moral.api.mapper.UserMapper;
 import com.moral.api.service.UserGroupService;
 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;
 
 /**
  * <p>
@@ -30,34 +32,40 @@
     @Autowired
     private UserGroupMapper userGroupMapper;
 
-    @Override
-    public void allotGroups(Map<String, Object> parameters, String token) {
-        Integer userId = Integer.parseInt(parameters.get("userId").toString());
-        List<Integer> groupIds = (ArrayList) parameters.get("groupIds");
-        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
-        UpdateWrapper<UserGroup> deleteWrapper = new UpdateWrapper<>();
-        deleteWrapper.set("is_delete", Constants.DELETE).eq("user_id", userId);
-        userGroupMapper.update(null, deleteWrapper);
-        if (!groupIds.isEmpty()) {
-            for (Integer groupId : groupIds) {
-                UserGroup userGroup = new UserGroup();
-                userGroup.setUserId(userId);
-                userGroup.setGroupId(groupId);
-                userGroup.setOrganizationId((Integer) currentUserInfo.get("organizationId"));
-                userGroupMapper.insert(userGroup);
-            }
-        }
-    }
+    @Autowired
+    private UserMapper userMapper;
+
+    @Autowired
+    private GroupMapper groupMapper;
+
+    @Autowired
+    private OperationLogUtils operationLogUtils;
 
     @Override
-    public List<Integer> getGroupIds(Integer userId) {
-        QueryWrapper<UserGroup> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("user_id", userId).eq("is_delete", Constants.NOT_DELETE);
-        List<UserGroup> userGroups = userGroupMapper.selectList(queryWrapper);
-        List<Integer> groupIds = new ArrayList<>();
-        for (UserGroup userGroup : userGroups) {
-            groupIds.add(userGroup.getGroupId());
+    @Transactional
+    public void allotGroups(Map<String, Object> parameters) {
+        Object o = parameters.get("groupId");
+        Integer userId = Integer.parseInt(parameters.get("userId").toString());
+        Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfo();
+        Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization");
+
+        UpdateWrapper<UserGroup> deleteWrapper = new UpdateWrapper<>();
+        deleteWrapper.eq("user_id", userId);
+        userGroupMapper.delete(deleteWrapper);
+
+        if (!ObjectUtils.isEmpty(o)) {
+            int groupId = Integer.parseInt(o.toString());
+            String groupName = groupMapper.selectById(groupId).getGroupName();
+            UserGroup userGroup = new UserGroup();
+            userGroup.setUserId(userId);
+            userGroup.setGroupId(groupId);
+            userGroup.setOrganizationId((Integer) orgInfo.get("id"));
+            //user_group���insert
+            userGroupMapper.insert(userGroup);
+            //������
+            String account = userMapper.selectById((Integer) parameters.get("userId")).getAccount();
+            String content = "������������" + account + "���������������" + groupName;
+            operationLogUtils.insertLog(content, Constants.UPDATE_OPERATE_TYPE);
         }
-        return groupIds;
     }
 }

--
Gitblit v1.8.0