lzu918 7 mēneši atpakaļ
vecāks
revīzija
3cdf716393

+ 25 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/common/MybatisPlusConfig.java

@@ -0,0 +1,25 @@
+package com.ruoyi.zzb.study.common;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * MybatisPlus配置类
+ * @author pan_junbiao
+ **/
+@Configuration
+public class MybatisPlusConfig
+{
+    /**
+     * 新增分页拦截器,并设置数据库类型为 mysql
+     */
+    @Bean
+    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.ORACLE));
+        return interceptor;
+    }
+}

+ 44 - 10
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/controller/StudyController.java

@@ -1,9 +1,12 @@
 package com.ruoyi.zzb.study.controller;
 
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.zzb.common.RspResult;
 import com.ruoyi.zzb.study.domain.StudyDocInfo;
+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.service.StudyService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -12,9 +15,6 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-import java.util.List;
 
 @Slf4j
 @RestController
@@ -28,12 +28,7 @@ public class StudyController {
 	public JSONObject findAllInfo(HttpServletResponse response, HttpServletRequest request,@RequestBody JSONObject params) {
 
 		try {
-			//JSONObject obj = JSONObject.parseObject(jsonString);
 			JSONObject result = studyService.findAllInfo();
-			log.error(result.toJSONString());
-
-			System.err.println("改改改");
-
 			return RspResult.success(result);
 		}catch (Exception e){
 			e.printStackTrace();
@@ -59,7 +54,7 @@ public class StudyController {
 	public JSONObject saveDoc(HttpServletResponse response, HttpServletRequest request,@Validated @RequestBody StudyDocInfo studyDocInfo) {
 
 		try {
-			boolean result = studyService.saveInfo(studyDocInfo);
+			boolean result = studyService.saveDocInfo(studyDocInfo);
 			return RspResult.success(result);
 		}catch (Exception e){
 			e.printStackTrace();
@@ -80,4 +75,43 @@ public class StudyController {
 			return RspResult.error(e.getMessage());
 		}
 	}
+
+	@PostMapping("/updatePageViewNumById")
+	public JSONObject updatePageViewNumById(HttpServletResponse response, HttpServletRequest request,@Validated @RequestBody UpdatePageViewNumVO updatePageViewNumVO) {
+		try {
+			boolean result = studyService.updatePageViewNumById(updatePageViewNumVO);
+			return RspResult.success(result);
+		}catch (Exception e){
+			e.printStackTrace();
+			return RspResult.error(e.getMessage());
+		}
+	}
+
+	@PostMapping("/saveViewLog")
+	public JSONObject saveViewLog(HttpServletResponse response, HttpServletRequest request, @Validated @RequestBody SaveViewLogVO saveViewLogVO) {
+		try {
+			boolean result = studyService.saveViewLogInfo(saveViewLogVO);
+			return RspResult.success(result);
+		}catch (Exception e){
+			e.printStackTrace();
+			return RspResult.error(e.getMessage());
+		}
+
+	}
+
+
+
+	@PostMapping("/findInfoByTitle")
+	public JSONObject findInfoByTitle(HttpServletResponse response, HttpServletRequest request,@RequestBody UserSearchParam userSearchParam) {
+
+		try {
+			Page<StudyDocInfo> result = studyService.findInfoByTitle(userSearchParam);
+			return RspResult.success(result);
+		}catch (Exception e){
+			e.printStackTrace();
+			return RspResult.error(e.getMessage());
+		}
+
+	}
+
 }

+ 26 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/domain/BasePaging.java

@@ -0,0 +1,26 @@
+package com.ruoyi.zzb.study.domain;
+
+import lombok.Data;
+
+/**
+ * 公共分页类
+ * @author pan_junbiao
+ **/
+@Data
+public class BasePaging
+{
+    /**
+     * 当前页码
+     */
+    private int pageIndex;
+
+    /**
+     * 分页大小
+     */
+    private int pageSize;
+
+    /**
+     * 排序
+     */
+    private String orderBy;
+}

+ 39 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/domain/BasePersonInfo.java

@@ -0,0 +1,39 @@
+package com.ruoyi.zzb.study.domain;
+
+
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+@AllArgsConstructor
+@NoArgsConstructor
+@Data
+@TableName("ZZB_BASE_PERSON_INFO")
+public class BasePersonInfo {
+
+    private String userId;
+    private String name;
+    private String idcard;
+    private String phone;
+    private String policeNo;
+    private String parentDeptName;
+    private String parentDeptCode;
+    private String deptName;
+    private String deptCode;
+
+    @TableLogic
+    private String status;
+    private String password;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private String createTime;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private String updateTime;
+}

+ 4 - 4
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/domain/StudyDocInfo.java

@@ -1,9 +1,6 @@
 package com.ruoyi.zzb.study.domain;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -37,6 +34,9 @@ public class StudyDocInfo {
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date docSrcTime;
+
+    //逻辑删除
+    @TableLogic
     private Integer  deleteStatus;
     private Integer  pageViewNum;
 

+ 38 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/domain/StudyViewLogInfo.java

@@ -0,0 +1,38 @@
+package com.ruoyi.zzb.study.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+
+@AllArgsConstructor
+@NoArgsConstructor
+@Data
+@TableName("STUDY_VIEW_LOG")
+public class StudyViewLogInfo {
+
+    @TableId(type = IdType.ASSIGN_ID)
+    private String docId;
+    @NotBlank
+    private String userId;
+    private String userName;
+    private String userIdcard;
+    private String userPoliceNo;
+    private String parentDeptName;
+    private String parentDeptCode;
+    private String deptName;
+    private String deptCode;
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private String viewTime;
+
+}

+ 16 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/domain/UserSearchParam.java

@@ -0,0 +1,16 @@
+package com.ruoyi.zzb.study.domain;
+
+import lombok.Data;
+
+/**
+ * 用户查询参数类
+ * @author pan_junbiao
+ **/
+@Data
+public class UserSearchParam extends BasePaging
+{
+
+    private String title;
+
+
+}

+ 22 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/domain/req/SaveViewLogVO.java

@@ -0,0 +1,22 @@
+package com.ruoyi.zzb.study.domain.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+@Data
+public class SaveViewLogVO {
+
+    @NotBlank
+    private String  docId;
+
+    @NotBlank
+    private String userId;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private String viewTime;
+}

+ 16 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/domain/req/UpdatePageViewNumVO.java

@@ -0,0 +1,16 @@
+package com.ruoyi.zzb.study.domain.req;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+@Data
+public class UpdatePageViewNumVO {
+
+    @NotBlank
+    private String  docId;
+
+    @NotNull
+    private Integer  pageViewNum;
+}

+ 9 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/mapper/BasePersonInfoMapper.java

@@ -0,0 +1,9 @@
+package com.ruoyi.zzb.study.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.zzb.study.domain.BasePersonInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface BasePersonInfoMapper  extends BaseMapper<BasePersonInfo> {
+}

+ 10 - 0
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/mapper/StudyViewLogInfoMapper.java

@@ -0,0 +1,10 @@
+package com.ruoyi.zzb.study.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.zzb.study.domain.StudyDocInfo;
+import com.ruoyi.zzb.study.domain.StudyViewLogInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface StudyViewLogInfoMapper extends BaseMapper<StudyViewLogInfo> {
+}

+ 93 - 4
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/service/StudyService.java

@@ -1,15 +1,23 @@
 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.common.Constant;
+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 lombok.extern.slf4j.XSlf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -22,8 +30,15 @@ public class StudyService {
 
     @Autowired
     private StudyDocInfoMapper studyDocInfoMapper;
-    public JSONObject findAllInfo() {
 
+    @Autowired
+    private StudyViewLogInfoMapper studyViewLogInfoMapper;
+
+    @Autowired
+    private BasePersonInfoMapper basePersonInfoMapper;
+
+
+    public JSONObject findAllInfo() {
         JSONObject resultData = new JSONObject();
         List<StudyDocInfo> StudyDocInfoList= studyDocInfoMapper.selectList(new QueryWrapper<>());
         resultData.put("data",StudyDocInfoList);
@@ -45,7 +60,7 @@ public class StudyService {
         return resultData;
     }
 
-    public boolean saveInfo(StudyDocInfo studyDocInfo) {
+    public boolean saveDocInfo(StudyDocInfo studyDocInfo) {
         int i = studyDocInfoMapper.insert(studyDocInfo);
         return i == 1;
     }
@@ -56,5 +71,79 @@ public class StudyService {
     }
 
 
+    public boolean updatePageViewNumById(UpdatePageViewNumVO updatePageViewNumVO) {
+        UpdateWrapper<StudyDocInfo> 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<BasePersonInfo>  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<StudyDocInfo> 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<StudyDocInfo> findInfoByTitle(UserSearchParam searchParam)
+    {
+        //分页参数
+        Page<StudyDocInfo> rowPage = new Page(searchParam.getPageIndex(), searchParam.getPageSize());
+
+        //查询条件
+        LambdaQueryWrapper<StudyDocInfo> queryWrapper = new LambdaQueryWrapper<>();
+        if(StringUtils.isNotEmpty(searchParam.getTitle()))
+        {
+            queryWrapper.like(StudyDocInfo::getTitle,searchParam.getTitle());
+        }
+//        if(StringUtils.isNotEmpty(searchParam.getProvince()))
+//        {
+//            queryWrapper.eq(UserInfo::getProvince,searchParam.getProvince());
+//        }
+
+        //排序
+        queryWrapper.orderByAsc(StudyDocInfo::getCreateTime);
+
+        //分页查询
+        rowPage = studyDocInfoMapper.selectPage(rowPage, queryWrapper);
+        return rowPage;
+    }
 
 }