SmartVisitorServiceImpl.java 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. package com.template.services.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.template.common.utils.TimeExchange;
  7. import com.template.mapper.SmartVisitorMapper;
  8. import com.template.model.pojo.SmartVisitor;
  9. import com.template.model.pojo.SmartVisitor;
  10. import com.template.mapper.SmartVisitorMapper;
  11. import com.template.model.result.PageUtils;
  12. import com.template.model.vo.*;
  13. import com.template.services.SmartVisitorService;
  14. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  15. import org.springframework.beans.BeanUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import org.springframework.util.StringUtils;
  19. import java.util.ArrayList;
  20. import java.util.Date;
  21. import java.util.List;
  22. /**
  23. * <p>
  24. * 服务实现类
  25. * </p>
  26. *
  27. * @author ceshi
  28. * @since 2023-12-04
  29. */
  30. @Service
  31. public class SmartVisitorServiceImpl extends ServiceImpl<SmartVisitorMapper, SmartVisitor> implements SmartVisitorService {
  32. @Autowired
  33. private SmartVisitorMapper smartVisitorMapper;
  34. @Override
  35. public int insertSmartVisitor(SmartVisitor sa) {
  36. int result = smartVisitorMapper.insert(sa);
  37. return result;
  38. }
  39. @Override
  40. public int updateSmartVisitor(SmartVisitor sa) {
  41. int result = smartVisitorMapper.updateById(sa);
  42. return result;
  43. }
  44. @Override
  45. public PageUtils<SmartVisitor> queryPageSmartVisitors(int currentPage, int pageCount, String name) {
  46. Page<SmartVisitor> page = new Page<>(currentPage, pageCount);
  47. QueryWrapper<SmartVisitor> queryWrapper = new QueryWrapper<>();
  48. //queryWrapper.like(StringUtils.hasText(name), "name", name);
  49. IPage<SmartVisitor> result = smartVisitorMapper.selectPage(page, queryWrapper);
  50. return new PageUtils<>(result);
  51. }
  52. @Override
  53. public int deleteSmartVisitorById(int id) {
  54. int result = smartVisitorMapper.deleteById(id);
  55. return result;
  56. }
  57. @Override
  58. public SmartVisitor getSmartById(int id) {
  59. SmartVisitor result = smartVisitorMapper.selectById(id);
  60. return result;
  61. }
  62. @Override
  63. public boolean insertVisitorBatch(List<SmartVisitor> visitors) {
  64. boolean result = this.saveBatch(visitors);
  65. return result;
  66. }
  67. @Override
  68. public PageUtils<VisitorPageListVo> smartVisitorPageByUserId(int currentPage, int pageCount, Integer userId, Integer statu, String createStartTime, String createEndTime, String keyWord, String visitorStartTime, String visitorEndTime) {
  69. Page<VisitorPageVo> page = new Page<>();
  70. page.setCurrent(currentPage);
  71. page.setSize(pageCount);
  72. IPage<VisitorPageVo> datas = smartVisitorMapper.queryVisitorPage(page, userId, statu, createStartTime, createEndTime, keyWord, visitorStartTime, visitorEndTime);
  73. List<VisitorPageVo> list = datas.getRecords();
  74. ArrayList<VisitorPageListVo> smartVisitorVos = new ArrayList<>();
  75. for (VisitorPageVo smartVisitor : list) {
  76. VisitorPageListVo smartVisitorVo = new VisitorPageListVo();
  77. BeanUtils.copyProperties(smartVisitor,smartVisitorVo);
  78. String image = smartVisitor.getImage();
  79. if (ObjectUtils.isNotEmpty(image)) {
  80. String[] split = image.split(",");
  81. ArrayList<String> strings = new ArrayList<>();
  82. for (int i = 0; i < split.length; i++) {
  83. String s = split[i];
  84. strings.add(s);
  85. }
  86. smartVisitorVo.setImage(strings);
  87. }
  88. smartVisitorVos.add(smartVisitorVo);
  89. }
  90. IPage<VisitorPageListVo> voIPage=new Page<>();
  91. BeanUtils.copyProperties(datas ,voIPage);
  92. voIPage.setRecords(smartVisitorVos);
  93. return new PageUtils(voIPage);
  94. }
  95. @Override
  96. public Integer queryVisitorCount(String cardNo, String startTime, String endTime) {
  97. Integer result = smartVisitorMapper.queryVisitorCount(cardNo, startTime, endTime);
  98. return result;
  99. }
  100. @Override
  101. public PageUtils<SmartVisitor> queryVisitorPageDatas(int currentPage, int pageCount, Integer type, List<Integer> studentIds, String isAdmin) {
  102. Page<SmartVisitor> page = new Page<>();
  103. page.setCurrent(currentPage);
  104. page.setSize(pageCount);
  105. IPage<SmartVisitor> datas = smartVisitorMapper.queryVisitorPageDatas(page, type, studentIds, isAdmin);
  106. return new PageUtils(datas);
  107. }
  108. @Override
  109. public SmartVisitor querySmartVisitorByCode(String visitorCode) {
  110. QueryWrapper<SmartVisitor> queryWrapper = new QueryWrapper<>();
  111. queryWrapper.eq(StringUtils.hasText(visitorCode), "visitor_code", visitorCode);
  112. SmartVisitor result = smartVisitorMapper.selectOne(queryWrapper);
  113. return result;
  114. }
  115. @Override
  116. public SmartVisitor queryParentVisitor(Integer userId) {
  117. QueryWrapper<SmartVisitor> queryWrapper = new QueryWrapper<>();
  118. String nowTime = TimeExchange.getTime();
  119. queryWrapper.le("visitor_time", nowTime);//<=
  120. queryWrapper.ge("visitor_deadline", nowTime);//>=
  121. queryWrapper.eq("user_id", userId);
  122. queryWrapper.eq("statu",3);//必须是已推送的
  123. queryWrapper.orderByAsc("visitor_time");
  124. List<SmartVisitor> resultDatas = smartVisitorMapper.selectList(queryWrapper);
  125. return resultDatas != null && resultDatas.size() > 0 ? resultDatas.get(0) : null;
  126. }
  127. @Override
  128. public PageUtils<SmartVisitorVo> getPage(int currentPage, int pageCount, Integer type, String keyWord, Integer status, String startTime, String endTime, String visitorStartTime, String visitorEndTime) {
  129. Page<SmartVisitorPageVo> page = new Page<>();
  130. page.setCurrent(currentPage);
  131. page.setSize(pageCount);
  132. IPage<SmartVisitorPageVo> datas = smartVisitorMapper.getPage(page,type,keyWord,status,startTime,endTime,visitorStartTime,visitorEndTime);
  133. List<SmartVisitorPageVo> list = datas.getRecords();
  134. ArrayList<SmartVisitorVo> smartVisitorVos = new ArrayList<>();
  135. for (SmartVisitorPageVo smartVisitor : list) {
  136. SmartVisitorVo smartVisitorVo = new SmartVisitorVo();
  137. BeanUtils.copyProperties(smartVisitor,smartVisitorVo);
  138. String image = smartVisitor.getImage();
  139. if (ObjectUtils.isNotEmpty(image)) {
  140. String[] split = image.split(",");
  141. ArrayList<String> strings = new ArrayList<>();
  142. for (int i = 0; i < split.length; i++) {
  143. String s = split[i];
  144. strings.add(s);
  145. }
  146. smartVisitorVo.setImage(strings);
  147. }
  148. smartVisitorVos.add(smartVisitorVo);
  149. }
  150. IPage<SmartVisitorVo> voIPage=new Page<>();
  151. BeanUtils.copyProperties(datas ,voIPage);
  152. voIPage.setRecords(smartVisitorVos);
  153. return new PageUtils(voIPage);
  154. }
  155. @Override
  156. public PageUtils<SmartVisitorScreenListVo> getScreenPage(int currentPage, int pageCount, String phone, String status) {
  157. Page<SmartVisitorScreenVo> page = new Page<>();
  158. page.setCurrent(currentPage);
  159. page.setSize(pageCount);
  160. IPage<SmartVisitorScreenVo> datas = smartVisitorMapper.getScreenPage(page,phone,status);
  161. List<SmartVisitorScreenVo> list = datas.getRecords();
  162. ArrayList<SmartVisitorScreenListVo> smartVisitorVos = new ArrayList<>();
  163. for (SmartVisitorScreenVo smartVisitor : list) {
  164. SmartVisitorScreenListVo smartVisitorVo = new SmartVisitorScreenListVo();
  165. BeanUtils.copyProperties(smartVisitor,smartVisitorVo);
  166. String image = smartVisitor.getImage();
  167. if (ObjectUtils.isNotEmpty(image)) {
  168. String[] split = image.split(",");
  169. ArrayList<String> strings = new ArrayList<>();
  170. for (int i = 0; i < split.length; i++) {
  171. String s = split[i];
  172. strings.add(s);
  173. }
  174. smartVisitorVo.setImage(strings);
  175. }
  176. smartVisitorVos.add(smartVisitorVo);
  177. }
  178. IPage<SmartVisitorScreenListVo> voIPage=new Page<>();
  179. BeanUtils.copyProperties(datas ,voIPage);
  180. voIPage.setRecords(smartVisitorVos);
  181. return new PageUtils(voIPage);
  182. }
  183. @Override
  184. public PageUtils<SmartVisitorScreenListVo> parentsScreenPage(int currentPage, int pageCount, int userId, String status) {
  185. Page<SmartVisitorScreenVo> page = new Page<>();
  186. page.setCurrent(currentPage);
  187. page.setSize(pageCount);
  188. IPage<SmartVisitorScreenVo> datas = smartVisitorMapper.parentsScreenPage(page,userId,status);
  189. List<SmartVisitorScreenVo> list = datas.getRecords();
  190. ArrayList<SmartVisitorScreenListVo> smartVisitorVos = new ArrayList<>();
  191. for (SmartVisitorScreenVo smartVisitor : list) {
  192. SmartVisitorScreenListVo smartVisitorVo = new SmartVisitorScreenListVo();
  193. BeanUtils.copyProperties(smartVisitor,smartVisitorVo);
  194. String image = smartVisitor.getImage();
  195. if (ObjectUtils.isNotEmpty(image)) {
  196. String[] split = image.split(",");
  197. ArrayList<String> strings = new ArrayList<>();
  198. for (int i = 0; i < split.length; i++) {
  199. String s = split[i];
  200. strings.add(s);
  201. }
  202. smartVisitorVo.setImage(strings);
  203. }
  204. smartVisitorVos.add(smartVisitorVo);
  205. }
  206. IPage<SmartVisitorScreenListVo> voIPage=new Page<>();
  207. BeanUtils.copyProperties(datas ,voIPage);
  208. voIPage.setRecords(smartVisitorVos);
  209. return new PageUtils(voIPage);
  210. }
  211. }