From 74355e14088df2c60da6e9a2b026fa0513709de9 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 17 二月 2025 14:19:45 +0800
Subject: [PATCH] 增加授权认证。

---
 smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java
index bfa8b73..6ad77b4 100644
--- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java
+++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java
@@ -29,6 +29,7 @@
 import com.alibaba.excel.write.merge.AbstractMergeStrategy;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -42,10 +43,11 @@
 import com.qianwen.core.mp.support.Query;
 import com.qianwen.core.oss.model.BladeFile;
 import com.qianwen.core.secure.utils.AuthUtil;
-import com.qianwen.core.tool.utils.CollectionUtil;
 import com.qianwen.core.tool.utils.DateUtil;
 import com.qianwen.core.tool.utils.Func;
 import com.qianwen.core.tool.utils.StringUtil;
+import com.qianwen.license.common.LicenseExtraModel;
+import com.qianwen.license.common.LicenseVerify;
 import com.qianwen.smartman.common.cache.DictCache;
 import com.qianwen.smartman.common.cache.cps.WorkstationCache;
 import com.qianwen.smartman.common.constant.CalendarConstant;
@@ -59,6 +61,7 @@
 import com.qianwen.smartman.common.enums.DictEnum;
 import com.qianwen.smartman.common.enums.StatusType;
 import com.qianwen.smartman.common.enums.WcsDataTypeEnums;
+import com.qianwen.smartman.common.license.LicenseWrapper;
 import com.qianwen.smartman.common.mqtt.MqttMessageSender;
 import com.qianwen.smartman.common.utils.Lambda;
 import com.qianwen.smartman.common.utils.MessageUtils;
@@ -147,6 +150,8 @@
     private MqttMessageSender mqttMsgSender;
     @Autowired
     private WorkstationDatapointsService wsDpService;
+    @Autowired
+    private LicenseWrapper licenseWrapper;
     
     private final String NAME = "榛樿宸ヤ綔鍙�";
     private final Integer SORT = 1;
@@ -186,6 +191,9 @@
     @Override 
     @Transactional(rollbackFor = {Exception.class})
     public WorkstationVO submit(WorkstationSubmitVO workstationSubmitVO) {
+    	
+    	checkLicenseCount();
+    	
         checkWorkstation(workstationSubmitVO);
         if (Func.isEmpty(workstationSubmitVO.getId())) {
             checkUnableWorkstation(workstationSubmitVO);
@@ -229,6 +237,18 @@
         }
         return workstationVO;
     }
+    void checkLicenseCount() {
+    	
+    
+    	Wrapper<Workstation> wrapper = Wrappers.lambdaQuery(Workstation.class).eq(Workstation::getIsDeleted, 0);
+    	Long count = workstationMapper.selectCount(wrapper);
+    	
+
+    	Long machineAmount = licenseWrapper.getWorkstationAmount();
+    	if(count >= machineAmount) {
+    		throw new ServiceException("宸ヤ綅鏁拌秴杩囪鍙笂闄愭暟:"+ machineAmount);
+    	}
+    }
     /*
     private void submitWorkstationFtpDirectory(WorkstationSubmitVO workstationSubmitVO, Workstation workstation) {
         if (Func.isEmpty(workstationSubmitVO.getId()) && Func.isNotEmpty(workstationSubmitVO.getFtpDirectoryType())) {

--
Gitblit v1.9.3