package com.template.services.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.template.common.utils.TimeExchange; import com.template.mapper.SmartVisitorMapper; import com.template.model.pojo.SmartVisitor; import com.template.model.pojo.SmartVisitor; import com.template.mapper.SmartVisitorMapper; import com.template.model.result.PageUtils; import com.template.model.vo.*; import com.template.services.SmartVisitorService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.Date; import java.util.List; /** *

* 服务实现类 *

* * @author ceshi * @since 2023-12-04 */ @Service public class SmartVisitorServiceImpl extends ServiceImpl implements SmartVisitorService { @Autowired private SmartVisitorMapper smartVisitorMapper; @Override public int insertSmartVisitor(SmartVisitor sa) { int result = smartVisitorMapper.insert(sa); return result; } @Override public int updateSmartVisitor(SmartVisitor sa) { int result = smartVisitorMapper.updateById(sa); return result; } @Override public PageUtils queryPageSmartVisitors(int currentPage, int pageCount, String name) { Page page = new Page<>(currentPage, pageCount); QueryWrapper queryWrapper = new QueryWrapper<>(); //queryWrapper.like(StringUtils.hasText(name), "name", name); IPage result = smartVisitorMapper.selectPage(page, queryWrapper); return new PageUtils<>(result); } @Override public int deleteSmartVisitorById(int id) { int result = smartVisitorMapper.deleteById(id); return result; } @Override public SmartVisitor getSmartById(int id) { SmartVisitor result = smartVisitorMapper.selectById(id); return result; } @Override public boolean insertVisitorBatch(List visitors) { boolean result = this.saveBatch(visitors); return result; } @Override public PageUtils smartVisitorPageByUserId(int currentPage, int pageCount, Integer userId, Integer statu, String createStartTime, String createEndTime, String keyWord, String visitorStartTime, String visitorEndTime) { Page page = new Page<>(); page.setCurrent(currentPage); page.setSize(pageCount); IPage datas = smartVisitorMapper.queryVisitorPage(page, userId, statu, createStartTime, createEndTime, keyWord, visitorStartTime, visitorEndTime); List list = datas.getRecords(); ArrayList smartVisitorVos = new ArrayList<>(); for (VisitorPageVo smartVisitor : list) { VisitorPageListVo smartVisitorVo = new VisitorPageListVo(); BeanUtils.copyProperties(smartVisitor,smartVisitorVo); String image = smartVisitor.getImage(); if (ObjectUtils.isNotEmpty(image)) { String[] split = image.split(","); ArrayList strings = new ArrayList<>(); for (int i = 0; i < split.length; i++) { String s = split[i]; strings.add(s); } smartVisitorVo.setImage(strings); } smartVisitorVos.add(smartVisitorVo); } IPage voIPage=new Page<>(); BeanUtils.copyProperties(datas ,voIPage); voIPage.setRecords(smartVisitorVos); return new PageUtils(voIPage); } @Override public Integer queryVisitorCount(String cardNo, String startTime, String endTime) { Integer result = smartVisitorMapper.queryVisitorCount(cardNo, startTime, endTime); return result; } @Override public PageUtils queryVisitorPageDatas(int currentPage, int pageCount, Integer type, List studentIds, String isAdmin) { Page page = new Page<>(); page.setCurrent(currentPage); page.setSize(pageCount); IPage datas = smartVisitorMapper.queryVisitorPageDatas(page, type, studentIds, isAdmin); return new PageUtils(datas); } @Override public SmartVisitor querySmartVisitorByCode(String visitorCode) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(StringUtils.hasText(visitorCode), "visitor_code", visitorCode); SmartVisitor result = smartVisitorMapper.selectOne(queryWrapper); return result; } @Override public SmartVisitor queryParentVisitor(Integer userId) { QueryWrapper queryWrapper = new QueryWrapper<>(); String nowTime = TimeExchange.getTime(); queryWrapper.le("visitor_time", nowTime);//<= queryWrapper.ge("visitor_deadline", nowTime);//>= queryWrapper.eq("user_id", userId); queryWrapper.eq("statu",3);//必须是已推送的 queryWrapper.orderByAsc("visitor_time"); List resultDatas = smartVisitorMapper.selectList(queryWrapper); return resultDatas != null && resultDatas.size() > 0 ? resultDatas.get(0) : null; } @Override public PageUtils getPage(int currentPage, int pageCount, Integer type, String keyWord, Integer status, String startTime, String endTime, String visitorStartTime, String visitorEndTime) { Page page = new Page<>(); page.setCurrent(currentPage); page.setSize(pageCount); IPage datas = smartVisitorMapper.getPage(page,type,keyWord,status,startTime,endTime,visitorStartTime,visitorEndTime); List list = datas.getRecords(); ArrayList smartVisitorVos = new ArrayList<>(); for (SmartVisitorPageVo smartVisitor : list) { SmartVisitorVo smartVisitorVo = new SmartVisitorVo(); BeanUtils.copyProperties(smartVisitor,smartVisitorVo); String image = smartVisitor.getImage(); if (ObjectUtils.isNotEmpty(image)) { String[] split = image.split(","); ArrayList strings = new ArrayList<>(); for (int i = 0; i < split.length; i++) { String s = split[i]; strings.add(s); } smartVisitorVo.setImage(strings); } smartVisitorVos.add(smartVisitorVo); } IPage voIPage=new Page<>(); BeanUtils.copyProperties(datas ,voIPage); voIPage.setRecords(smartVisitorVos); return new PageUtils(voIPage); } @Override public PageUtils getScreenPage(int currentPage, int pageCount, String phone, String status) { Page page = new Page<>(); page.setCurrent(currentPage); page.setSize(pageCount); IPage datas = smartVisitorMapper.getScreenPage(page,phone,status); List list = datas.getRecords(); ArrayList smartVisitorVos = new ArrayList<>(); for (SmartVisitorScreenVo smartVisitor : list) { SmartVisitorScreenListVo smartVisitorVo = new SmartVisitorScreenListVo(); BeanUtils.copyProperties(smartVisitor,smartVisitorVo); String image = smartVisitor.getImage(); if (ObjectUtils.isNotEmpty(image)) { String[] split = image.split(","); ArrayList strings = new ArrayList<>(); for (int i = 0; i < split.length; i++) { String s = split[i]; strings.add(s); } smartVisitorVo.setImage(strings); } smartVisitorVos.add(smartVisitorVo); } IPage voIPage=new Page<>(); BeanUtils.copyProperties(datas ,voIPage); voIPage.setRecords(smartVisitorVos); return new PageUtils(voIPage); } @Override public PageUtils parentsScreenPage(int currentPage, int pageCount, int userId, String status) { Page page = new Page<>(); page.setCurrent(currentPage); page.setSize(pageCount); IPage datas = smartVisitorMapper.parentsScreenPage(page,userId,status); List list = datas.getRecords(); ArrayList smartVisitorVos = new ArrayList<>(); for (SmartVisitorScreenVo smartVisitor : list) { SmartVisitorScreenListVo smartVisitorVo = new SmartVisitorScreenListVo(); BeanUtils.copyProperties(smartVisitor,smartVisitorVo); String image = smartVisitor.getImage(); if (ObjectUtils.isNotEmpty(image)) { String[] split = image.split(","); ArrayList strings = new ArrayList<>(); for (int i = 0; i < split.length; i++) { String s = split[i]; strings.add(s); } smartVisitorVo.setImage(strings); } smartVisitorVos.add(smartVisitorVo); } IPage voIPage=new Page<>(); BeanUtils.copyProperties(datas ,voIPage); voIPage.setRecords(smartVisitorVos); return new PageUtils(voIPage); } }