From d907a822a940c7ec0fb7de0ca845472bda52229b Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期二, 03 二月 2026 14:33:12 +0800
Subject: [PATCH] #pda料箱组托和换码

---
 src/main/java/com/zy/common/web/AuthController.java |  116 ++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 89 insertions(+), 27 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..997a177 100644
--- a/src/main/java/com/zy/common/web/AuthController.java
+++ b/src/main/java/com/zy/common/web/AuthController.java
@@ -1,28 +1,28 @@
 package com.zy.common.web;
-
+import com.alibaba.excel.util.DateUtils;
 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 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.text.ParseException;
 import java.util.*;
 
 /**
@@ -49,15 +49,22 @@
     private RolePermissionService rolePermissionService;
 
     @RequestMapping("/login.action")
-    public R loginAction(String mobile, String password){
-        if (mobile.equals("super") && password.equals(Cools.md5(superPwd))) {
+    @ManagerAuth(value = ManagerAuth.Auth.NONE, memo = "response.login")
+    public R loginAction(String username, String password){
+        //楠岃瘉璁稿彲璇佹槸鍚︽湁鏁�
+        LicenseVerify licenseVerify = new LicenseVerify();
+        boolean verify = licenseVerify.verify();
+        if (!verify) {//璁稿彲璇佸凡澶辨晥
+            return R.parse(CodeRes.SYSTEM_20001);
+        }
+        if (username.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));
+            res.put("username", username);
+            res.put("token", Cools.enToken(System.currentTimeMillis() + username, superPwd));
             return R.ok(res);
         }
         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 +72,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());
@@ -82,7 +91,9 @@
 
     @RequestMapping("/code/switch.action")
     public R code() {
-        return R.ok().add(Parameter.get().getCodeSwitch());
+        R r = R.ok();
+        r.put("data", Parameter.get().getCodeSwitch());
+        return r;
     }
 
     @RequestMapping("/code.action")
@@ -108,21 +119,27 @@
     }
 
     @RequestMapping("/user/detail/auth")
-    @ManagerAuth
+    @ManagerAuth(memo = "response.user_detail")
     public R userDetail(){
         return R.ok(userService.selectById(getUserId()));
     }
 
     @RequestMapping("/menu/auth")
-    @ManagerAuth
+    @ManagerAuth(memo = "response.menu_list")
     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 +162,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());
@@ -213,7 +230,7 @@
 
         // 鍔熻兘妯″潡
         Map<String, Object> functions = new HashMap<>();
-        functions.put("title", "鎸囧畾鍔熻兘");
+        functions.put("title", "response.specified_function");
         functions.put("id", "function");
         functions.put("spread", true);
         List<Map> funcs = new ArrayList<>();
@@ -232,7 +249,7 @@
     }
 
     @RequestMapping(value = "/power/{roleId}/auth")
-    @ManagerAuth
+    @ManagerAuth(memo = "response.power_get")
     public R get(@PathVariable("roleId") Long roleId) {
         List<Object> result = new ArrayList<>();
         // 鑿滃崟
@@ -257,7 +274,7 @@
     }
 
     @RequestMapping("/power/auth")
-    @ManagerAuth
+    @ManagerAuth(memo = "response.authorization")
     @Transactional
     public R power(Long roleId, String powers){
         Role role = roleService.selectById(roleId);
@@ -273,8 +290,8 @@
                     if (leaderId != null) {
                         RoleResource roleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource.getId()));
                         if (null == roleResource) {
-                            throw new CoolException(resource.getName().concat("鏃犳硶鎺堟潈缁�").concat(role.getName()));
-                        }
+            throw new CoolException("response.resource_auth_failed|" + resource.getName() + "|" + role.getName());
+        }
                     }
                     RoleResource roleResource = new RoleResource();
                     roleResource.setRoleId(roleId);
@@ -296,7 +313,7 @@
                         if (leaderId != null) {
                             RoleResource roleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource1.getId()));
                             if (null == roleResource) {
-                                throw new CoolException(resource.getName().concat("鐨�").concat(resource1.getName().concat("鏃犳硶鎺堟潈缁�").concat(role.getName())));
+                                throw new CoolException("response.resource_sub_auth_failed|" + resource.getName() + "|" + resource1.getName() + "|" + role.getName());
                             }
                         }
                         RoleResource roleResource = new RoleResource();
@@ -325,5 +342,50 @@
         return R.ok(resources);
     }
 
+    @GetMapping(value = "/system/activation/auth")
+    public R activation() throws ParseException {
+        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.parseDate(timeStr);
+            if (new Date().getTime() < exprTime.getTime()) {
+                R r = R.ok();
+                r.put("data", exprTime);
+                return r;
+            } 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) throws ParseException {
+        if (Cools.isEmpty(secret)) {
+            return R.error("response.enter_activation_code");
+        }
+        // 楠岃瘉婵�娲荤爜
+        String timeStr = AesUtils.decrypt(secret, SystemProperties.SALT);
+        if (null == timeStr) {
+            return R.error("response.activation_code_incorrect");
+        }
+        Date exprTime = DateUtils.parseDate(timeStr);
+        if (new Date().getTime() >= exprTime.getTime()) {
+            return R.error("response.activation_code_expired");
+        }
+        boolean result = SystemProperties.saveActivationCode(OSinfo.getOSname().getActivationCodePath(), secret);
+        if (!result) {
+            return R.error("response.activation_failed");
+        }
+        SystemProperties.SYSTEM_ACTIVATION = Boolean.TRUE;
+        return R.ok("response.activation_success");
+    }
 
 }

--
Gitblit v1.9.1