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.UserGroupMapper;
import com.moral.api.service.UserGroupService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.constant.Constants;
import com.moral.util.TokenUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
*
* 前台用户角色关系表 服务实现类
*
*
* @author moral
* @since 2021-03-09
*/
@Service
public class UserGroupServiceImpl extends ServiceImpl implements UserGroupService {
@Autowired
private UserGroupMapper userGroupMapper;
@Override
public void allotGroups(Map parameters, String token) {
Integer userId = Integer.parseInt(parameters.get("userId").toString());
List groupIds = (ArrayList) parameters.get("groupIds");
Map currentUserInfo = (Map) TokenUtils.getUserInfoByToken(token);
UpdateWrapper 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);
}
}
}
@Override
public List getGroupIds(Integer userId) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id", userId).eq("is_delete", Constants.NOT_DELETE);
List userGroups = userGroupMapper.selectList(queryWrapper);
List groupIds = new ArrayList<>();
for (UserGroup userGroup : userGroups) {
groupIds.add(userGroup.getGroupId());
}
return groupIds;
}
}