From 31bb5ef6301cffebe01f76786c8abbe25ce30478 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E7=8E=89=E7=90=A6?= <7507756+jiang_yuqi@user.noreply.gitee.com> Date: Mon, 23 Oct 2023 01:34:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/src/api/work/workUser.js | 44 ++++ ruoyi-ui/src/views/work/workFile/index.vue | 24 ++- .../views/work/workFile/indexViewDrawer.vue | 167 +++++++++++++++ .../web/controller/BgWorkFileController.java | 7 +- .../web/controller/BgWorkTrainController.java | 2 + .../controller/WorkFileUserController.java | 104 ++++++++++ .../yanzhu/jh/work/domain/WorkFileUser.java | 191 ++++++++++++++++++ .../jh/work/domain/WorkFileUserLog.java | 82 ++++++++ .../jh/work/mapper/WorkFileUserMapper.java | 87 ++++++++ .../jh/work/service/IWorkFileService.java | 8 + .../jh/work/service/IWorkFileUserService.java | 61 ++++++ .../service/impl/WorkFileServiceImpl.java | 51 +++++ .../service/impl/WorkFileUserServiceImpl.java | 136 +++++++++++++ .../trouble/SmzSspProblemmodifyMapper.xml | 2 + .../mapper/work/WorkFileUserMapper.xml | 140 +++++++++++++ 15 files changed, 1096 insertions(+), 10 deletions(-) create mode 100644 ruoyi-ui/src/api/work/workUser.js create mode 100644 ruoyi-ui/src/views/work/workFile/indexViewDrawer.vue create mode 100644 yanzhu-jh/src/main/java/com/yanzhu/jh/work/controller/WorkFileUserController.java create mode 100644 yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUser.java create mode 100644 yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUserLog.java create mode 100644 yanzhu-jh/src/main/java/com/yanzhu/jh/work/mapper/WorkFileUserMapper.java create mode 100644 yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileUserService.java create mode 100644 yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileUserServiceImpl.java create mode 100644 yanzhu-jh/src/main/resources/mapper/work/WorkFileUserMapper.xml diff --git a/ruoyi-ui/src/api/work/workUser.js b/ruoyi-ui/src/api/work/workUser.js new file mode 100644 index 00000000..ebe768e9 --- /dev/null +++ b/ruoyi-ui/src/api/work/workUser.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询文件访问用户列表 +export function listWorkUser(query) { + return request({ + url: '/work/workUser/list', + method: 'get', + params: query + }) +} + +// 查询文件访问用户详细 +export function getWorkUser(id) { + return request({ + url: '/work/workUser/' + id, + method: 'get' + }) +} + +// 新增文件访问用户 +export function addWorkUser(data) { + return request({ + url: '/work/workUser', + method: 'post', + data: data + }) +} + +// 修改文件访问用户 +export function updateWorkUser(data) { + return request({ + url: '/work/workUser', + method: 'put', + data: data + }) +} + +// 删除文件访问用户 +export function delWorkUser(id) { + return request({ + url: '/work/workUser/' + id, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/views/work/workFile/index.vue b/ruoyi-ui/src/views/work/workFile/index.vue index b3e36f1d..5311634f 100644 --- a/ruoyi-ui/src/views/work/workFile/index.vue +++ b/ruoyi-ui/src/views/work/workFile/index.vue @@ -123,16 +123,20 @@ {{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}') }} - + + + + \ No newline at end of file diff --git a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkFileController.java b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkFileController.java index 336c7201..94d4f80c 100644 --- a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkFileController.java +++ b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkFileController.java @@ -7,6 +7,7 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.system.service.ISysDeptService; import com.yanzhu.jh.work.domain.WorkFile; import com.yanzhu.jh.work.service.IWorkFileService; +import com.yanzhu.jh.work.service.IWorkFileUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -44,13 +45,11 @@ public class BgWorkFileController extends BaseController { } /** - * 根据文件归属查询文件 - * @param fileId + * 打开文件 * @return */ @GetMapping("/workFileRead") public AjaxResult workFileRead(Long fileId){ - return success(); + return success(workFileService.openWorkFile(fileId)); } - } diff --git a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkTrainController.java b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkTrainController.java index ca34df26..d894841a 100644 --- a/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkTrainController.java +++ b/yanzhu-bigscreen/src/main/java/com/yanzhu/jh/bigscreen/web/controller/BgWorkTrainController.java @@ -1,6 +1,7 @@ package com.yanzhu.jh.bigscreen.web.controller; import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.utils.SecurityUtils; @@ -43,4 +44,5 @@ public class BgWorkTrainController extends BaseController { } return getDataTable(workTrainService.selectBgscreenWorkTrainListv2(workTrain)); } + } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/controller/WorkFileUserController.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/controller/WorkFileUserController.java new file mode 100644 index 00000000..fa75ff5f --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/controller/WorkFileUserController.java @@ -0,0 +1,104 @@ +package com.yanzhu.jh.work.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.yanzhu.jh.work.domain.WorkFileUser; +import com.yanzhu.jh.work.service.IWorkFileUserService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 文件访问用户Controller + * + * @author JiangYuQi + * @date 2023-10-22 + */ +@RestController +@RequestMapping("/work/workUser") +public class WorkFileUserController extends BaseController +{ + @Autowired + private IWorkFileUserService workFileUserService; + + /** + * 查询文件访问用户列表 + */ + @PreAuthorize("@ss.hasPermi('work:workFile:list')") + @GetMapping("/list") + public TableDataInfo list(WorkFileUser workFileUser) + { + startPage(); + List list = workFileUserService.selectWorkFileUserList(workFileUser); + return getDataTable(list); + } + + /** + * 导出文件访问用户列表 + */ + @PreAuthorize("@ss.hasPermi('work:workUser:export')") + @Log(title = "文件访问用户", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, WorkFileUser workFileUser) + { + List list = workFileUserService.selectWorkFileUserList(workFileUser); + ExcelUtil util = new ExcelUtil(WorkFileUser.class); + util.exportExcel(response, list, "文件访问用户数据"); + } + + /** + * 获取文件访问用户详细信息 + */ + @PreAuthorize("@ss.hasPermi('work:workUser:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(workFileUserService.selectWorkFileUserById(id)); + } + + /** + * 新增文件访问用户 + */ + @PreAuthorize("@ss.hasPermi('work:workUser:add')") + @Log(title = "文件访问用户", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody WorkFileUser workFileUser) + { + return toAjax(workFileUserService.insertWorkFileUser(workFileUser)); + } + + /** + * 修改文件访问用户 + */ + @PreAuthorize("@ss.hasPermi('work:workUser:edit')") + @Log(title = "文件访问用户", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody WorkFileUser workFileUser) + { + return toAjax(workFileUserService.updateWorkFileUser(workFileUser)); + } + + /** + * 删除文件访问用户 + */ + @PreAuthorize("@ss.hasPermi('work:workFile:remove')") + @Log(title = "文件访问用户", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(workFileUserService.deleteWorkFileUserByIds(ids)); + } +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUser.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUser.java new file mode 100644 index 00000000..ad30a01b --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUser.java @@ -0,0 +1,191 @@ +package com.yanzhu.jh.work.domain; + +import java.util.List; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 文件访问用户对象 work_file_user + * + * @author JiangYuQi + * @date 2023-10-22 + */ +public class WorkFileUser extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 文件主键 */ + @Excel(name = "文件主键") + private Long fileId; + + /** 项目主键 */ + @Excel(name = "项目主键") + private Long projectId; + + /** 部门主键 */ + @Excel(name = "部门主键") + private Long deptId; + + /** 用户主键 */ + @Excel(name = "用户主键") + private Long userId; + + /** 数据状态 */ + @Excel(name = "数据状态") + private String isDel; + + private String deptType; + private String deptTypeName; + private String deptName; + private String nickName; + private String userName; + private String ancestors; + private Integer num; + + /** 文件访问用户记录信息 */ + private List workFileUserLogList; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setFileId(Long fileId) + { + this.fileId = fileId; + } + + public Long getFileId() + { + return fileId; + } + public void setProjectId(Long projectId) + { + this.projectId = projectId; + } + + public Long getProjectId() + { + return projectId; + } + public void setDeptId(Long deptId) + { + this.deptId = deptId; + } + + public Long getDeptId() + { + return deptId; + } + public void setUserId(Long userId) + { + this.userId = userId; + } + + public Long getUserId() + { + return userId; + } + public void setIsDel(String isDel) + { + this.isDel = isDel; + } + + public String getIsDel() + { + return isDel; + } + + public List getWorkFileUserLogList() + { + return workFileUserLogList; + } + + public void setWorkFileUserLogList(List workFileUserLogList) + { + this.workFileUserLogList = workFileUserLogList; + } + + public String getDeptType() { + return deptType; + } + + public void setDeptType(String deptType) { + this.deptType = deptType; + } + + public String getDeptTypeName() { + return deptTypeName; + } + + public void setDeptTypeName(String deptTypeName) { + this.deptTypeName = deptTypeName; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getNickName() { + return nickName; + } + + public void setNickName(String nickName) { + this.nickName = nickName; + } + + public Integer getNum() { + return num; + } + + public void setNum(Integer num) { + this.num = num; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getAncestors() { + return ancestors; + } + + public void setAncestors(String ancestors) { + this.ancestors = ancestors; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("fileId", getFileId()) + .append("projectId", getProjectId()) + .append("deptId", getDeptId()) + .append("userId", getUserId()) + .append("isDel", getIsDel()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .append("workFileUserLogList", getWorkFileUserLogList()) + .toString(); + } +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUserLog.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUserLog.java new file mode 100644 index 00000000..e5d52fc1 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/domain/WorkFileUserLog.java @@ -0,0 +1,82 @@ +package com.yanzhu.jh.work.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 文件访问用户记录对象 work_file_user_log + * + * @author JiangYuQi + * @date 2023-10-22 + */ +public class WorkFileUserLog extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 用户访问文件主键 */ + @Excel(name = "用户访问文件主键") + private Long fileUserId; + + /** 访问时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date time; + + /** 数据状态 */ + @Excel(name = "数据状态") + private String isDel; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setFileUserId(Long fileUserId) + { + this.fileUserId = fileUserId; + } + + public Long getFileUserId() + { + return fileUserId; + } + public void setTime(Date time) + { + this.time = time; + } + + public Date getTime() + { + return time; + } + public void setIsDel(String isDel) + { + this.isDel = isDel; + } + + public String getIsDel() + { + return isDel; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("fileUserId", getFileUserId()) + .append("time", getTime()) + .append("isDel", getIsDel()) + .toString(); + } +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/mapper/WorkFileUserMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/mapper/WorkFileUserMapper.java new file mode 100644 index 00000000..b74a3e69 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/mapper/WorkFileUserMapper.java @@ -0,0 +1,87 @@ +package com.yanzhu.jh.work.mapper; + +import java.util.List; +import com.yanzhu.jh.work.domain.WorkFileUser; +import com.yanzhu.jh.work.domain.WorkFileUserLog; + +/** + * 文件访问用户Mapper接口 + * + * @author JiangYuQi + * @date 2023-10-22 + */ +public interface WorkFileUserMapper +{ + /** + * 查询文件访问用户 + * + * @param id 文件访问用户主键 + * @return 文件访问用户 + */ + public WorkFileUser selectWorkFileUserById(Long id); + + /** + * 查询文件访问用户列表 + * + * @param workFileUser 文件访问用户 + * @return 文件访问用户集合 + */ + public List selectWorkFileUserList(WorkFileUser workFileUser); + + /** + * 新增文件访问用户 + * + * @param workFileUser 文件访问用户 + * @return 结果 + */ + public int insertWorkFileUser(WorkFileUser workFileUser); + + /** + * 修改文件访问用户 + * + * @param workFileUser 文件访问用户 + * @return 结果 + */ + public int updateWorkFileUser(WorkFileUser workFileUser); + + /** + * 删除文件访问用户 + * + * @param id 文件访问用户主键 + * @return 结果 + */ + public int deleteWorkFileUserById(Long id); + + /** + * 批量删除文件访问用户 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteWorkFileUserByIds(Long[] ids); + + /** + * 批量删除文件访问用户记录 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteWorkFileUserLogByFileUserIds(Long[] ids); + + /** + * 批量新增文件访问用户记录 + * + * @param workFileUserLogList 文件访问用户记录列表 + * @return 结果 + */ + public int batchWorkFileUserLog(List workFileUserLogList); + + + /** + * 通过文件访问用户主键删除文件访问用户记录信息 + * + * @param id 文件访问用户ID + * @return 结果 + */ + public int deleteWorkFileUserLogByFileUserId(Long id); +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileService.java index 91b21915..e76fe2e7 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileService.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileService.java @@ -44,6 +44,14 @@ public interface IWorkFileService */ public int insertWorkFile(WorkFile workFile); + /** + * 打开文件 + * + * @param fileId 文件传达 + * @return 结果 + */ + public WorkFile openWorkFile(Long fileId); + /** * 修改文件传达 * diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileUserService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileUserService.java new file mode 100644 index 00000000..6d71a6d5 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/IWorkFileUserService.java @@ -0,0 +1,61 @@ +package com.yanzhu.jh.work.service; + +import java.util.List; +import com.yanzhu.jh.work.domain.WorkFileUser; + +/** + * 文件访问用户Service接口 + * + * @author JiangYuQi + * @date 2023-10-22 + */ +public interface IWorkFileUserService +{ + /** + * 查询文件访问用户 + * + * @param id 文件访问用户主键 + * @return 文件访问用户 + */ + public WorkFileUser selectWorkFileUserById(Long id); + + /** + * 查询文件访问用户列表 + * + * @param workFileUser 文件访问用户 + * @return 文件访问用户集合 + */ + public List selectWorkFileUserList(WorkFileUser workFileUser); + + /** + * 新增文件访问用户 + * + * @param workFileUser 文件访问用户 + * @return 结果 + */ + public int insertWorkFileUser(WorkFileUser workFileUser); + + /** + * 修改文件访问用户 + * + * @param workFileUser 文件访问用户 + * @return 结果 + */ + public int updateWorkFileUser(WorkFileUser workFileUser); + + /** + * 批量删除文件访问用户 + * + * @param ids 需要删除的文件访问用户主键集合 + * @return 结果 + */ + public int deleteWorkFileUserByIds(Long[] ids); + + /** + * 删除文件访问用户信息 + * + * @param id 文件访问用户主键 + * @return 结果 + */ + public int deleteWorkFileUserById(Long id); +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileServiceImpl.java index 7295c2e3..a514ef45 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileServiceImpl.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileServiceImpl.java @@ -1,17 +1,23 @@ package com.yanzhu.jh.work.service.impl; import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.enums.PublicStateEnum; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.file.FileUtils; import com.yanzhu.jh.work.domain.WorkFile; +import com.yanzhu.jh.work.domain.WorkFileUser; +import com.yanzhu.jh.work.domain.WorkFileUserLog; import com.yanzhu.jh.work.mapper.WorkFileMapper; +import com.yanzhu.jh.work.mapper.WorkFileUserMapper; import com.yanzhu.jh.work.service.IWorkFileService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; @@ -27,6 +33,9 @@ public class WorkFileServiceImpl implements IWorkFileService @Autowired private WorkFileMapper workFileMapper; + @Autowired + private WorkFileUserMapper workFileUserMapper; + /** * 查询文件传达 * @@ -51,6 +60,48 @@ public class WorkFileServiceImpl implements IWorkFileService return workFileMapper.selectWorkFileList(workFile); } + /** + * 打开文件 + * + * @param fileId 文件传达 + * @return 结果 + */ + @Override + @Transactional + public WorkFile openWorkFile(Long fileId){ + WorkFile workFile = workFileMapper.selectWorkFileById(fileId); + WorkFileUser workFileUser = new WorkFileUser(); + workFileUser.setFileId(fileId); + workFileUser.setUserId(SecurityUtils.getUserId()); + List list = workFileUserMapper.selectWorkFileUserList(workFileUser); + List logList = new ArrayList<>(); + if(list==null || list.size()==0){ + workFileUser.setIsDel(PublicStateEnum.OK.getCode()); + workFileUser.setDeptId(SecurityUtils.getDeptId()); + workFileUser.setCreateBy(SecurityUtils.getUsername()); + workFileUser.setCreateTime(new Date()); + workFileUserMapper.insertWorkFileUser(workFileUser); + + WorkFileUserLog workFileUserLog = new WorkFileUserLog(); + workFileUserLog.setFileUserId(workFileUser.getId()); + workFileUserLog.setTime(new Date()); + workFileUserLog.setIsDel(PublicStateEnum.OK.getCode()); + logList.add(workFileUserLog); + workFileUserMapper.batchWorkFileUserLog(logList); + + workFile.setReadNum(workFile.getReadNum()+1); + workFileMapper.updateWorkFile(workFile); + }else{ + WorkFileUserLog workFileUserLog = new WorkFileUserLog(); + workFileUserLog.setFileUserId(workFileUser.getId()); + workFileUserLog.setTime(new Date()); + workFileUserLog.setIsDel(PublicStateEnum.OK.getCode()); + logList.add(workFileUserLog); + workFileUserMapper.batchWorkFileUserLog(logList); + } + return workFile; + } + /** * 查询文件传达列表 * diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileUserServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileUserServiceImpl.java new file mode 100644 index 00000000..c2c8684b --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/work/service/impl/WorkFileUserServiceImpl.java @@ -0,0 +1,136 @@ +package com.yanzhu.jh.work.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.ArrayList; +import com.ruoyi.common.utils.StringUtils; +import org.springframework.transaction.annotation.Transactional; +import com.yanzhu.jh.work.domain.WorkFileUserLog; +import com.yanzhu.jh.work.mapper.WorkFileUserMapper; +import com.yanzhu.jh.work.domain.WorkFileUser; +import com.yanzhu.jh.work.service.IWorkFileUserService; +import com.ruoyi.common.utils.SecurityUtils; +/** + * 文件访问用户Service业务层处理 + * + * @author JiangYuQi + * @date 2023-10-22 + */ +@Service +public class WorkFileUserServiceImpl implements IWorkFileUserService +{ + @Autowired + private WorkFileUserMapper workFileUserMapper; + + /** + * 查询文件访问用户 + * + * @param id 文件访问用户主键 + * @return 文件访问用户 + */ + @Override + public WorkFileUser selectWorkFileUserById(Long id) + { + return workFileUserMapper.selectWorkFileUserById(id); + } + + /** + * 查询文件访问用户列表 + * + * @param workFileUser 文件访问用户 + * @return 文件访问用户 + */ + @Override + public List selectWorkFileUserList(WorkFileUser workFileUser) + { + return workFileUserMapper.selectWorkFileUserList(workFileUser); + } + + /** + * 新增文件访问用户 + * + * @param workFileUser 文件访问用户 + * @return 结果 + */ + @Transactional + @Override + public int insertWorkFileUser(WorkFileUser workFileUser) + { + workFileUser.setCreateBy(SecurityUtils.getUsername()); + workFileUser.setCreateTime(DateUtils.getNowDate()); + int rows = workFileUserMapper.insertWorkFileUser(workFileUser); + insertWorkFileUserLog(workFileUser); + return rows; + } + + /** + * 修改文件访问用户 + * + * @param workFileUser 文件访问用户 + * @return 结果 + */ + @Transactional + @Override + public int updateWorkFileUser(WorkFileUser workFileUser) + { + workFileUser.setUpdateBy(SecurityUtils.getUsername()); + workFileUser.setUpdateTime(DateUtils.getNowDate()); + workFileUserMapper.deleteWorkFileUserLogByFileUserId(workFileUser.getId()); + insertWorkFileUserLog(workFileUser); + return workFileUserMapper.updateWorkFileUser(workFileUser); + } + + /** + * 批量删除文件访问用户 + * + * @param ids 需要删除的文件访问用户主键 + * @return 结果 + */ + @Transactional + @Override + public int deleteWorkFileUserByIds(Long[] ids) + { + workFileUserMapper.deleteWorkFileUserLogByFileUserIds(ids); + return workFileUserMapper.deleteWorkFileUserByIds(ids); + } + + /** + * 删除文件访问用户信息 + * + * @param id 文件访问用户主键 + * @return 结果 + */ + @Transactional + @Override + public int deleteWorkFileUserById(Long id) + { + workFileUserMapper.deleteWorkFileUserLogByFileUserId(id); + return workFileUserMapper.deleteWorkFileUserById(id); + } + + /** + * 新增文件访问用户记录信息 + * + * @param workFileUser 文件访问用户对象 + */ + public void insertWorkFileUserLog(WorkFileUser workFileUser) + { + List workFileUserLogList = workFileUser.getWorkFileUserLogList(); + Long id = workFileUser.getId(); + if (StringUtils.isNotNull(workFileUserLogList)) + { + List list = new ArrayList(); + for (WorkFileUserLog workFileUserLog : workFileUserLogList) + { + workFileUserLog.setFileUserId(id); + list.add(workFileUserLog); + } + if (list.size() > 0) + { + workFileUserMapper.batchWorkFileUserLog(list); + } + } + } +} diff --git a/yanzhu-jh/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml b/yanzhu-jh/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml index 4d1b411d..1b91c433 100644 --- a/yanzhu-jh/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml +++ b/yanzhu-jh/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml @@ -166,6 +166,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and (ssp.lordSentUser = #{nowUser} or ssp.copySendUser like concat('%', #{nowUser}, '%') or ssp.recheckSendUser = #{nowUser} or ssp.createUser = #{nowUser} ) and ssp.checkState in (0,1,3) + and ssp.checkState in (0,3) + and ssp.checkState = 1 and ssp.checkState = 4 and (date(NOW()) ]]> date(ssp.nickedTime) and (ssp.updateTime is null or date(ssp.updateTime) ]]> date(ssp.nickedTime))) diff --git a/yanzhu-jh/src/main/resources/mapper/work/WorkFileUserMapper.xml b/yanzhu-jh/src/main/resources/mapper/work/WorkFileUserMapper.xml new file mode 100644 index 00000000..8eeec5ba --- /dev/null +++ b/yanzhu-jh/src/main/resources/mapper/work/WorkFileUserMapper.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, file_id, project_id, dept_id, user_id, is_del, create_by, create_time, update_by, update_time, remark from work_file_user + + + + + + + + insert into work_file_user + + file_id, + project_id, + dept_id, + user_id, + is_del, + create_by, + create_time, + update_by, + update_time, + remark, + + + #{fileId}, + #{projectId}, + #{deptId}, + #{userId}, + #{isDel}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + + + + + update work_file_user + + file_id = #{fileId}, + project_id = #{projectId}, + dept_id = #{deptId}, + user_id = #{userId}, + is_del = #{isDel}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + + where id = #{id} + + + + delete from work_file_user where id = #{id} + + + + delete from work_file_user where id in + + #{id} + + + + + delete from work_file_user_log where file_user_id in + + #{fileUserId} + + + + + delete from work_file_user_log where file_user_id = #{fileUserId} + + + + insert into work_file_user_log( id, file_user_id, time, is_del) values + + ( #{item.id}, #{item.fileUserId}, #{item.time}, #{item.isDel}) + + + \ No newline at end of file