package com.ruoyi.zzb.study.service; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.annotation.DataSource; import com.ruoyi.common.enums.DataSourceType; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.zzb.study.domain.BasePersonInfo; import com.ruoyi.zzb.study.domain.StudyDocInfo; import com.ruoyi.zzb.study.domain.StudyViewLogInfo; import com.ruoyi.zzb.study.domain.UserSearchParam; import com.ruoyi.zzb.study.domain.req.SaveViewLogVO; import com.ruoyi.zzb.study.domain.req.UpdatePageViewNumVO; import com.ruoyi.zzb.study.mapper.BasePersonInfoMapper; import com.ruoyi.zzb.study.mapper.StudyDocInfoMapper; import com.ruoyi.zzb.study.mapper.StudyViewLogInfoMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service @Slf4j @DataSource(value = DataSourceType.SLAVE) public class StudyService { @Autowired private StudyDocInfoMapper studyDocInfoMapper; @Autowired private StudyViewLogInfoMapper studyViewLogInfoMapper; @Autowired private BasePersonInfoMapper basePersonInfoMapper; public Page findAllInfo(UserSearchParam searchParam) { //分页参数 Page rowPage = new Page(searchParam.getPageIndex(), searchParam.getPageSize()); //查询条件 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); if(StringUtils.isNotEmpty(searchParam.getTitle())) //排序 queryWrapper.orderByAsc(StudyDocInfo::getOrderNum); queryWrapper.orderByAsc(StudyDocInfo::getCreateTime); //分页查询 rowPage = studyDocInfoMapper.selectPage(rowPage, queryWrapper); return rowPage; } public JSONObject findByWrapper(String id) { JSONObject resultData = new JSONObject(); QueryWrapper queryWrapper = new QueryWrapper(); // queryWrapper.like(false,"username","aaa"); queryWrapper.eq(StringUtils.isNotEmpty(id),"DOC_ID",id); StudyDocInfo studyDocInfo= studyDocInfoMapper.selectOne(queryWrapper); System.out.println(JSONObject.toJSONString(studyDocInfo)); resultData.put("data",studyDocInfo); return resultData; } public boolean saveDocInfo(StudyDocInfo studyDocInfo) { int i = studyDocInfoMapper.insert(studyDocInfo); return i == 1; } public boolean deleteById(String id) { int i = studyDocInfoMapper.deleteById(id); return i == 1; } public boolean updatePageViewNumById(UpdatePageViewNumVO updatePageViewNumVO) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("DOC_ID",updatePageViewNumVO.getDocId()).set("PAGE_VIEW_NUM", updatePageViewNumVO.getPageViewNum()); Integer i = studyDocInfoMapper.update(null, updateWrapper); return i == 1; } public boolean saveViewLogInfo(SaveViewLogVO saveViewLogVO) { //获取人员信息 QueryWrapper queryPersonWrapper = new QueryWrapper(); queryPersonWrapper.eq("USER_ID",saveViewLogVO.getUserId()); queryPersonWrapper.eq("STATUS",0); //非禁用用户 BasePersonInfo personInfo =basePersonInfoMapper.selectOne(queryPersonWrapper); if(personInfo == null){ return false; } //记录浏览量+1 UpdateWrapper updateDocWrapper = new UpdateWrapper<>(); updateDocWrapper.eq("DOC_ID",saveViewLogVO.getDocId()); updateDocWrapper.setSql("PAGE_VIEW_NUM = PAGE_VIEW_NUM + 1"); Integer j = studyDocInfoMapper.update(null,updateDocWrapper); if(j != 1){ return false; } //保存访问记录 StudyViewLogInfo studyViewLogInfo = new StudyViewLogInfo(); studyViewLogInfo.setDocId(saveViewLogVO.getDocId()); studyViewLogInfo.setUserId(saveViewLogVO.getUserId()); studyViewLogInfo.setUserName(personInfo.getName()); studyViewLogInfo.setUserIdcard(personInfo.getIdcard()); studyViewLogInfo.setUserPoliceNo(personInfo.getPoliceNo()); studyViewLogInfo.setParentDeptCode(personInfo.getParentDeptCode()); studyViewLogInfo.setParentDeptName(personInfo.getParentDeptName()); studyViewLogInfo.setDeptCode(personInfo.getDeptCode()); studyViewLogInfo.setDeptName(personInfo.getDeptName()); int i = studyViewLogInfoMapper.insert(studyViewLogInfo); return i == 1 && j ==1; } /** * 分页查询用户列表 */ public Page findInfoByTitle(UserSearchParam searchParam) { //分页参数 Page rowPage = new Page(searchParam.getPageIndex(), searchParam.getPageSize()); //查询条件 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); if(StringUtils.isNotEmpty(searchParam.getTitle())) { queryWrapper.like(StudyDocInfo::getTitle,searchParam.getTitle()); } //排序 queryWrapper.orderByAsc(StudyDocInfo::getOrderNum); queryWrapper.orderByAsc(StudyDocInfo::getCreateTime); //分页查询 rowPage = studyDocInfoMapper.selectPage(rowPage, queryWrapper); return rowPage; } }