SmartUserServiceImpl.java 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509
  1. package com.template.services.impl;
  2. import com.baomidou.mybatisplus.core.conditions.Wrapper;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5. import com.baomidou.mybatisplus.core.metadata.IPage;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.template.mapper.SmartUserMapper;
  8. import com.template.model.dto.WarningUserDto;
  9. import com.template.model.enumModel.eIdentityStatu;
  10. import com.template.model.pojo.SmartUser;
  11. import com.template.model.pojo.SmartWarning;
  12. import com.template.model.result.PageUtils;
  13. import com.template.model.vo.*;
  14. import com.template.services.SmartUserService;
  15. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  16. import org.apache.ibatis.annotations.Param;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import org.springframework.util.StringUtils;
  20. import java.time.LocalDateTime;
  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 SmartUserServiceImpl extends ServiceImpl<SmartUserMapper, SmartUser> implements SmartUserService {
  32. @Autowired
  33. private SmartUserMapper smartUserMapper;
  34. @Override
  35. public int insertSmartUser(SmartUser sa) {
  36. int result = smartUserMapper.insert(sa);
  37. return sa.getId();
  38. }
  39. @Override
  40. public int updateSmartUser(SmartUser sa) {
  41. int result = smartUserMapper.updateById(sa);
  42. return result;
  43. }
  44. @Override
  45. public PageUtils<SmartUser> queryPageSmartUsers(int currentPage, int pageCount, List<Integer> departmentIds) {
  46. Page<SmartUser> page = new Page<>(currentPage, pageCount);
  47. // QueryWrapper<SmartUser> queryWrapper = new QueryWrapper<>();
  48. // queryWrapper.eq(departmentId > 0, "department_id", departmentId);
  49. IPage<SmartUser> result = smartUserMapper.selectPage(page, null);
  50. return new PageUtils<>(result);
  51. }
  52. @Override
  53. public PageUtils<UserVo> querySmartUserPages(int currentPage, int pageCount, List<Integer> departmentIds, String name) {
  54. Page<UserVo> page = new Page<>();
  55. page.setCurrent(currentPage);
  56. page.setSize(pageCount);
  57. IPage<UserVo> result = smartUserMapper.querySmartUserPages(page, departmentIds, name);
  58. return new PageUtils(result);
  59. }
  60. @Override
  61. public PageUtils<GradeVo> querySmartSecordPage(int currentPage, int pageCount, String name, Integer userId) {
  62. Page<GradeVo> page = new Page<>();
  63. page.setCurrent(currentPage);
  64. page.setSize(pageCount);
  65. IPage<GradeVo> result = smartUserMapper.querySmartSecordPage(page, name, userId);
  66. return new PageUtils(result);
  67. }
  68. @Override
  69. public List<SmartUser> querySmartUsers(List<Integer> departmentIds, String name) {
  70. List<SmartUser> result = smartUserMapper.querySmartUsers(departmentIds, name);
  71. return result;
  72. }
  73. @Override
  74. public List<SmartUser> getSmartUserByIds(List<Integer> ids) {
  75. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  76. queryWrapper.in("id", ids);
  77. queryWrapper.eq("is_cancel", 0);
  78. List<SmartUser> result = smartUserMapper.selectList(queryWrapper);
  79. return result;
  80. }
  81. @Override
  82. public List<SmartUser> getSmartUserIds(List<String> ids) {
  83. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  84. queryWrapper.in("id", ids);
  85. queryWrapper.eq("is_cancel", 0);
  86. List<SmartUser> result = smartUserMapper.selectList(queryWrapper);
  87. return result;
  88. }
  89. @Override
  90. public int getSmartUserCountByIds(List<Integer> ids) {
  91. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  92. queryWrapper.in("id", ids);
  93. queryWrapper.eq("is_cancel", 0);
  94. int result = smartUserMapper.selectCount(queryWrapper);
  95. return result;
  96. }
  97. @Override
  98. public boolean updateUserBatchById(List<SmartUser> users) {
  99. boolean result = this.updateBatchById(users);
  100. return result;
  101. }
  102. @Override
  103. public Integer querySmartUserByCardNo(String cardNo) {
  104. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  105. queryWrapper.eq("card_no", cardNo);
  106. queryWrapper.eq("is_cancel", 0);
  107. int existCount = smartUserMapper.selectCount(queryWrapper);
  108. return existCount;
  109. }
  110. @Override
  111. public List<SmartUser> queryStudentBySchoolClass(Integer schoolClass) {
  112. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  113. queryWrapper.eq("school_class", schoolClass);
  114. queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue());
  115. queryWrapper.eq("is_cancel", 0);
  116. List<SmartUser> result = smartUserMapper.selectList(queryWrapper);
  117. return result;
  118. }
  119. @Override
  120. public int deleteSmartUserById(int id) {
  121. int result = smartUserMapper.deleteById(id);
  122. return result;
  123. }
  124. @Override
  125. public int deleteSmartUserByIds(List<Integer> ids) {
  126. int result = smartUserMapper.deleteBatchIds(ids);
  127. return result;
  128. }
  129. @Override
  130. public SmartUser getSmartById(Integer id) {
  131. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  132. queryWrapper.eq("is_cancel", 0);
  133. queryWrapper.eq("id", id);
  134. SmartUser result = smartUserMapper.selectOne(queryWrapper);
  135. return result;
  136. }
  137. @Override
  138. public List<SmartUser> getSmartUserByxwuids(List<String> xwuids) {
  139. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  140. queryWrapper.in("xw_student_uid", xwuids);
  141. queryWrapper.eq("is_cancel", 0);
  142. List<SmartUser> result = smartUserMapper.selectList(queryWrapper);
  143. return result;
  144. }
  145. @Override
  146. public List<SmartUser> getListPush() {
  147. LambdaQueryWrapper<SmartUser> wrapper = new LambdaQueryWrapper<>();
  148. wrapper.eq(SmartUser::getIsCancel, 0)
  149. .eq(SmartUser::getIsPush, 1);
  150. List<SmartUser> smartUserList = this.list(wrapper);
  151. return smartUserList;
  152. }
  153. @Override
  154. public List<SmartUser> getAffiliateList(Integer id) {
  155. return smartUserMapper.getAffiliateList(id);
  156. }
  157. @Override
  158. public List<AffiliateUserVo> queryAffiliateUserById(Integer id) {
  159. List<AffiliateUserVo> result = smartUserMapper.queryAffiliateUserById(id);
  160. return result;
  161. }
  162. @Override
  163. public List<SmartUser> queryDatasByDepartments(List<Integer> departments) {
  164. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  165. queryWrapper.in("department_id", departments);
  166. List<SmartUser> users = smartUserMapper.selectList(queryWrapper);
  167. return users;
  168. }
  169. @Override
  170. public List<SmartUser> queryStudentDatas() {
  171. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  172. queryWrapper.eq("is_cancel", 0);
  173. queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue());
  174. List<SmartUser> result = smartUserMapper.selectList(queryWrapper);
  175. return result;
  176. }
  177. @Override
  178. public List<SmartUser> queryStudentDatas(Integer identityId, List<Integer> gradeIds) {
  179. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  180. queryWrapper.eq("is_cancel", 0);
  181. queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue());
  182. queryWrapper.in(gradeIds != null && gradeIds.size() > 0 ,"grade",gradeIds);
  183. List<SmartUser> result = smartUserMapper.selectList(queryWrapper);
  184. return result;
  185. }
  186. @Override
  187. public PageUtils<WarningUserDto> warningUserList(int currentPage, int pageCount, String name) {
  188. Page<UserVo> page = new Page<>();
  189. page.setCurrent(currentPage);
  190. page.setSize(pageCount);
  191. IPage<WarningUserDto> result = smartUserMapper.warningUserList(page, name);
  192. return new PageUtils(result);
  193. }
  194. @Override
  195. public List<WarningUserDto> warningPushList() {
  196. return smartUserMapper.warningPushList();
  197. }
  198. @Override
  199. public List<AffiliateParentVo> queryAffiliateParents(Integer userId) {
  200. return smartUserMapper.queryAffiliateParents(userId);
  201. }
  202. @Override
  203. public SmartUser queryUserInfo(String name, String cardNo, String idCard) {
  204. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  205. queryWrapper.eq(StringUtils.hasText(name), "name", name);
  206. queryWrapper.eq(StringUtils.hasText(cardNo), "card_no", cardNo);
  207. queryWrapper.eq(StringUtils.hasText(idCard), "id_card", idCard);
  208. queryWrapper.eq("is_cancel", 0);
  209. SmartUser result = smartUserMapper.selectOne(queryWrapper);
  210. return result;
  211. }
  212. @Override
  213. public List<SmartUser> getSmartUserList(List<Integer> ids) {
  214. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  215. queryWrapper.eq("is_cancel", 0);
  216. queryWrapper.in("id", ids);
  217. List<SmartUser> result = smartUserMapper.selectList(queryWrapper);
  218. return result;
  219. }
  220. @Override
  221. public List<SmartUser> querySmartUserByCardNos(List<String> cardNos) {
  222. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  223. queryWrapper.eq("is_cancel", 0);
  224. queryWrapper.in("card_no", cardNos);
  225. List<SmartUser> result = smartUserMapper.selectList(queryWrapper);
  226. return result;
  227. }
  228. @Override
  229. public SmartUserVo querySmartUserById(Integer id) {
  230. SmartUserVo result = smartUserMapper.querySmartUserById(id);
  231. return result;
  232. }
  233. @Override
  234. public int deleteUserBatch(List<deleteUserVo> list) {
  235. int result = smartUserMapper.deleteUserBatch(list);
  236. return result;
  237. }
  238. @Override
  239. public PageUtils<UserDeleteVo> queryUserDeletePage(int currentPage, int pageCount) {
  240. Page<UserDeleteVo> page = new Page<>();
  241. page.setCurrent(currentPage);
  242. page.setSize(pageCount);
  243. IPage<UserDeleteVo> result = smartUserMapper.queryUserDeletePage(page);
  244. return new PageUtils(result);
  245. }
  246. @Override
  247. public SmartStudentVo querySmartStudentById(Integer userId) {
  248. SmartStudentVo result = smartUserMapper.querySmartStudentById(userId);
  249. return result;
  250. }
  251. @Override
  252. public List<SmartUser> queryStudentsByGrade(List<String> gradeIds) {
  253. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  254. queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue());
  255. queryWrapper.in(gradeIds != null && gradeIds.size() > 0, "grade", gradeIds);
  256. List<SmartUser> result = smartUserMapper.selectList(queryWrapper);
  257. return result;
  258. }
  259. @Override
  260. public List<SmartUser> queryUsersByClass(Integer schoolClass) {
  261. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  262. queryWrapper.eq(schoolClass != null, "school_class", schoolClass);
  263. queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue());
  264. List<SmartUser> users = smartUserMapper.selectList(queryWrapper);
  265. return users;
  266. }
  267. @Override
  268. public List<SmartUser> getListUser() {
  269. LambdaQueryWrapper<SmartUser> wrapper = new LambdaQueryWrapper<>();
  270. wrapper.eq(SmartUser::getIsCancel, 0);
  271. List<SmartUser> smartUserList = this.list(wrapper);
  272. return smartUserList;
  273. }
  274. @Override
  275. public SmartUser getPhoneUser(String phone) {
  276. LambdaQueryWrapper<SmartUser> wrapper = new LambdaQueryWrapper<>();
  277. wrapper.eq(SmartUser::getPhone, phone)
  278. .eq(SmartUser::getIdentityId, 1);
  279. SmartUser smartUser = this.getOne(wrapper);
  280. return smartUser;
  281. }
  282. @Override
  283. public List<SmartUser> getPhoneUsers(String phone) {
  284. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  285. queryWrapper.eq("phone", phone);
  286. List<SmartUser> result = smartUserMapper.selectList(queryWrapper);
  287. return result;
  288. }
  289. @Override
  290. public List<SmartUserAffiliateVo> getAffiliateUser(String affiliate) {
  291. return smartUserMapper.getAffiliateUser(affiliate);
  292. }
  293. @Override
  294. public SmartUser getCard(String certificateNumber) {
  295. LambdaQueryWrapper<SmartUser> wrapper = new LambdaQueryWrapper<>();
  296. wrapper/*.eq(SmartUser::getIdCard,certificateNumber)
  297. .or()*/
  298. .eq(SmartUser::getCardNo, certificateNumber);
  299. SmartUser one = this.getOne(wrapper);
  300. return one;
  301. }
  302. @Override
  303. public SmartUser getBsStudentNo(String idNum) {
  304. LambdaQueryWrapper<SmartUser> wrapper = new LambdaQueryWrapper<>();
  305. wrapper.eq(SmartUser::getBsStudentNo, idNum)
  306. .or()
  307. .eq(SmartUser::getBsStaffCode, idNum)
  308. .or()
  309. .eq(SmartUser::getIdCard, idNum);
  310. SmartUser one = this.getOne(wrapper);
  311. return one;
  312. }
  313. @Override
  314. public List<SmartUser> getChargeTeacher(Integer schoolClass) {
  315. LambdaQueryWrapper<SmartUser> wrapper = new LambdaQueryWrapper<>();
  316. wrapper.eq(SmartUser::getSchoolClass, schoolClass)
  317. .eq(SmartUser::getDepartmentId, 137);
  318. List<SmartUser> list = this.list(wrapper);
  319. return list;
  320. }
  321. @Override
  322. public List<StudentSelectVo> studentSelect(String keyWord) {
  323. return smartUserMapper.studentSelect(keyWord);
  324. }
  325. @Override
  326. public List<SmartUser> querySmartParentByIds(List<Integer> studentIds) {
  327. List<SmartUser> result = smartUserMapper.querySmartParentByIds(studentIds);
  328. return result;
  329. }
  330. @Override
  331. public int queryStudentCount() {
  332. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  333. queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue());
  334. int result = smartUserMapper.selectCount(queryWrapper);
  335. return result;
  336. }
  337. @Override
  338. public List<StatisticsCampusVo> getAccessStatisticsCampus(Integer classId, LocalDateTime startTime, LocalDateTime endTime) {
  339. return smartUserMapper.getAccessStatisticsCampus(classId, startTime, endTime);
  340. }
  341. @Override
  342. public List<StatisticsCampusVo> getAttendanceStatisticsCampus(Integer classId, LocalDateTime startTime, LocalDateTime endTime) {
  343. return smartUserMapper.getAttendanceStatisticsCampus(classId, startTime, endTime);
  344. }
  345. @Override
  346. public List<StatisticsCampusVo> getFaceDiscernStatisticsCampus(Integer classId, LocalDateTime startTime, LocalDateTime endTime) {
  347. return smartUserMapper.getFaceDiscernStatisticsCampus(classId, startTime, endTime);
  348. }
  349. @Override
  350. public List<StatisticsCampusVo> getAckStatisticsCampus(Integer classId, LocalDateTime startTime, LocalDateTime endTime) {
  351. return smartUserMapper.getAckStatisticsCampus(classId, startTime, endTime);
  352. }
  353. @Override
  354. public List<StatisticsCampusVo> getClassStudent(Integer classId) {
  355. return smartUserMapper.getClassStudent(classId);
  356. }
  357. @Override
  358. public List<SmartUser> queryTeachers() {
  359. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  360. queryWrapper.eq("identity_id", eIdentityStatu.Teacher.getValue());
  361. List<SmartUser> result = smartUserMapper.selectList(queryWrapper);
  362. return result;
  363. }
  364. @Override
  365. public List<SmartUser> getAddressBook(Integer userId) {
  366. LambdaQueryWrapper<SmartUser> wrapper = new LambdaQueryWrapper<>();
  367. wrapper.eq(SmartUser::getAffiliate, userId);
  368. wrapper.eq(SmartUser::getIsCancel, 0);
  369. List<SmartUser> list = this.list(wrapper);
  370. return list;
  371. }
  372. @Override
  373. public List<StatisticsCampusManageVo> getAccessStatisticsCampusManage(Integer gradeId, Integer classId, LocalDateTime startTime, LocalDateTime endTime, String keyWord) {
  374. return smartUserMapper.getAccessStatisticsCampusManage(gradeId, classId, startTime, endTime, keyWord);
  375. }
  376. @Override
  377. public List<StatisticsCampusManageVo> getAttendanceStatisticsCampusManage(Integer gradeId, Integer classId, LocalDateTime startTime, LocalDateTime endTime, String keyWord) {
  378. return smartUserMapper.getAttendanceStatisticsCampusManage(gradeId, classId, startTime, endTime, keyWord);
  379. }
  380. @Override
  381. public List<StatisticsCampusManageVo> getFaceDiscernStatisticsCampusManage(Integer gradeId, Integer classId, LocalDateTime startTime, LocalDateTime endTime, String keyWord) {
  382. return smartUserMapper.getFaceDiscernStatisticsCampusManage(gradeId, classId, startTime, endTime, keyWord);
  383. }
  384. @Override
  385. public List<StatisticsCampusManageVo> getAckStatisticsCampusManage(Integer gradeId, Integer classId, LocalDateTime startTime, LocalDateTime endTime, String keyWord) {
  386. return smartUserMapper.getAckStatisticsCampusManage(gradeId, classId, startTime, endTime, keyWord);
  387. }
  388. @Override
  389. public List<StatisticsCampusManageVo> getClassStudentManage(Integer gradeId, Integer classId, String keyWord) {
  390. return smartUserMapper.getClassStudentManage(gradeId, classId, keyWord);
  391. }
  392. @Override
  393. public int queryParentByCount(String phone) {
  394. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  395. queryWrapper.eq("identity_id", eIdentityStatu.Parent.getValue());
  396. queryWrapper.eq("phone", phone);
  397. int result = smartUserMapper.selectCount(queryWrapper);
  398. return result;
  399. }
  400. @Override
  401. public SmartUser queryParentByPhone(String phone) {
  402. QueryWrapper<SmartUser> queryWrapper = new QueryWrapper();
  403. queryWrapper.eq("identity_id", eIdentityStatu.Parent.getValue());
  404. queryWrapper.eq("phone", phone);
  405. SmartUser result = smartUserMapper.selectOne(queryWrapper);
  406. return result;
  407. }
  408. @Override
  409. public PageUtils<SmartUserPageVo> getPage(int currentPage, int pageCount, String keyWord, String schoolClass) {
  410. Page<SmartUserPageVo> page = new Page<>();
  411. page.setCurrent(currentPage);
  412. page.setSize(pageCount);
  413. IPage<SmartUserPageVo> result = smartUserMapper.getPage(page, keyWord, schoolClass);
  414. return new PageUtils(result);
  415. }
  416. @Override
  417. public List<StatisticsStatement> getUserClassTotal() {
  418. return smartUserMapper.getUserClassTotal();
  419. }
  420. @Override
  421. public List<StatisticsStatement> getUserAckTotal(LocalDateTime startTime, LocalDateTime endTime) {
  422. return smartUserMapper.getUserAckTotal(startTime, endTime);
  423. }
  424. @Override
  425. public List<StatisticsStatement> getUserNormalTotal(LocalDateTime startTime, LocalDateTime endTime) {
  426. return smartUserMapper.getUserNormalTotal(startTime, endTime);
  427. }
  428. }