用户道具增加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 com.red.circle.tool.core.date.TimestampUtils;
|
||||||
|
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -38,6 +39,9 @@ import org.springframework.stereotype.Service;
|
|||||||
public class PropsBackpackServiceImpl extends
|
public class PropsBackpackServiceImpl extends
|
||||||
BaseServiceImpl<PropsBackpackDAO, PropsBackpack> implements PropsBackpackService {
|
BaseServiceImpl<PropsBackpackDAO, PropsBackpack> implements PropsBackpackService {
|
||||||
|
|
||||||
|
private static final Timestamp MYSQL_DATETIME_MAX = Timestamp.valueOf("2038-01-19 00:00:00");
|
||||||
|
|
||||||
|
|
||||||
private final PropsBackpackDAO propsBackpackDAO;
|
private final PropsBackpackDAO propsBackpackDAO;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -254,18 +258,28 @@ public class PropsBackpackServiceImpl extends
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (Objects.isNull(propsBackpack)) {
|
if (Objects.isNull(propsBackpack)) {
|
||||||
|
backpack.setExpireTime(capExpireTime(backpack.getExpireTime()));
|
||||||
save(backpack);
|
save(backpack);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
propsBackpack.setUseProps(backpack.getUseProps());
|
propsBackpack.setUseProps(backpack.getUseProps());
|
||||||
propsBackpack.setAllowGive(backpack.getAllowGive());
|
propsBackpack.setAllowGive(backpack.getAllowGive());
|
||||||
// propsBackpack.setExpireTime(
|
propsBackpack.setExpireTime(capExpireTime(backpack.getExpireTime()));
|
||||||
// getExpireTime(propsBackpack.getExpireTime(), backpack.getExpireTime()));
|
|
||||||
propsBackpack.setExpireTime(backpack.getExpireTime());
|
propsBackpack.setExpireTime(backpack.getExpireTime());
|
||||||
updateSelectiveById(propsBackpack);
|
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) {
|
private Timestamp getExpireTime(Timestamp historyExpireTime, Timestamp appendExpireTime) {
|
||||||
if (Objects.isNull(historyExpireTime) || historyExpireTime.before(TimestampUtils.now())) {
|
if (Objects.isNull(historyExpireTime) || historyExpireTime.before(TimestampUtils.now())) {
|
||||||
return appendExpireTime;
|
return appendExpireTime;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user