package com.xiaopeng.operation.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xiaopeng.api.vo.HotFixInfoVo; import com.xiaopeng.common.redis.service.RedisService; import com.xiaopeng.operation.mapper.XpSystemSettingMapper; import com.xiaopeng.api.model.operation.XpSystemSetting; import com.xiaopeng.operation.service.XpSystemSettingService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.cache.RedisCache; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Objects; /** *

* 系统设置表 服务实现类 *

* * @author liu * @since 2026-02-03 */ @Service public class XpSystemSettingServiceImpl extends ServiceImpl implements XpSystemSettingService { @Autowired private RedisService redisService; @Override public String getCustomerServicePhone() { XpSystemSetting xpSystemSetting = this.getOne(null); if (xpSystemSetting != null) { return xpSystemSetting.getCustomerServicePhone(); } return ""; } @Override public Integer getOrderDistance() { XpSystemSetting xpSystemSetting = this.getOne(null); if (xpSystemSetting != null) { return xpSystemSetting.getOrderDistance(); } return 0; } @Override public Integer getOrderFinishTime() { XpSystemSetting xpSystemSetting = this.getOne(null); if (xpSystemSetting != null) { return xpSystemSetting.getArriveTime(); } return 15; } @Override public void saveSystemSetting(XpSystemSetting xpSystemSetting) { if (Objects.nonNull(xpSystemSetting.getId())) { update(xpSystemSetting, new LambdaQueryWrapper().eq(XpSystemSetting::getId, xpSystemSetting.getId())); } else { save(xpSystemSetting); } //保存热修复信息到redis HotFixInfoVo hotFixInfoVo = new HotFixInfoVo(); hotFixInfoVo.setHotfixStatus(xpSystemSetting.getHotfixStatus() == null ? 0 : xpSystemSetting.getHotfixStatus()); hotFixInfoVo.setHotfixStartTime(xpSystemSetting.getHotfixStartTime()); hotFixInfoVo.setHotfixEndTime(xpSystemSetting.getHotfixEndTime()); redisService.setCacheObject("HOT_FIX_INFO", hotFixInfoVo); } }