添加方法级 Caller 锁

This commit is contained in:
2025-05-15 01:39:54 +08:00
parent fc9553f2db
commit e0e7942412
12 changed files with 430 additions and 25 deletions

View File

@@ -0,0 +1,70 @@
package quant.rich.emoney.pojo.dto;
import java.util.Objects;
import org.apache.commons.lang3.StringUtils;
import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(chain=true)
public class IpInfo {
private String ip = "Unknown";
private String ipv6;
private String country;
private String subdivision;
private String city;
public static final IpInfo EMPTY = new IpInfo();
public IpInfo setIp(String ip) {
if (ip != null) this.ip = ip.trim();
return this;
}
public IpInfo setIpv6(String ipv6) {
if (ipv6 != null) this.ipv6 = ipv6.trim();
return this;
}
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("IP: ").append(getIp());
if (StringUtils.isNoneBlank(getIpv6())) {
sb.append(", ").append("IPv6: ").append(getIpv6());
}
sb.append(getGeoString());
return sb.toString();
}
public String getString() {
return toString();
}
public String getGeoString() {
StringBuilder sb = new StringBuilder();
sb.append("(");
if (StringUtils.isNotBlank(getCountry())) {
// 国家
sb.append(getCountry());
if (StringUtils.isNotBlank(getSubdivision())) {
sb.append(getSubdivision());
}
if (StringUtils.isNotBlank(getCity()) && !Objects.equals(getCountry(), getCity())) {
// 有时候国家和地区与城市一致的,忽略
sb.append(getCity());
}
}
else {
sb.append("未知位置");
}
sb.append(")");
return sb.toString();
}
public boolean isEmpty() {
return StringUtils.isBlank(getIp());
}
}