package com.tofly.feesapi.common;

import com.tofly.common.core.util.StringUtil;
import com.tofly.feesapi.security.util.SecurityUtils;
import com.tofly.feesapi.udb.entity.UserRole;
import com.tofly.feesapi.udb.service.UserRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.stream.Collectors;

@Service
public class PermissionVerifyService {
    @Autowired
    private UserRoleService userRoleService;

    /**
     * 验证抄表修改权限
     * qyfzr 区域负责人
     */
    public boolean VerifyCbxg(String qyfzr) {
        if (StringUtil.isNotEmpty(qyfzr)) {
            if (qyfzr.equals(SecurityUtils.getUserId().toString())) {
                return true;
            }
        }
        return false;
    }

    /**
     * 验证是否是管理有管理权限
     */
    public boolean VerifyManager() {
        List<UserRole> userRoles = userRoleService.get(SecurityUtils.getUserId());
        userRoles = userRoles.stream().filter(
                userRole ->
                        userRole.getRoleName().equals("超级管理员")
                                || userRole.getRoleName().equals("开发运维")
                                || userRole.getRoleName().equals("营收演示角色")
                                || userRole.getRoleName().equals("营销数据管理员")
                                || userRole.getRoleName().contains("系统管理员")
                                || userRole.getRoleName().equals("营收管理员")
        ).collect(Collectors.toList());
        if (userRoles.size() > 0) {
            return true;
        }
        return false;
    }
}
