package com.template.services.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.template.mapper.SmartUserMapper; import com.template.model.dto.WarningUserDto; import com.template.model.enumModel.eIdentityStatu; import com.template.model.pojo.SmartUser; import com.template.model.pojo.SmartWarning; import com.template.model.result.PageUtils; import com.template.model.vo.*; import com.template.services.SmartUserService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.time.LocalDateTime; import java.util.List; /** *

* 服务实现类 *

* * @author ceshi * @since 2023-12-04 */ @Service public class SmartUserServiceImpl extends ServiceImpl implements SmartUserService { @Autowired private SmartUserMapper smartUserMapper; @Override public int insertSmartUser(SmartUser sa) { int result = smartUserMapper.insert(sa); return sa.getId(); } @Override public int updateSmartUser(SmartUser sa) { int result = smartUserMapper.updateById(sa); return result; } @Override public PageUtils queryPageSmartUsers(int currentPage, int pageCount, List departmentIds) { Page page = new Page<>(currentPage, pageCount); // QueryWrapper queryWrapper = new QueryWrapper<>(); // queryWrapper.eq(departmentId > 0, "department_id", departmentId); IPage result = smartUserMapper.selectPage(page, null); return new PageUtils<>(result); } @Override public PageUtils querySmartUserPages(int currentPage, int pageCount, List departmentIds, String name) { Page page = new Page<>(); page.setCurrent(currentPage); page.setSize(pageCount); IPage result = smartUserMapper.querySmartUserPages(page, departmentIds, name); return new PageUtils(result); } @Override public PageUtils querySmartSecordPage(int currentPage, int pageCount, String name, Integer userId) { Page page = new Page<>(); page.setCurrent(currentPage); page.setSize(pageCount); IPage result = smartUserMapper.querySmartSecordPage(page, name, userId); return new PageUtils(result); } @Override public List querySmartUsers(List departmentIds, String name) { List result = smartUserMapper.querySmartUsers(departmentIds, name); return result; } @Override public List getSmartUserByIds(List ids) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.in("id", ids); queryWrapper.eq("is_cancel", 0); List result = smartUserMapper.selectList(queryWrapper); return result; } @Override public List getSmartUserIds(List ids) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.in("id", ids); queryWrapper.eq("is_cancel", 0); List result = smartUserMapper.selectList(queryWrapper); return result; } @Override public int getSmartUserCountByIds(List ids) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.in("id", ids); queryWrapper.eq("is_cancel", 0); int result = smartUserMapper.selectCount(queryWrapper); return result; } @Override public boolean updateUserBatchById(List users) { boolean result = this.updateBatchById(users); return result; } @Override public Integer querySmartUserByCardNo(String cardNo) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("card_no", cardNo); queryWrapper.eq("is_cancel", 0); int existCount = smartUserMapper.selectCount(queryWrapper); return existCount; } @Override public List queryStudentBySchoolClass(Integer schoolClass) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("school_class", schoolClass); queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue()); queryWrapper.eq("is_cancel", 0); List result = smartUserMapper.selectList(queryWrapper); return result; } @Override public int deleteSmartUserById(int id) { int result = smartUserMapper.deleteById(id); return result; } @Override public int deleteSmartUserByIds(List ids) { int result = smartUserMapper.deleteBatchIds(ids); return result; } @Override public SmartUser getSmartById(Integer id) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("is_cancel", 0); queryWrapper.eq("id", id); SmartUser result = smartUserMapper.selectOne(queryWrapper); return result; } @Override public List getSmartUserByxwuids(List xwuids) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.in("xw_student_uid", xwuids); queryWrapper.eq("is_cancel", 0); List result = smartUserMapper.selectList(queryWrapper); return result; } @Override public List getListPush() { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SmartUser::getIsCancel, 0) .eq(SmartUser::getIsPush, 1); List smartUserList = this.list(wrapper); return smartUserList; } @Override public List getAffiliateList(Integer id) { return smartUserMapper.getAffiliateList(id); } @Override public List queryAffiliateUserById(Integer id) { List result = smartUserMapper.queryAffiliateUserById(id); return result; } @Override public List queryDatasByDepartments(List departments) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.in("department_id", departments); List users = smartUserMapper.selectList(queryWrapper); return users; } @Override public List queryStudentDatas() { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("is_cancel", 0); queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue()); List result = smartUserMapper.selectList(queryWrapper); return result; } @Override public List queryStudentDatas(Integer identityId, List gradeIds) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("is_cancel", 0); queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue()); queryWrapper.in(gradeIds != null && gradeIds.size() > 0 ,"grade",gradeIds); List result = smartUserMapper.selectList(queryWrapper); return result; } @Override public PageUtils warningUserList(int currentPage, int pageCount, String name) { Page page = new Page<>(); page.setCurrent(currentPage); page.setSize(pageCount); IPage result = smartUserMapper.warningUserList(page, name); return new PageUtils(result); } @Override public List warningPushList() { return smartUserMapper.warningPushList(); } @Override public List queryAffiliateParents(Integer userId) { return smartUserMapper.queryAffiliateParents(userId); } @Override public SmartUser queryUserInfo(String name, String cardNo, String idCard) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq(StringUtils.hasText(name), "name", name); queryWrapper.eq(StringUtils.hasText(cardNo), "card_no", cardNo); queryWrapper.eq(StringUtils.hasText(idCard), "id_card", idCard); queryWrapper.eq("is_cancel", 0); SmartUser result = smartUserMapper.selectOne(queryWrapper); return result; } @Override public List getSmartUserList(List ids) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("is_cancel", 0); queryWrapper.in("id", ids); List result = smartUserMapper.selectList(queryWrapper); return result; } @Override public List querySmartUserByCardNos(List cardNos) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("is_cancel", 0); queryWrapper.in("card_no", cardNos); List result = smartUserMapper.selectList(queryWrapper); return result; } @Override public SmartUserVo querySmartUserById(Integer id) { SmartUserVo result = smartUserMapper.querySmartUserById(id); return result; } @Override public int deleteUserBatch(List list) { int result = smartUserMapper.deleteUserBatch(list); return result; } @Override public PageUtils queryUserDeletePage(int currentPage, int pageCount) { Page page = new Page<>(); page.setCurrent(currentPage); page.setSize(pageCount); IPage result = smartUserMapper.queryUserDeletePage(page); return new PageUtils(result); } @Override public SmartStudentVo querySmartStudentById(Integer userId) { SmartStudentVo result = smartUserMapper.querySmartStudentById(userId); return result; } @Override public List queryStudentsByGrade(List gradeIds) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue()); queryWrapper.in(gradeIds != null && gradeIds.size() > 0, "grade", gradeIds); List result = smartUserMapper.selectList(queryWrapper); return result; } @Override public List queryUsersByClass(Integer schoolClass) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq(schoolClass != null, "school_class", schoolClass); queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue()); List users = smartUserMapper.selectList(queryWrapper); return users; } @Override public List getListUser() { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SmartUser::getIsCancel, 0); List smartUserList = this.list(wrapper); return smartUserList; } @Override public SmartUser getPhoneUser(String phone) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SmartUser::getPhone, phone) .eq(SmartUser::getIdentityId, 1); SmartUser smartUser = this.getOne(wrapper); return smartUser; } @Override public List getPhoneUsers(String phone) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("phone", phone); List result = smartUserMapper.selectList(queryWrapper); return result; } @Override public List getAffiliateUser(String affiliate) { return smartUserMapper.getAffiliateUser(affiliate); } @Override public SmartUser getCard(String certificateNumber) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper/*.eq(SmartUser::getIdCard,certificateNumber) .or()*/ .eq(SmartUser::getCardNo, certificateNumber); SmartUser one = this.getOne(wrapper); return one; } @Override public SmartUser getBsStudentNo(String idNum) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SmartUser::getBsStudentNo, idNum) .or() .eq(SmartUser::getBsStaffCode, idNum) .or() .eq(SmartUser::getIdCard, idNum); SmartUser one = this.getOne(wrapper); return one; } @Override public List getChargeTeacher(Integer schoolClass) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SmartUser::getSchoolClass, schoolClass) .eq(SmartUser::getDepartmentId, 137); List list = this.list(wrapper); return list; } @Override public List studentSelect(String keyWord) { return smartUserMapper.studentSelect(keyWord); } @Override public List querySmartParentByIds(List studentIds) { List result = smartUserMapper.querySmartParentByIds(studentIds); return result; } @Override public int queryStudentCount() { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("identity_id", eIdentityStatu.Student.getValue()); int result = smartUserMapper.selectCount(queryWrapper); return result; } @Override public List getAccessStatisticsCampus(Integer classId, LocalDateTime startTime, LocalDateTime endTime) { return smartUserMapper.getAccessStatisticsCampus(classId, startTime, endTime); } @Override public List getAttendanceStatisticsCampus(Integer classId, LocalDateTime startTime, LocalDateTime endTime) { return smartUserMapper.getAttendanceStatisticsCampus(classId, startTime, endTime); } @Override public List getFaceDiscernStatisticsCampus(Integer classId, LocalDateTime startTime, LocalDateTime endTime) { return smartUserMapper.getFaceDiscernStatisticsCampus(classId, startTime, endTime); } @Override public List getAckStatisticsCampus(Integer classId, LocalDateTime startTime, LocalDateTime endTime) { return smartUserMapper.getAckStatisticsCampus(classId, startTime, endTime); } @Override public List getClassStudent(Integer classId) { return smartUserMapper.getClassStudent(classId); } @Override public List queryTeachers() { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("identity_id", eIdentityStatu.Teacher.getValue()); List result = smartUserMapper.selectList(queryWrapper); return result; } @Override public List getAddressBook(Integer userId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SmartUser::getAffiliate, userId); wrapper.eq(SmartUser::getIsCancel, 0); List list = this.list(wrapper); return list; } @Override public List getAccessStatisticsCampusManage(Integer gradeId, Integer classId, LocalDateTime startTime, LocalDateTime endTime, String keyWord) { return smartUserMapper.getAccessStatisticsCampusManage(gradeId, classId, startTime, endTime, keyWord); } @Override public List getAttendanceStatisticsCampusManage(Integer gradeId, Integer classId, LocalDateTime startTime, LocalDateTime endTime, String keyWord) { return smartUserMapper.getAttendanceStatisticsCampusManage(gradeId, classId, startTime, endTime, keyWord); } @Override public List getFaceDiscernStatisticsCampusManage(Integer gradeId, Integer classId, LocalDateTime startTime, LocalDateTime endTime, String keyWord) { return smartUserMapper.getFaceDiscernStatisticsCampusManage(gradeId, classId, startTime, endTime, keyWord); } @Override public List getAckStatisticsCampusManage(Integer gradeId, Integer classId, LocalDateTime startTime, LocalDateTime endTime, String keyWord) { return smartUserMapper.getAckStatisticsCampusManage(gradeId, classId, startTime, endTime, keyWord); } @Override public List getClassStudentManage(Integer gradeId, Integer classId, String keyWord) { return smartUserMapper.getClassStudentManage(gradeId, classId, keyWord); } @Override public int queryParentByCount(String phone) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("identity_id", eIdentityStatu.Parent.getValue()); queryWrapper.eq("phone", phone); int result = smartUserMapper.selectCount(queryWrapper); return result; } @Override public SmartUser queryParentByPhone(String phone) { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("identity_id", eIdentityStatu.Parent.getValue()); queryWrapper.eq("phone", phone); SmartUser result = smartUserMapper.selectOne(queryWrapper); return result; } @Override public PageUtils getPage(int currentPage, int pageCount, String keyWord, String schoolClass) { Page page = new Page<>(); page.setCurrent(currentPage); page.setSize(pageCount); IPage result = smartUserMapper.getPage(page, keyWord, schoolClass); return new PageUtils(result); } @Override public List getUserClassTotal() { return smartUserMapper.getUserClassTotal(); } @Override public List getUserAckTotal(LocalDateTime startTime, LocalDateTime endTime) { return smartUserMapper.getUserAckTotal(startTime, endTime); } @Override public List getUserNormalTotal(LocalDateTime startTime, LocalDateTime endTime) { return smartUserMapper.getUserNormalTotal(startTime, endTime); } }