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 selectPage(SimuVo vo, int pageNum, int pageSize) { QueryWrapper wrapper = getPageWrapper(vo, pageNum, pageSize); Page page = new Page<>(pageNum, pageSize); page.addOrder(OrderItem.desc("id")); IPage paged = simuMapper.selectPage(page, wrapper); return paged; } private QueryWrapper getPageWrapper(SimuVo vo, int pageNum, int pageSize) { QueryWrapper 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 ids) { return simuMapper.deleteBatchIds(ids); } /** * 新增推演模拟 * * @param Simu 推演模拟对象 * @return 新增成功的记录数 */ public int insert(Simu simu) { return simuMapper.inserts(Collections.singletonList(simu)); } /** * 根据ID查询 * * @param id ID * @return Simu */ public Simu selectById(Integer id) { return simuMapper.selectById(id); } /** * 修改推演模拟 * * @param Simu 推演模拟对象 * @return 修改成功的记录数 */ public int updateById(Simu simu) { return simuMapper.updates(Arrays.asList(simu)); } }