123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- package com.rongwei.bscommon.system.utils;
- import com.rongwei.bscommon.system.service.QHSERedisService;
- import com.rongwei.rwadmincommon.system.domain.SysUserDo;
- import com.rongwei.rwadmincommon.system.vo.SysUserVo;
- import com.rongwei.rwcommon.base.BaseDo;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import org.springframework.web.context.request.RequestContextHolder;
- import org.springframework.web.context.request.ServletRequestAttributes;
- import javax.annotation.PostConstruct;
- import javax.servlet.http.HttpServletRequest;
- import java.math.BigDecimal;
- import java.math.RoundingMode;
- import java.util.Date;
- /**
- * JXKHUtils class
- *
- * @author XH
- * @date 2024/12/02
- */
- @Component
- public class QHSEUtils {
- private static QHSERedisService QHSERedisService;
- @Autowired
- private QHSERedisService autoQHSERedisService;
- /**
- * 获取当前的登陆人信息
- *
- * @return
- */
- public static SysUserVo getCurrentUser() {
- // 获取当前登录人信息
- SysUserVo currUser = null;
- ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
- if (attributes != null) {
- HttpServletRequest request = attributes.getRequest();
- if (request != null) {
- String token = request.getHeader("token");
- if (com.rongwei.rwcommon.utils.StringUtils.isNotEmpty(token)) {
- currUser = QHSERedisService.getLoginUser(token);
- }
- }
- }
- return currUser;
- }
- public static <T extends BaseDo> void initModelGeneralParameters(T t, SysUserDo userVo) {
- if (userVo == null) {
- userVo = getCurrentUser();
- }
- t.setCreatedate(new Date());
- t.setModifydate(new Date());
- if (userVo != null) {
- t.setCreateuserid(userVo.getId());
- t.setCreateusername(userVo.getName());
- t.setModifyuserid(userVo.getId());
- t.setModifyusername(userVo.getName());
- }
- t.setDeleted("0");
- }
- public static BigDecimal CALCULATE_Y3(BigDecimal x1, BigDecimal y1, BigDecimal x2, BigDecimal y2, BigDecimal x3) {
- // 检查x1是否等于x2,以避免除以零的错误
- if (x1.compareTo(x2) == 0) {
- throw new IllegalArgumentException("x1 和 x2 不能相等,因为这将导致除以零的错误。");
- }
- // 使用两点式方程计算y3值
- return y1.add(y2.subtract(y1).multiply(x3.subtract(x1)).divide(x2.subtract(x1),4, RoundingMode.HALF_UP)).setScale(3, RoundingMode.HALF_UP);
- }
- @PostConstruct
- public void init() {
- QHSERedisService = autoQHSERedisService;
- }
- public static String getIp(HttpServletRequest request) {
- String ipAddress = request.getHeader("X-Forwarded-For");
- if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) {
- ipAddress = request.getHeader("Proxy-Client-IP");
- }
- if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) {
- ipAddress = request.getHeader("WL-Proxy-Client-IP");
- }
- if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) {
- ipAddress = request.getRemoteAddr();
- }
- // 处理多级代理的情况(取第一个有效IP)
- if (ipAddress != null && ipAddress.contains(",")) {
- ipAddress = ipAddress.split(",")[0].trim();
- }
- return ipAddress;
- }
- }
|