From 2790d2558ef656ccddb4dbc94409decc8d227a1e Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 05 九月 2024 10:10:02 +0800
Subject: [PATCH] #许可证

---
 src/main/java/com/zy/common/web/AuthController.java |   92 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 72 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/zy/common/web/AuthController.java b/src/main/java/com/zy/common/web/AuthController.java
index 4563cc5..3d1faab 100644
--- a/src/main/java/com/zy/common/web/AuthController.java
+++ b/src/main/java/com/zy/common/web/AuthController.java
@@ -3,24 +3,24 @@
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.core.annotations.ManagerAuth;
+import com.core.common.*;
+import com.core.exception.CoolException;
 import com.zy.common.CodeRes;
 import com.zy.common.entity.Parameter;
 import com.zy.common.model.PowerDto;
 import com.zy.common.model.enums.HtmlNavIconType;
+import com.zy.common.properties.OSinfo;
+import com.zy.common.properties.SystemProperties;
 import com.zy.common.utils.RandomValidateCodeUtil;
 import com.zy.system.entity.*;
+import com.zy.system.entity.license.LicenseVerify;
 import com.zy.system.service.*;
-import com.core.annotations.ManagerAuth;
-import com.core.common.Cools;
-import com.core.common.R;
-import com.core.exception.CoolException;
+import com.zy.system.timer.LicenseTimer;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.*;
@@ -47,17 +47,18 @@
     private PermissionService permissionService;
     @Autowired
     private RolePermissionService rolePermissionService;
+    @Autowired
+    private LicenseTimer licenseTimer;
 
     @RequestMapping("/login.action")
-    public R loginAction(String mobile, String password){
-        if (mobile.equals("super") && password.equals(Cools.md5(superPwd))) {
-            Map<String, Object> res = new HashMap<>();
-            res.put("username", mobile);
-            res.put("token", Cools.enToken(System.currentTimeMillis() + mobile, superPwd));
-            return R.ok(res);
+    @ManagerAuth(value = ManagerAuth.Auth.NONE, memo = "鐧诲綍")
+    public R loginAction(String username, String password){
+        //楠岃瘉璁稿彲璇佹槸鍚︽湁鏁�
+        if (!licenseTimer.getSystemSupport()){
+            return R.parse(CodeRes.SYSTEM_20001);
         }
         EntityWrapper<User> userWrapper = new EntityWrapper<>();
-        userWrapper.eq("mobile", mobile);
+        userWrapper.eq("username", username);
         User user = userService.selectOne(userWrapper);
         if (Cools.isEmpty(user)){
             return R.parse(CodeRes.USER_10001);
@@ -65,14 +66,16 @@
         if (user.getStatus()!=1){
             return R.parse(CodeRes.USER_10002);
         }
-        if (!Cools.md5(user.getPassword()).equals(password)){
+        if (!user.getPassword().equals(password)){
             return R.parse(CodeRes.USER_10003);
         }
-        String token = Cools.enToken(System.currentTimeMillis() + mobile, user.getPassword());
+        String token = Cools.enToken(System.currentTimeMillis() + username, user.getPassword());
         userLoginService.delete(new EntityWrapper<UserLogin>().eq("user_id", user.getId()));
         UserLogin userLogin = new UserLogin();
         userLogin.setUserId(user.getId());
         userLogin.setToken(token);
+        userLogin.setCreateTime(new Date());
+        userLogin.setSystem("WMS");
         userLoginService.insert(userLogin);
         Map<String, Object> res = new HashMap<>();
         res.put("username", user.getUsername());
@@ -117,12 +120,18 @@
     @ManagerAuth
     public R menu(){
         // 鑾峰彇鎵�鏈変竴绾ц彍鍗�
-        List<Resource> oneLevel = resourceService.selectList(new EntityWrapper<Resource>().eq("level", 1).eq("status", 1).orderBy("sort"));
+        List<Resource> oneLevel;
         User user = null;
         Wrapper<Resource> resourceWrapper;
         if (getUserId() == 9527) {
+            oneLevel = resourceService.selectList(new EntityWrapper<Resource>().eq("level", 1).orderBy("sort"));
             resourceWrapper = new EntityWrapper<Resource>().eq("level", 2).eq("status", 1).orderBy("sort");
         } else {
+            // 婵�娲荤爜楠岃瘉
+            if (!SystemProperties.SYSTEM_ACTIVATION) {
+                return R.ok();
+            }
+            oneLevel = resourceService.selectList(new EntityWrapper<Resource>().eq("level", 1).eq("status", 1).orderBy("sort"));
             // 鑾峰彇褰撳墠鐢ㄦ埛鐨勬墍鏈変簩绾ц彍鍗�
             user = userService.selectById(getUserId());
             List<RoleResource> roleResources = roleResourceService.selectList(new EntityWrapper<RoleResource>().eq("role_id", user.getRoleId()));
@@ -145,7 +154,7 @@
 
                     // 鏄惁鎷ユ湁鏌ョ湅鏉冮檺
                     if (getUserId() != 9527) {
-                        Resource view = resourceService.selectOne(new EntityWrapper<Resource>().eq("resource_id", resource.getId()).like("code", "view"));
+                        Resource view = resourceService.selectOne(new EntityWrapper<Resource>().eq("resource_id", resource.getId()).like("code", "#view"));
                         if (!Cools.isEmpty(view)){
                             RoleResource param = new RoleResource();
                             param.setResourceId(view.getId());
@@ -257,7 +266,7 @@
     }
 
     @RequestMapping("/power/auth")
-    @ManagerAuth
+    @ManagerAuth(memo = "鎺堟潈")
     @Transactional
     public R power(Long roleId, String powers){
         Role role = roleService.selectById(roleId);
@@ -325,5 +334,48 @@
         return R.ok(resources);
     }
 
+    @GetMapping(value = "/system/activation/auth")
+    public R activation() {
+        if (SystemProperties.SYSTEM_ACTIVATION) {
+            String activationCode = SystemProperties.getActivationCode(OSinfo.getOSname().getActivationCodePath());
+            String timeStr = AesUtils.decrypt(activationCode, SystemProperties.SALT);
+            if (null == timeStr) {
+                SystemProperties.SYSTEM_ACTIVATION = Boolean.FALSE;
+                return R.error();
+            }
+            Date exprTime = DateUtils.convert(timeStr, DateUtils.yyyyMMddHHmmss);
+            if (new Date().getTime() < exprTime.getTime()) {
+                return R.ok().add(DateUtils.convert(exprTime));
+            } else {
+                SystemProperties.SYSTEM_ACTIVATION = Boolean.FALSE;
+                return R.error();
+            }
+        } else {
+            return R.error();
+        }
+    }
+
+    @PostMapping(value = "/system/secret/auth")
+    @ManagerAuth
+    public R systemSecret(@RequestParam(value = "secret") String secret) {
+        if (Cools.isEmpty(secret)) {
+            return R.error("璇疯緭鍏ユ縺娲荤爜");
+        }
+        // 楠岃瘉婵�娲荤爜
+        String timeStr = AesUtils.decrypt(secret, SystemProperties.SALT);
+        if (null == timeStr) {
+            return R.error("婵�娲荤爜閿欒");
+        }
+        Date exprTime = DateUtils.convert(timeStr, DateUtils.yyyyMMddHHmmss);
+        if (new Date().getTime() >= exprTime.getTime()) {
+            return R.error("婵�娲荤爜宸插け鏁�");
+        }
+        boolean result = SystemProperties.saveActivationCode(OSinfo.getOSname().getActivationCodePath(), secret);
+        if (!result) {
+            return R.error("婵�娲诲け璐�");
+        }
+        SystemProperties.SYSTEM_ACTIVATION = Boolean.TRUE;
+        return R.ok("婵�娲绘垚鍔燂紝鏈夋晥鏈熻嚦"+DateUtils.convert(exprTime));
+    }
 
 }

--
Gitblit v1.9.1