package com.moral.api.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.moral.api.config.mybatis.wrapper.NullFilterWrapper;
|
import com.moral.api.entity.User;
|
import com.moral.api.entity.Version;
|
import com.moral.api.entity.VersionSensorUnit;
|
import com.moral.api.mapper.VersionMapper;
|
import com.moral.api.mapper.VersionSensorUnitMapper;
|
import com.moral.api.pojo.dto.version.VersionQueryDTO;
|
import com.moral.api.pojo.form.version.VersionQueryForm;
|
import com.moral.api.service.VersionService;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.moral.constant.Constants;
|
import com.moral.util.ConvertUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.ObjectUtils;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 型号表 服务实现类
|
* </p>
|
*
|
* @author moral
|
* @since 2021-05-14
|
*/
|
@Service
|
public class VersionServiceImpl extends ServiceImpl<VersionMapper, Version> implements VersionService {
|
|
@Autowired
|
VersionMapper versionMapper;
|
@Autowired
|
VersionSensorUnitMapper versionSensorUnitMapper;
|
|
@Override
|
public VersionQueryDTO query(VersionQueryForm form) {
|
//创建返回对象
|
VersionQueryDTO dto = new VersionQueryDTO();
|
//取参
|
Integer page = form.getPage();
|
Integer size = form.getSize();
|
String name = form.getName();
|
Date createStartTime = form.getCreateStartTime();
|
Date createEndTime = form.getCreateEndTime();
|
Date updateStartTime = form.getUpdateStartTime();
|
Date updateEndTime = form.getUpdateEndTime();
|
String order = form.getOrder();
|
String orderType = form.getOrderType();
|
//组装查询条件
|
Page<Version> queryPage = new Page<>(page, size);
|
NullFilterWrapper<Version> wrapper = new NullFilterWrapper<>();
|
wrapper.like("name",name);
|
wrapper.between("create_time", createStartTime, createEndTime);
|
wrapper.between("update_time", updateStartTime, updateEndTime);
|
//排序顺序条件构造
|
if (!ObjectUtils.isEmpty(order) && !ObjectUtils.isEmpty(orderType)) {
|
if (orderType.equals(Constants.ORDER_ASC))
|
wrapper.orderByAsc(ConvertUtils.toLine(order));
|
else
|
wrapper.orderByDesc(ConvertUtils.toLine(order));
|
}
|
//查询结果
|
Page<Version> versionsPage = versionMapper.selectPage(queryPage,wrapper);
|
List<Version> versions = versionsPage.getRecords();
|
//查询版本对应的因子和单位
|
List<Integer> versionsIds = new ArrayList<>();
|
versions.forEach(value->versionsIds.add(value.getId()));
|
if(!ObjectUtils.isEmpty(versionsIds)){
|
QueryWrapper<VersionSensorUnit> sensorUnitQueryWrapper = new QueryWrapper<>();
|
|
}
|
|
return null;
|
}
|
}
|