Merge remote-tracking branch 'origin/develop' into develop
						commit
						a0eb69d689
					
				| 
						 | 
					@ -63,65 +63,70 @@ public class LoginController {
 | 
				
			||||||
    @PostMapping("/users/login")
 | 
					    @PostMapping("/users/login")
 | 
				
			||||||
    public GeneralResult<Map<String, Object>> userLogin(@RequestBody LoginModel loginModel,
 | 
					    public GeneralResult<Map<String, Object>> userLogin(@RequestBody LoginModel loginModel,
 | 
				
			||||||
                                                        HttpServletRequest request) {
 | 
					                                                        HttpServletRequest request) {
 | 
				
			||||||
        log.info("开始执行登录请求");
 | 
					        try {
 | 
				
			||||||
        long start;
 | 
					            log.info("开始执行登录请求");
 | 
				
			||||||
        String account = loginModel.getAccount();
 | 
					            long start;
 | 
				
			||||||
        String password = loginModel.getPassword();
 | 
					            String account = loginModel.getAccount();
 | 
				
			||||||
        log.info("开始调用UserService");
 | 
					            String password = loginModel.getPassword();
 | 
				
			||||||
        GeneralResult<Map<String, Object>> loginResult = userService
 | 
					            log.info("开始调用UserService");
 | 
				
			||||||
                .login(account, password, request.getSession().getId(), IpTool.getIP(request), loginModel.getIsManager());
 | 
					            GeneralResult<Map<String, Object>> loginResult = userService
 | 
				
			||||||
        log.info("请求方ip地址trx:" + trxService.getRequestIpAddress(request));
 | 
					                    .login(account, password, request.getSession().getId(), IpTool.getIP(request), loginModel.getIsManager());
 | 
				
			||||||
        log.info("请求方ip地址:" + IpTool.getIP(request));
 | 
					            log.info("请求方ip地址trx:" + trxService.getRequestIpAddress(request));
 | 
				
			||||||
        log.info("结束调用UserService");
 | 
					            log.info("请求方ip地址:" + IpTool.getIP(request));
 | 
				
			||||||
        if (loginResult.isFailed()) {
 | 
					            log.info("结束调用UserService");
 | 
				
			||||||
            if (null == loginResult.getData()) {
 | 
					            if (loginResult.isFailed()) {
 | 
				
			||||||
                String path = "Login_" + account;
 | 
					                if (null == loginResult.getData()) {
 | 
				
			||||||
                try (com.megatron.framework.lock.AutoCloseLock lock = lockFactory.getACLock(path)) {
 | 
					                    String path = "Login_" + account;
 | 
				
			||||||
                    Assert.isTrue(lock.acquire(10, TimeUnit.SECONDS), "请求超时");
 | 
					                    try (com.megatron.framework.lock.AutoCloseLock lock = lockFactory.getACLock(path)) {
 | 
				
			||||||
                    start = System.currentTimeMillis();
 | 
					                        Assert.isTrue(lock.acquire(10, TimeUnit.SECONDS), "请求超时");
 | 
				
			||||||
                    String value = redisTemplate.opsForValue().get(RequestContext.Catalog.User.name() + account);
 | 
					 | 
				
			||||||
                    log.info("查询Redis耗时{}ms", System.currentTimeMillis() - start);
 | 
					 | 
				
			||||||
                    SystemConfig errorNumber = systemConfigRepository.queryByCode("pwdErrorNumber");
 | 
					 | 
				
			||||||
                    int error = Integer.parseInt(errorNumber.getValue());
 | 
					 | 
				
			||||||
                    if (!StringUtils.hasText(value)) {
 | 
					 | 
				
			||||||
                        //密码操作失败
 | 
					 | 
				
			||||||
                        start = System.currentTimeMillis();
 | 
					                        start = System.currentTimeMillis();
 | 
				
			||||||
                        redisTemplate.opsForValue()
 | 
					                        String value = redisTemplate.opsForValue().get(RequestContext.Catalog.User.name() + account);
 | 
				
			||||||
                                .set(RequestContext.Catalog.User.name() + account, String.valueOf(1), 60, TimeUnit.SECONDS);
 | 
					                        log.info("查询Redis耗时{}ms", System.currentTimeMillis() - start);
 | 
				
			||||||
                        log.info("写入Redis耗时{}ms", System.currentTimeMillis() - start);
 | 
					                        SystemConfig errorNumber = systemConfigRepository.queryByCode("pwdErrorNumber");
 | 
				
			||||||
                        loginResult = new GeneralResult<>(false, loginResult.getMessage() + ",已操作【1】次");
 | 
					                        int error = Integer.parseInt(errorNumber.getValue());
 | 
				
			||||||
                    } else if (Integer.parseInt(value) >= error) {
 | 
					                        if (!StringUtils.hasText(value)) {
 | 
				
			||||||
                        Result lockResult = userService.lockByAccount(account);
 | 
					                            //密码操作失败
 | 
				
			||||||
                        boolean success = lockResult.isSuccess();
 | 
					                            start = System.currentTimeMillis();
 | 
				
			||||||
                        start = System.currentTimeMillis();
 | 
					                            redisTemplate.opsForValue()
 | 
				
			||||||
                        redisTemplate.delete(RequestContext.Catalog.User.name() + account);
 | 
					                                    .set(RequestContext.Catalog.User.name() + account, String.valueOf(1), 60, TimeUnit.SECONDS);
 | 
				
			||||||
                        log.info("删除Redis耗时{}ms", System.currentTimeMillis() - start);
 | 
					                            log.info("写入Redis耗时{}ms", System.currentTimeMillis() - start);
 | 
				
			||||||
                        if (success) {
 | 
					                            loginResult = new GeneralResult<>(false, loginResult.getMessage() + ",已操作【1】次");
 | 
				
			||||||
                            loginResult = new GeneralResult<>(false, "账号或者密码错误已达【" + error + "】次,若用户存在将被冻结,请联系管理员解冻");
 | 
					                        } else if (Integer.parseInt(value) >= error) {
 | 
				
			||||||
 | 
					                            Result lockResult = userService.lockByAccount(account);
 | 
				
			||||||
 | 
					                            boolean success = lockResult.isSuccess();
 | 
				
			||||||
 | 
					                            start = System.currentTimeMillis();
 | 
				
			||||||
 | 
					                            redisTemplate.delete(RequestContext.Catalog.User.name() + account);
 | 
				
			||||||
 | 
					                            log.info("删除Redis耗时{}ms", System.currentTimeMillis() - start);
 | 
				
			||||||
 | 
					                            if (success) {
 | 
				
			||||||
 | 
					                                loginResult = new GeneralResult<>(false, "账号或者密码错误已达【" + error + "】次,若用户存在将被冻结,请联系管理员解冻");
 | 
				
			||||||
 | 
					                            } else {
 | 
				
			||||||
 | 
					                                loginResult = new GeneralResult<>(false, "认证服务账号缓存存在问题");
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
                        } else {
 | 
					                        } else {
 | 
				
			||||||
                            loginResult = new GeneralResult<>(false, "认证服务账号缓存存在问题");
 | 
					                            start = System.currentTimeMillis();
 | 
				
			||||||
 | 
					                            redisTemplate.boundValueOps(RequestContext.Catalog.User.name() + account).increment(1L);
 | 
				
			||||||
 | 
					                            log.info("写入Redis耗时{}ms", System.currentTimeMillis() - start);
 | 
				
			||||||
 | 
					                            String num = redisTemplate.opsForValue().get(RequestContext.Catalog.User.name() + account);
 | 
				
			||||||
 | 
					                            loginResult = new GeneralResult<>(false, loginResult.getMessage() + ",已操作【" + num + "】次");
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    } else {
 | 
					                        log.info("登录请求处理完成");
 | 
				
			||||||
                        start = System.currentTimeMillis();
 | 
					                        return loginResult;
 | 
				
			||||||
                        redisTemplate.boundValueOps(RequestContext.Catalog.User.name() + account).increment(1L);
 | 
					                    } catch (Exception e) {
 | 
				
			||||||
                        log.info("写入Redis耗时{}ms", System.currentTimeMillis() - start);
 | 
					                        log.error("Get login error message:", e);
 | 
				
			||||||
                        String num = redisTemplate.opsForValue().get(RequestContext.Catalog.User.name() + account);
 | 
					                        log.info("登录请求处理完成");
 | 
				
			||||||
                        loginResult = new GeneralResult<>(false, loginResult.getMessage() + ",已操作【" + num + "】次");
 | 
					                        return loginResult;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    log.info("登录请求处理完成");
 | 
					 | 
				
			||||||
                    return loginResult;
 | 
					 | 
				
			||||||
                } catch (Exception e) {
 | 
					 | 
				
			||||||
                    log.error("Get login error message:", e);
 | 
					 | 
				
			||||||
                    log.info("登录请求处理完成");
 | 
					 | 
				
			||||||
                    return loginResult;
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            start = System.currentTimeMillis();
 | 
				
			||||||
 | 
					            redisTemplate.delete(RequestContext.Catalog.User.name() + account);
 | 
				
			||||||
 | 
					            log.info("删除Redis耗时{}ms", System.currentTimeMillis() - start);
 | 
				
			||||||
 | 
					            log.info("登录请求处理完成");
 | 
				
			||||||
 | 
					            return loginResult;
 | 
				
			||||||
 | 
					        }catch (Exception e){
 | 
				
			||||||
 | 
					            log.error("登录异常",e);
 | 
				
			||||||
 | 
					            return new GeneralResult<>(false,"登录异常:" + e.getMessage());
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        start = System.currentTimeMillis();
 | 
					 | 
				
			||||||
        redisTemplate.delete(RequestContext.Catalog.User.name() + account);
 | 
					 | 
				
			||||||
        log.info("删除Redis耗时{}ms", System.currentTimeMillis() - start);
 | 
					 | 
				
			||||||
        log.info("登录请求处理完成");
 | 
					 | 
				
			||||||
        return loginResult;
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -55,21 +55,29 @@
 | 
				
			||||||
        </filter>
 | 
					        </filter>
 | 
				
			||||||
    </appender>
 | 
					    </appender>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- 异步 Syslog 配置 -->
 | 
				
			||||||
 | 
					    <appender name="ASYNC_SYSLOG" class="ch.qos.logback.classic.AsyncAppender">
 | 
				
			||||||
 | 
					        <appender-ref ref="SYSLOG"/>
 | 
				
			||||||
 | 
					        <queueSize>5000</queueSize> <!-- 设置队列大小,取决于应用负载 -->
 | 
				
			||||||
 | 
					        <discardingThreshold>0</discardingThreshold> <!-- 设置丢弃策略 -->
 | 
				
			||||||
 | 
					        <includeCallerData>true</includeCallerData>
 | 
				
			||||||
 | 
					    </appender>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <root level="${logging.level.root}">
 | 
					    <root level="${logging.level.root}">
 | 
				
			||||||
        <appender-ref ref="CONSOLE"/>
 | 
					        <appender-ref ref="CONSOLE"/>
 | 
				
			||||||
        <appender-ref ref="LOG_FILE"/>
 | 
					        <appender-ref ref="LOG_FILE"/>
 | 
				
			||||||
        <appender-ref ref="SYSLOG"/>
 | 
					        <appender-ref ref="ASYNC_SYSLOG"/>
 | 
				
			||||||
    </root>
 | 
					    </root>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <logger name="com.bocloud" level="${logging.level.com.bocloud}" additivity="false">
 | 
					    <logger name="com.bocloud" level="${logging.level.com.bocloud}" additivity="false">
 | 
				
			||||||
        <appender-ref ref="CONSOLE"/>
 | 
					        <appender-ref ref="CONSOLE"/>
 | 
				
			||||||
        <appender-ref ref="LOG_FILE"/>
 | 
					        <appender-ref ref="LOG_FILE"/>
 | 
				
			||||||
        <appender-ref ref="SYSLOG"/>
 | 
					        <appender-ref ref="ASYNC_SYSLOG"/>
 | 
				
			||||||
    </logger>
 | 
					    </logger>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <logger name="com.alibaba.druid.pool.DruidAbstractDataSource" level="error" additivity="false">
 | 
					    <logger name="com.alibaba.druid.pool.DruidAbstractDataSource" level="error" additivity="false">
 | 
				
			||||||
        <appender-ref ref="CONSOLE"/>
 | 
					        <appender-ref ref="CONSOLE"/>
 | 
				
			||||||
        <appender-ref ref="LOG_FILE"/>
 | 
					        <appender-ref ref="LOG_FILE"/>
 | 
				
			||||||
        <appender-ref ref="SYSLOG"/>
 | 
					        <appender-ref ref="ASYNC_SYSLOG"/>
 | 
				
			||||||
    </logger>
 | 
					    </logger>
 | 
				
			||||||
</configuration>
 | 
					</configuration>
 | 
				
			||||||
| 
						 | 
					@ -94,7 +94,8 @@ public class IndexServiceImpl implements IndexService {
 | 
				
			||||||
        log.info("user:{}", JSON.toJSONString(user));
 | 
					        log.info("user:{}", JSON.toJSONString(user));
 | 
				
			||||||
        param.put("userId", user.getUserId() == null ? ykUtil.getReqUserId() : user.getUserId());
 | 
					        param.put("userId", user.getUserId() == null ? ykUtil.getReqUserId() : user.getUserId());
 | 
				
			||||||
        param.put("page", 1);
 | 
					        param.put("page", 1);
 | 
				
			||||||
        param.put("limit", Integer.MAX_VALUE);
 | 
					        param.put("limit", 15); //理想要求 固定值15
 | 
				
			||||||
 | 
					        log.info("get task list params:{}", JSON.toJSONString(param));
 | 
				
			||||||
        String result = ykUtil.call(YkInfo.getTaskList, param, JSONArray.class);
 | 
					        String result = ykUtil.call(YkInfo.getTaskList, param, JSONArray.class);
 | 
				
			||||||
        log.info("result:{}",result);
 | 
					        log.info("result:{}",result);
 | 
				
			||||||
        JSONObject jsonObject = JSONArray.parseObject(result, JSONObject.class);
 | 
					        JSONObject jsonObject = JSONArray.parseObject(result, JSONObject.class);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue