StudyService.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. package com.ruoyi.zzb.study.service;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.ruoyi.common.annotation.DataSource;
  8. import com.ruoyi.common.enums.DataSourceType;
  9. import com.ruoyi.common.utils.StringUtils;
  10. import com.ruoyi.zzb.study.domain.BasePersonInfo;
  11. import com.ruoyi.zzb.study.domain.StudyDocInfo;
  12. import com.ruoyi.zzb.study.domain.StudyViewLogInfo;
  13. import com.ruoyi.zzb.study.domain.UserSearchParam;
  14. import com.ruoyi.zzb.study.domain.req.SaveViewLogVO;
  15. import com.ruoyi.zzb.study.domain.req.UpdatePageViewNumVO;
  16. import com.ruoyi.zzb.study.mapper.BasePersonInfoMapper;
  17. import com.ruoyi.zzb.study.mapper.StudyDocInfoMapper;
  18. import com.ruoyi.zzb.study.mapper.StudyViewLogInfoMapper;
  19. import lombok.extern.slf4j.Slf4j;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.stereotype.Service;
  22. import java.util.List;
  23. @Service
  24. @Slf4j
  25. @DataSource(value = DataSourceType.SLAVE)
  26. public class StudyService {
  27. @Autowired
  28. private StudyDocInfoMapper studyDocInfoMapper;
  29. @Autowired
  30. private StudyViewLogInfoMapper studyViewLogInfoMapper;
  31. @Autowired
  32. private BasePersonInfoMapper basePersonInfoMapper;
  33. public Page<StudyDocInfo> findAllInfo(UserSearchParam searchParam) {
  34. //分页参数
  35. Page<StudyDocInfo> rowPage = new Page(searchParam.getPageIndex(), searchParam.getPageSize());
  36. //查询条件
  37. LambdaQueryWrapper<StudyDocInfo> queryWrapper = new LambdaQueryWrapper<>();
  38. if(StringUtils.isNotEmpty(searchParam.getTitle()))
  39. //排序
  40. queryWrapper.orderByAsc(StudyDocInfo::getOrderNum);
  41. queryWrapper.orderByAsc(StudyDocInfo::getCreateTime);
  42. //分页查询
  43. rowPage = studyDocInfoMapper.selectPage(rowPage, queryWrapper);
  44. return rowPage;
  45. }
  46. public JSONObject findByWrapper(String id) {
  47. JSONObject resultData = new JSONObject();
  48. QueryWrapper<StudyDocInfo> queryWrapper = new QueryWrapper();
  49. // queryWrapper.like(false,"username","aaa");
  50. queryWrapper.eq(StringUtils.isNotEmpty(id),"DOC_ID",id);
  51. StudyDocInfo studyDocInfo= studyDocInfoMapper.selectOne(queryWrapper);
  52. System.out.println(JSONObject.toJSONString(studyDocInfo));
  53. resultData.put("data",studyDocInfo);
  54. return resultData;
  55. }
  56. public boolean saveDocInfo(StudyDocInfo studyDocInfo) {
  57. int i = studyDocInfoMapper.insert(studyDocInfo);
  58. return i == 1;
  59. }
  60. public boolean deleteById(String id) {
  61. int i = studyDocInfoMapper.deleteById(id);
  62. return i == 1;
  63. }
  64. public boolean updatePageViewNumById(UpdatePageViewNumVO updatePageViewNumVO) {
  65. UpdateWrapper<StudyDocInfo> updateWrapper = new UpdateWrapper<>();
  66. updateWrapper.eq("DOC_ID",updatePageViewNumVO.getDocId()).set("PAGE_VIEW_NUM", updatePageViewNumVO.getPageViewNum());
  67. Integer i = studyDocInfoMapper.update(null, updateWrapper);
  68. return i == 1;
  69. }
  70. public boolean saveViewLogInfo(SaveViewLogVO saveViewLogVO) {
  71. //获取人员信息
  72. QueryWrapper<BasePersonInfo> queryPersonWrapper = new QueryWrapper();
  73. queryPersonWrapper.eq("USER_ID",saveViewLogVO.getUserId());
  74. queryPersonWrapper.eq("STATUS",0); //非禁用用户
  75. BasePersonInfo personInfo =basePersonInfoMapper.selectOne(queryPersonWrapper);
  76. if(personInfo == null){
  77. return false;
  78. }
  79. //记录浏览量+1
  80. UpdateWrapper<StudyDocInfo> updateDocWrapper = new UpdateWrapper<>();
  81. updateDocWrapper.eq("DOC_ID",saveViewLogVO.getDocId());
  82. updateDocWrapper.setSql("PAGE_VIEW_NUM = PAGE_VIEW_NUM + 1");
  83. Integer j = studyDocInfoMapper.update(null,updateDocWrapper);
  84. if(j != 1){
  85. return false;
  86. }
  87. //保存访问记录
  88. StudyViewLogInfo studyViewLogInfo = new StudyViewLogInfo();
  89. studyViewLogInfo.setDocId(saveViewLogVO.getDocId());
  90. studyViewLogInfo.setUserId(saveViewLogVO.getUserId());
  91. studyViewLogInfo.setUserName(personInfo.getName());
  92. studyViewLogInfo.setUserIdcard(personInfo.getIdcard());
  93. studyViewLogInfo.setUserPoliceNo(personInfo.getPoliceNo());
  94. studyViewLogInfo.setParentDeptCode(personInfo.getParentDeptCode());
  95. studyViewLogInfo.setParentDeptName(personInfo.getParentDeptName());
  96. studyViewLogInfo.setDeptCode(personInfo.getDeptCode());
  97. studyViewLogInfo.setDeptName(personInfo.getDeptName());
  98. int i = studyViewLogInfoMapper.insert(studyViewLogInfo);
  99. return i == 1 && j ==1;
  100. }
  101. /**
  102. * 分页查询用户列表
  103. */
  104. public Page<StudyDocInfo> findInfoByTitle(UserSearchParam searchParam)
  105. {
  106. //分页参数
  107. Page<StudyDocInfo> rowPage = new Page(searchParam.getPageIndex(), searchParam.getPageSize());
  108. //查询条件
  109. LambdaQueryWrapper<StudyDocInfo> queryWrapper = new LambdaQueryWrapper<>();
  110. if(StringUtils.isNotEmpty(searchParam.getTitle()))
  111. {
  112. queryWrapper.like(StudyDocInfo::getTitle,searchParam.getTitle());
  113. }
  114. //排序
  115. queryWrapper.orderByAsc(StudyDocInfo::getOrderNum);
  116. queryWrapper.orderByAsc(StudyDocInfo::getCreateTime);
  117. //分页查询
  118. rowPage = studyDocInfoMapper.selectPage(rowPage, queryWrapper);
  119. return rowPage;
  120. }
  121. }