12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package com.fdkankan.contro.service.impl;
- import cn.hutool.core.collection.CollUtil;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.fdkankan.common.constant.CommonStatus;
- import com.fdkankan.common.constant.PayStatus;
- import com.fdkankan.common.constant.SceneStatus;
- import com.fdkankan.common.constant.SpaceType;
- import com.fdkankan.contro.entity.ScenePro;
- import com.fdkankan.contro.mapper.ISceneProMapper;
- import com.fdkankan.contro.service.ISceneProService;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.stereotype.Service;
- import java.util.List;
- import java.util.Objects;
- /**
- * <p>
- * pro场景表 服务实现类
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
- @Slf4j
- @Service
- public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro> implements ISceneProService {
- @Override
- public ScenePro getByNum(String num) {
- return this.getOne(new LambdaQueryWrapper<ScenePro>().eq(ScenePro::getNum, num));
- }
- @Override
- public Long sumUsedSpaceByCameraId(Long cameraId, String spaceTypeStr) {
- LambdaQueryWrapper<ScenePro> wrapper = new LambdaQueryWrapper<ScenePro>()
- .eq(ScenePro::getCameraId, cameraId)
- .in(ScenePro::getStatus, SceneStatus.SUCCESS.code(), SceneStatus.NO_DISPLAY.code())
- .eq(ScenePro::getIsUpgrade, CommonStatus.NO.code());
- SpaceType spaceType = SpaceType.get(spaceTypeStr);
- switch (spaceType){
- case GB:
- wrapper.select(ScenePro::getSpace);
- List<ScenePro> list = this.list(wrapper);
- if(CollUtil.isEmpty(list)){
- return 0L;
- }
- return list.stream().mapToLong(pro -> {
- Long space = pro.getSpace();
- return Objects.isNull(space) ? 0L : space;
- }).sum();
- case SP:
- wrapper.eq(ScenePro::getPayStatus, PayStatus.PAY.code());
- return this.count(wrapper);
- }
- return 0L;
- }
- }
|