diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java index 83ab450..7eba3e8 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java @@ -17,6 +17,8 @@ import javax.websocket.server.ServerEndpoint; import org.jeecg.common.base.BaseMap; import org.jeecg.common.constant.WebsocketConst; import org.jeecg.common.modules.redis.client.JeecgRedisClient; +import org.jeecg.modules.system.entity.SysUser; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; import com.alibaba.fastjson.JSONObject; diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/system/controller/LoginController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/system/controller/LoginController.java index 81e94b2..aa52702 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/system/controller/LoginController.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/system/controller/LoginController.java @@ -46,11 +46,13 @@ import org.jeecg.modules.system.service.ISysLogService; import org.jeecg.modules.system.service.ISysTenantService; import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.system.util.RandImageUtil; +import org.jeecg.modules.wms.framework.service.IHuahengMultiHandlerService; import org.jeecg.utils.HuahengJwtUtil; import org.jeecg.utils.HuahengRedisUtil; import org.jeecg.utils.StringUtils; import org.jeecg.utils.config.ApplicationConfig; import org.jeecg.utils.support.SystemRSA256Key; +import org.jeecg.utils.support.SystemSync; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -94,7 +96,6 @@ import lombok.extern.slf4j.Slf4j; @RequestMapping("/sys") @Api(tags = "用户登录") @Slf4j -@EnableAsync public class LoginController { /** Token失效时间 */ @@ -114,9 +115,6 @@ public class LoginController { @Autowired private ISysLogService logService; - @Resource - private WebSocket webSocket; - @Autowired private RedisUtil redisUtil; @@ -138,6 +136,9 @@ public class LoginController { @Autowired private ApplicationConfig applicationConfig; + @Resource + SystemSync systemSync; + @ApiOperation("登录接口") @RequestMapping(value = "/login", method = RequestMethod.POST) public Result<JSONObject> login(@RequestBody SysLoginModel sysLoginModel) throws IOException { @@ -203,25 +204,10 @@ public class LoginController { baseCommonService.addLog("用户名:" + username + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser); // update-end--Author:wangshuai Date:20200714 for:登录日志没有记录人员 - sendMaterialAlarm(sysUser); + systemSync.sendMaterialAlarm(sysUser); return result; } - @Async("asyncPoolTaskExecutor") - public void sendMaterialAlarm(SysUser sysUser) { - try { - Thread.sleep(20000); - JSONObject obj = new JSONObject(); - obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_TOPIC); - obj.put(WebsocketConst.MSG_ID, "111"); - obj.put(WebsocketConst.MSG_TXT, "登录通知测试"); -// webSocket.sendMessage(String.valueOf(sysUser.getId()), obj.toJSONString()); - webSocket.sendMessage(obj.toJSONString()); - }catch (Exception e){ - - } - } - @ApiOperation("系统激活API") @RequestMapping(value = "/systemActivation", method = RequestMethod.POST) public Result<JSONObject> systemAuthentication(@RequestBody SystemActivationModel systemActivationModel) throws IOException { @@ -235,7 +221,7 @@ public class LoginController { Algorithm algorithm = Algorithm.RSA256(new SystemRSA256Key().getPublicKey(), new SystemRSA256Key().getPrivateKey()); JWTVerifier verifier = JWT.require(algorithm).withClaim("operator", applicationConfig.getArtifactId()).withIssuer(applicationConfig.getArtifactId()).build(); - DecodedJWT jwt = verifier.verify(systemActivationModel.getActivationCode()); + verifier.verify(systemActivationModel.getActivationCode()); // 验证通过写入文件 File file = new File(System.getProperties().getProperty("user.dir") + File.separatorChar + HuahengJwtUtil.SYSTEM_ACTIVATION_CODE_FILE_NAME); outputStream = new FileOutputStream(file, false); @@ -292,7 +278,7 @@ public class LoginController { Algorithm algorithm = Algorithm.RSA256(new SystemRSA256Key().getPublicKey(), new SystemRSA256Key().getPrivateKey()); JWTVerifier verifier = JWT.require(algorithm).withClaim("operator", applicationConfig.getArtifactId()).withIssuer(applicationConfig.getArtifactId()).build(); - DecodedJWT jwt = verifier.verify(activationCode); + verifier.verify(activationCode); // 如果redis中不存在激活码或与激活码不一致 则写入redis if (StringUtils.isEmpty(redisActivationCode) || !redisActivationCode.equals(activationCode)) { huahengRedisUtil.setWithNoExpirationTime(HuahengJwtUtil.SYSTEM_ACTIVATION_CODE_KEY, activationCode); @@ -890,8 +876,8 @@ public class LoginController { String warehouseCode = params.get("warehouseCode"); LoginUser loginUser = (LoginUser)SecurityUtils.getSubject().getPrincipal(); String username = loginUser.getUsername(); - String syspassword = loginUser.getPassword(); - String orgCode = loginUser.getOrgCode(); +// String syspassword = loginUser.getPassword(); +// String orgCode = loginUser.getOrgCode(); LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysUser::getUsername, username); SysUser sysUser = sysUserService.getOne(queryWrapper); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java index 6900ea5..fa109cf 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java @@ -8,6 +8,7 @@ import javax.annotation.Resource; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CacheConstant; import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.constant.WebsocketConst; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.vo.LoginUser; @@ -15,6 +16,7 @@ import org.jeecg.common.system.vo.SysUserCacheInfo; import org.jeecg.common.util.PasswordUtil; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.base.service.BaseCommonService; +import org.jeecg.modules.message.websocket.WebSocket; import org.jeecg.modules.system.entity.*; import org.jeecg.modules.system.mapper.*; import org.jeecg.modules.system.model.SysUserSysDepartModel; @@ -29,6 +31,7 @@ import org.jeecg.utils.StringUtils; import org.jeecg.utils.constant.QuantityConstant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/IHuahengMultiHandlerService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/IHuahengMultiHandlerService.java index 40fadd4..bc44846 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/IHuahengMultiHandlerService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/IHuahengMultiHandlerService.java @@ -3,6 +3,7 @@ package org.jeecg.modules.wms.framework.service; import java.util.List; import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.wms.api.mobile.entity.CallBoxBean; import org.jeecg.modules.wms.api.mobile.entity.QuickReceiptBean; import org.jeecg.modules.wms.receipt.receiptContainerHeader.entity.ReceiptContainerHeader; @@ -51,5 +52,5 @@ public interface IHuahengMultiHandlerService { Result sendTaskToWcs(TaskHeader taskHeader, String zoneCode); void sendTaskToWcs(List<TaskHeader> taskHeaders, String warehouseCode, String zoneCode); - + } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java index e9bd497..205d94c 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java @@ -6,6 +6,9 @@ import java.util.List; import javax.annotation.Resource; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.constant.WebsocketConst; +import org.jeecg.modules.message.websocket.WebSocket; +import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.wms.api.erp.service.IErpService; import org.jeecg.modules.wms.api.mobile.entity.CallBoxBean; import org.jeecg.modules.wms.api.mobile.entity.QuickReceiptBean; @@ -31,6 +34,8 @@ import org.jeecg.modules.wms.task.taskHeader.service.ITaskHeaderService; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import com.alibaba.fastjson.JSONObject; + import lombok.extern.slf4j.Slf4j; /** diff --git a/huaheng-wms-core/src/main/java/org/jeecg/utils/support/SystemSync.java b/huaheng-wms-core/src/main/java/org/jeecg/utils/support/SystemSync.java index 73039f4..ecc7db1 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/utils/support/SystemSync.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/utils/support/SystemSync.java @@ -4,6 +4,11 @@ import java.math.BigDecimal; import java.util.List; import java.util.concurrent.Future; +import javax.annotation.Resource; + +import org.jeecg.common.constant.WebsocketConst; +import org.jeecg.modules.message.websocket.WebSocket; +import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.wms.inventory.inventoryTransaction.entity.InventoryTransaction; import org.jeecg.modules.wms.inventory.inventoryTransaction.service.IInventoryTransactionService; import org.jeecg.modules.wms.monitor.apiLog.entity.ApiLog; @@ -14,6 +19,7 @@ import org.springframework.scheduling.annotation.AsyncResult; import org.springframework.stereotype.Component; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -28,6 +34,22 @@ public class SystemSync { @Autowired private IInventoryTransactionService inventoryTransactionService; + + @Autowired + private WebSocket webSocket; + + @Async("asyncPoolTaskExecutor") + public void sendMaterialAlarm(SysUser sysUser) { + try { + Thread.sleep(20000); + JSONObject obj = new JSONObject(); + obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_TOPIC); + obj.put(WebsocketConst.MSG_ID, "111"); + obj.put(WebsocketConst.MSG_TXT, "登录通知测试"); + webSocket.sendMessage(obj.toJSONString()); + } catch (Exception e) { + } + } /** * 保存API调用日志