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