package com.se.nsl.service;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.se.nsl.domain.po.Simu;
|
import com.se.nsl.domain.vo.SimuVo;
|
import com.se.nsl.helper.StringHelper;
|
import com.se.nsl.mapper.SimuMapper;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.Arrays;
|
import java.util.Collections;
|
import java.util.List;
|
|
@Slf4j
|
@Service
|
@SuppressWarnings("ALL")
|
public class SimuService {
|
@Resource
|
SimuMapper simuMapper;
|
|
/**
|
* 分页查询推演模拟
|
*
|
* @param pageNum 页码
|
* @param pageSize 每页数量
|
* @return 分页后的推演模拟
|
*/
|
public IPage<Simu> selectPage(SimuVo vo, int pageNum, int pageSize) {
|
QueryWrapper<Simu> wrapper = getPageWrapper(vo, pageNum, pageSize);
|
|
Page<Simu> page = new Page<>(pageNum, pageSize);
|
page.addOrder(OrderItem.desc("id"));
|
|
IPage<Simu> paged = simuMapper.selectPage(page, wrapper);
|
|
return paged;
|
}
|
|
private QueryWrapper<Simu> getPageWrapper(SimuVo vo, int pageNum, int pageSize) {
|
QueryWrapper<Simu> wrapper = new QueryWrapper<>();
|
if (null != vo.getId()) {
|
wrapper.eq("id", vo.getId());
|
}
|
if (!StringHelper.isEmpty(vo.getName())) {
|
wrapper.like("lower(name)", vo.getName().trim().toLowerCase());
|
}
|
if (!StringHelper.isEmpty(vo.getServiceName())) {
|
wrapper.like("service_name", vo.getServiceName().trim());
|
}
|
if (null != vo.getType()) {
|
wrapper.eq("type", vo.getType());
|
}
|
if (null != vo.getAreaType()) {
|
wrapper.eq("area_type", vo.getAreaType());
|
}
|
if (null != vo.getStatus()) {
|
wrapper.eq("status", vo.getStatus());
|
}
|
|
return wrapper;
|
}
|
|
/**
|
* 根据ID批量删除推演模拟
|
*
|
* @param ids 要删除的区域ID列表
|
* @return 删除成功的记录数
|
*/
|
public int deleteByIds(List<Integer> ids) {
|
return simuMapper.deleteByIds(ids);
|
}
|
|
/**
|
* 新增推演模拟
|
*
|
* @param Simu 推演模拟对象
|
* @return 新增成功的记录数
|
*/
|
public int insert(Simu simu) {
|
simu.setGeomText();
|
return simuMapper.inserts(Collections.singletonList(simu));
|
}
|
|
/**
|
* 修改推演模拟
|
*
|
* @param Simu 推演模拟对象
|
* @return 修改成功的记录数
|
*/
|
public int updateById(Simu simu) {
|
simu.setGeomText();
|
return simuMapper.updates(Arrays.asList(simu));
|
}
|
}
|