|
|
@@ -19,6 +19,7 @@ import org.dromara.server.consume.domain.bo.XfTermBo;
|
|
|
import org.dromara.server.consume.domain.vo.XfTermVo;
|
|
|
import org.dromara.server.consume.mapper.XfTermMapper;
|
|
|
import org.dromara.server.consume.service.IXfTermService;
|
|
|
+import org.springframework.cache.annotation.Cacheable;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.List;
|
|
|
@@ -96,17 +97,14 @@ public class XfTermServiceImpl implements IXfTermService {
|
|
|
RemotePtAccountVo accountVo = remotePtAccountService.selectVoById(vo.getAccountId());
|
|
|
if (ObjUtil.isNotEmpty(accountVo)) {
|
|
|
vo.setAccountName(accountVo.getAccountName());
|
|
|
+ } else{
|
|
|
+ vo.setAccountName("未知结算账户");
|
|
|
}
|
|
|
RemotePtRoomVo roomVo = remotePtRoomService.selectVoById(vo.getRoomId());
|
|
|
if (ObjUtil.isNotEmpty(roomVo)) {
|
|
|
vo.setRoomName(roomVo.getRoomName());
|
|
|
- }
|
|
|
- List<XfTermVo> redisList = RedisUtils.getCacheList(CacheNames.PT_TERM_LIST);
|
|
|
- if (CollectionUtil.isNotEmpty(redisList)) {
|
|
|
- RedisUtils.addCacheList(CacheNames.PT_TERM_LIST, vo);
|
|
|
} else {
|
|
|
- redisList.add(vo);
|
|
|
- RedisUtils.setCacheList(CacheNames.PT_TERM_LIST, redisList);
|
|
|
+ vo.setRoomName("未知房间");
|
|
|
}
|
|
|
}
|
|
|
return vo;
|
|
|
@@ -119,19 +117,20 @@ public class XfTermServiceImpl implements IXfTermService {
|
|
|
* @return 消费设备设备
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Cacheable(cacheNames = CacheNames.PT_TERM_NO, key = "#termNo", unless = "#result == null")
|
|
|
public XfTermVo queryVoOneByNo(Long termNo) {
|
|
|
- XfTermVo vo;
|
|
|
- List<XfTermVo> redisList = RedisUtils.getCacheList(CacheNames.PT_TERM_LIST);
|
|
|
- if (CollectionUtil.isNotEmpty(redisList)) {
|
|
|
- vo = redisList.stream().filter(p -> Objects.equals(p.getTermNo(), termNo)).findFirst().orElse(null);
|
|
|
- if (ObjUtil.isNotNull(vo)) {
|
|
|
- return vo;
|
|
|
- }
|
|
|
- }
|
|
|
XfTermBo bo = new XfTermBo();
|
|
|
bo.setTermNo(termNo);
|
|
|
bo.setTenantId(defaultConfig.getTenantId());
|
|
|
- return this.queryVoOneByBo(bo);
|
|
|
+ return queryVoOneByBo(bo);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Cacheable(cacheNames = CacheNames.PT_TERM_MAC_MAP, key = "#mac", unless = "#result == null")
|
|
|
+ public XfTermVo queryVoOneByMac(String mac) {
|
|
|
+ XfTermBo bo = new XfTermBo();
|
|
|
+ bo.setTermMac(mac);
|
|
|
+ return queryVoOneByBo(bo);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -146,7 +145,6 @@ public class XfTermServiceImpl implements IXfTermService {
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getTenantId()), XfTerm::getTenantId, bo.getTenantId());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getTermIp()), XfTerm::getTermIp, bo.getTermIp());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getTermMac()), XfTerm::getTermMac, bo.getTermMac());
|
|
|
-
|
|
|
lqw.like(StringUtils.isNotBlank(bo.getTermName()), XfTerm::getTermName, bo.getTermName());
|
|
|
|
|
|
lqw.orderByAsc(XfTerm::getTermNo);
|