liusuyi
2025-12-26 6bdda41435c30affe62af2bea8861da916c0c56d
ard-work/src/main/java/com/ard/work/util/UtilMethod.java
@@ -2,6 +2,9 @@
import com.alibaba.fastjson2.JSONObject;
import com.ard.system.authorize.service.AuthorizeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -10,25 +13,35 @@
 * @date: 2025/3/4
 * @description:
 */
@Service
public class UtilMethod {
    @Resource
    @Autowired
    private AuthorizeService authorizeService;
    /**
     * 根据授权数量,验证授权信息是否合规
     */
    public void authorizationVerification(int ls){
        JSONObject data = authorizeService.getAuthorizationInfo();
        if ("normal".equals(data.get("Type"))){
            int droneNum = (int) data.get("droneNum");
            if (ls > droneNum){
                throw new RuntimeException("添加无人机数量超过当前授权数量!!!");
            }
        }else if ("expired".equals(data.get("Type"))){
            throw new RuntimeException("授权文件过期!!!");
        }else if ("mismatch".equals(data.get("Type"))){
            throw new RuntimeException("授权文件不匹配!!!");
        JSONObject authInfo = authorizeService.getAuthorizationInfo();
        String authType = authInfo.getString("Type");
        switch (authType) {
            case "normal":
                int allowedDroneNum = authInfo.getIntValue("droneNum");
                if (ls > allowedDroneNum) {
                    throw new RuntimeException(String.format(
                            "授权数量%d,当前操作将导致总数达到%d,超过授权限制",
                            allowedDroneNum, ls));
                }
                break;
            case "expired":
                throw new RuntimeException("授权文件已过期");
            case "mismatch":
                throw new RuntimeException("授权文件不匹配");
            default:
                throw new RuntimeException("未知的授权类型: " + authType);
        }
    }