用户道具增加datetime 时间上线处理
This commit is contained in:
parent
814307282e
commit
e3e57e9e91
@ -12,6 +12,7 @@ import com.red.circle.tool.core.collection.CollectionUtils;
|
||||
import com.red.circle.tool.core.date.TimestampUtils;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -38,6 +39,9 @@ import org.springframework.stereotype.Service;
|
||||
public class PropsBackpackServiceImpl extends
|
||||
BaseServiceImpl<PropsBackpackDAO, PropsBackpack> implements PropsBackpackService {
|
||||
|
||||
private static final Timestamp MYSQL_DATETIME_MAX = Timestamp.valueOf("2038-01-19 00:00:00");
|
||||
|
||||
|
||||
private final PropsBackpackDAO propsBackpackDAO;
|
||||
|
||||
@Override
|
||||
@ -254,18 +258,28 @@ public class PropsBackpackServiceImpl extends
|
||||
}
|
||||
|
||||
if (Objects.isNull(propsBackpack)) {
|
||||
backpack.setExpireTime(capExpireTime(backpack.getExpireTime()));
|
||||
save(backpack);
|
||||
return;
|
||||
}
|
||||
|
||||
propsBackpack.setUseProps(backpack.getUseProps());
|
||||
propsBackpack.setAllowGive(backpack.getAllowGive());
|
||||
// propsBackpack.setExpireTime(
|
||||
// getExpireTime(propsBackpack.getExpireTime(), backpack.getExpireTime()));
|
||||
propsBackpack.setExpireTime(capExpireTime(backpack.getExpireTime()));
|
||||
propsBackpack.setExpireTime(backpack.getExpireTime());
|
||||
updateSelectiveById(propsBackpack);
|
||||
}
|
||||
|
||||
/**
|
||||
* 防止 expire_time 超出 MySQL DATETIME 上限 (2038-01-19 00:00:00)
|
||||
*/
|
||||
private Timestamp capExpireTime(Timestamp expireTime) {
|
||||
if (expireTime == null) {
|
||||
return null;
|
||||
}
|
||||
return expireTime.after(MYSQL_DATETIME_MAX) ? MYSQL_DATETIME_MAX : expireTime;
|
||||
}
|
||||
|
||||
private Timestamp getExpireTime(Timestamp historyExpireTime, Timestamp appendExpireTime) {
|
||||
if (Objects.isNull(historyExpireTime) || historyExpireTime.before(TimestampUtils.now())) {
|
||||
return appendExpireTime;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user