private Locale locale(){ CustomUserDetails details = DetailsHelper.getUserDetails(); Locale locale = Locale.SIMPLIFIED_CHINESE; if(details != null && "en_US".equals(details.getLanguage())){ locale = Locale.US; } return locale; }
@Override public Date deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { try { SimpleDateFormat dateFormatGmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); CustomUserDetails details = DetailsHelper.getUserDetails(); if (details != null && details.getTimeZone() != null) { dateFormatGmt.setTimeZone(TimeZone.getTimeZone(details.getTimeZone())); } return dateFormatGmt.parse(jsonParser.getValueAsString()); } catch (Exception e) { LOGGER.warn("date format error : {}", e); return null; } } }
@Override public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { try { SimpleDateFormat dateFormatGmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); CustomUserDetails details = DetailsHelper.getUserDetails(); if (details != null && details.getTimeZone() != null) { dateFormatGmt.setTimeZone(TimeZone.getTimeZone(details.getTimeZone())); } jsonGenerator.writeString(dateFormatGmt.format(date)); } catch (Exception e) { LOGGER.warn("date format error : {}", e); jsonGenerator.writeNull(); } } }
public static String language(){ CustomUserDetails details = DetailsHelper.getUserDetails(); if(details != null) { language(details.getLanguage()); } else { if(languages.get() == null) { language("zh_CN"); LOGGER.warn("principal not instanceof CustomUserDetails language is zh_CN"); } } return languages.get(); }
public static Audit audit(){ Audit audit = audits.get(); if(audit == null){ audit = new Audit(); audits.set(audit); } audit.setNow(new Date()); CustomUserDetails details = DetailsHelper.getUserDetails(); if(details != null) { audit.setUser(details.getUserId()); } else { if(audit.getUser() == null) { audit.setUser(0L); LOGGER.warn("principal not instanceof CustomUserDetails audit user is 0L"); } } return audit; } }