潘志宝
2025-02-24 b4b4596887770a34f80c31ab849068893094dab5
提交 | 用户 | 时间
2a6f08 1 package com.iailab.module.data.ind.value.service.impl;
2
3 import com.iailab.framework.common.pojo.PageResult;
4 import com.iailab.framework.common.service.impl.BaseServiceImpl;
5 import com.iailab.framework.common.util.object.BeanUtils;
1d02b4 6 import com.iailab.framework.common.util.object.ConvertUtils;
J 7 import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX;
441d30 8 import com.iailab.framework.tenant.core.context.DataContextHolder;
1d02b4 9 import com.iailab.module.data.common.utils.DateUtils;
976e14 10 import com.iailab.module.data.common.xss.SQLFilter;
cf757d 11 import com.iailab.module.data.ind.item.vo.IndItemValueVO;
2a6f08 12 import com.iailab.module.data.ind.value.dao.IndItemValueDao;
cf757d 13 import com.iailab.module.data.ind.value.dto.QuerySourceValueDTO;
2a6f08 14 import com.iailab.module.data.ind.value.entity.IndItemValueEntity;
15 import com.iailab.module.data.ind.value.service.IndItemValueService;
16 import com.iailab.module.data.ind.value.vo.IndItemValuePageReqVO;
17 import com.iailab.module.data.ind.value.vo.IndItemValueSaveReqVO;
cf757d 18 import org.apache.commons.lang3.StringUtils;
2a6f08 19 import org.springframework.stereotype.Service;
20
cf757d 21 import java.util.List;
2a6f08 22 import java.util.UUID;
23
24 /**
25  * @author PanZhibao
26  * @Description
27  * @createTime 2024年09月11日
28  */
29 @Service
30 public class IndItemValueServiceImpl extends BaseServiceImpl<IndItemValueDao, IndItemValueEntity> implements IndItemValueService {
31
32     @Override
33     public PageResult<IndItemValueEntity> page(IndItemValuePageReqVO reqVO) {
34         return baseDao.selectPage(reqVO);
35     }
36
37     @Override
38     public void create(IndItemValueSaveReqVO createReqVO) {
39         IndItemValueEntity entity = BeanUtils.toBean(createReqVO, IndItemValueEntity.class);
40         entity.setId(UUID.randomUUID().toString());
41         baseDao.insert(entity);
42     }
43
44     @Override
45     public void update(IndItemValueSaveReqVO updateReqVO) {
46         IndItemValueEntity entity = BeanUtils.toBean(updateReqVO, IndItemValueEntity.class);
47         baseDao.updateById(entity);
48     }
49
50     @Override
51     public IndItemValueEntity get(String id) {
52         return baseDao.selectById(id);
53     }
54
55     @Override
56     public void delete(String id) {
57         baseDao.deleteById(id);
58     }
cf757d 59
60     /**
61      * 根据配置的数据源动态查询
62      * @param dto
63      * @return
64      */
65     @Override
66     public List<IndItemValueVO> getSourceValue(QuerySourceValueDTO dto) {
67         if (StringUtils.isEmpty(dto.getDataSource())) {
68             log.warn("数据源不能为空");
69             return null;
70         }
619626 71         SQLFilter.sqlInject2(dto.getSelectSql());
72         SQLFilter.sqlInject2(dto.getViewSql());
73         SQLFilter.sqlInject2(dto.getWhereSql());
74         SQLFilter.sqlInject2(dto.getGroupSql());
75         SQLFilter.sqlInject2(dto.getGroupSql());
441d30 76         DataContextHolder.setDataSourceId(Long.valueOf(dto.getDataSource()));
cf757d 77         return baseDao.getSourceValue(dto);
78     }
1d02b4 79
J 80     @Override
81     public List<IndItemValueVO> getValueList(IndItemValuePageReqVO reqVO) {
82         List<IndItemValueEntity> entities = baseDao.selectList( new LambdaQueryWrapperX<IndItemValueEntity>()
83                 .eq(StringUtils.isNotBlank(reqVO.getItemNo()), IndItemValueEntity::getItemNo, reqVO.getItemNo())
84                 .geIfPresent(IndItemValueEntity::getDataTime, DateUtils.stringToDate(reqVO.getStartTime(), DateUtils.DATE_TIME_PATTERN))
85                 .leIfPresent(IndItemValueEntity::getDataTime, DateUtils.stringToDate(reqVO.getEndTime(), DateUtils.DATE_TIME_PATTERN))
86                 .orderByDesc(IndItemValueEntity::getDataTime)
87         );
88         return ConvertUtils.sourceToTarget(entities, IndItemValueVO.class);
89     }
2a6f08 90 }