2
zyy
2025-11-14 6e85d12eab8accba3dd6731d9273388bd7f8d68c
2
3 files modified
48 ■■■■■ changed files
trading-order-admin/src/main/java/com/yami/trading/admin/controller/user/UserDataController.java 16 ●●●●● patch | view | raw | blame | history
trading-order-common/src/main/java/com/yami/trading/common/util/DateUtil.java 30 ●●●●● patch | view | raw | blame | history
trading-order-service/src/main/resources/mapper/UserMapper.xml 2 ●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/controller/user/UserDataController.java
@@ -15,6 +15,8 @@
import com.yami.trading.common.constants.Constants;
import com.yami.trading.common.domain.Result;
import com.yami.trading.common.exception.YamiShopBindException;
import com.yami.trading.common.util.DateUtil;
import com.yami.trading.common.util.DateUtils;
import com.yami.trading.common.util.IPHelper;
import com.yami.trading.security.common.manager.PasswordManager;
import com.yami.trading.security.common.util.SecurityUtils;
@@ -30,7 +32,11 @@
import javax.validation.Valid;
import java.text.MessageFormat;
import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@RestController
@@ -80,6 +86,16 @@
            userDataDto.setUserRegip(userDataDto.getUserLastip());
            userDataDto.setUserLevel(userDataDto.getUserLevel() / 10);
            if (userDataDto.getUserLasttime() != null) {
                String time = DateUtil.convertToZonedDateTime(userDataDto.getUserLasttime());
                Date toDate = DateUtil.stringToDate(time, "yyyy-MM-dd HH:mm:ss");
                userDataDto.setUserLasttime(toDate);
            }
            if (userDataDto.getCreateTime() != null) {
                String time = DateUtil.convertToZonedDateTime(userDataDto.getCreateTime());
                Date toDate = DateUtil.stringToDate(time, "yyyy-MM-dd HH:mm:ss");
                userDataDto.setCreateTime(toDate);
            }
        }
        return Result.ok(page);
    }
trading-order-common/src/main/java/com/yami/trading/common/util/DateUtil.java
@@ -1,7 +1,13 @@
package com.yami.trading.common.util;
import org.apache.commons.lang3.time.DateFormatUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
@@ -894,4 +900,28 @@
    public static long stringToMillSeconds(String dateString){
        return stringToDate(dateString,java.sql.Timestamp.class).getTime();
    }
    /**
     * 把美国时区时间转为德国时区时间
     * @param date
     * @return
     */
    public static String convertToZonedDateTime(Date date){
        // 1. 将Date转换为UTC瞬时点(Instant)
        Instant utcInstant = date.toInstant();
        // 2. 绑定原始时区:明确该时间是纽约时区的时间
        ZoneId newYorkZone = ZoneId.of("America/New_York");
        ZonedDateTime newYorkZonedTime = ZonedDateTime.ofInstant(utcInstant, newYorkZone);
        // 3. 转换为德国时区(Europe/Berlin,自动处理夏令时)
        ZoneId berlinZone = ZoneId.of("Europe/Berlin");
        ZonedDateTime berlinZonedTime = newYorkZonedTime.withZoneSameInstant(berlinZone);
        // 4. 格式化输出(例如:yyyy-MM-dd HH:mm:ss)
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        return berlinZonedTime.format(formatter);
    }
}
trading-order-service/src/main/resources/mapper/UserMapper.xml
@@ -117,7 +117,7 @@
        </if>
        <if test="userName!=null and userName!=''">
            and u.user_name=#{userName} or u.user_code=#{userName}
            and (u.user_name=#{userName} or u.user_code=#{userName})
        </if>
        <if test="userMail!=null and userMail!=''">