| package com.ruoyi.system.service.impl; | 
|   | 
| import com.ruoyi.common.basic.PageInfo; | 
| import com.ruoyi.system.domain.SysOperLog; | 
| import com.ruoyi.system.mapper.SysOperLogMapper; | 
| import com.ruoyi.system.mapper.SysUserMapper; | 
| import com.ruoyi.system.query.SysOperLogQuery; | 
| import com.ruoyi.system.service.ISysOperLogService; | 
| import com.ruoyi.system.vo.SysOperLogVO; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.stereotype.Service; | 
|   | 
| import java.util.List; | 
|   | 
| /** | 
|  * 操作日志 服务层处理 | 
|  *  | 
|  * @author ruoyi | 
|  */ | 
| @Service | 
| public class SysOperLogServiceImpl implements ISysOperLogService | 
| { | 
|     @Autowired | 
|     private SysOperLogMapper operLogMapper; | 
|     @Autowired | 
|     private SysUserMapper userMapper; | 
|   | 
|     /** | 
|      * 新增操作日志 | 
|      *  | 
|      * @param operLog 操作日志对象 | 
|      */ | 
|     @Override | 
|     public void insertOperlog(SysOperLog operLog) | 
|     { | 
|         operLogMapper.insertOperlog(operLog); | 
|     } | 
|   | 
|     /** | 
|      * 查询系统操作日志集合 | 
|      *  | 
|      * @param operLog 操作日志对象 | 
|      * @return 操作日志集合 | 
|      */ | 
|     @Override | 
|     public List<SysOperLog> selectOperLogList(SysOperLog operLog) | 
|     { | 
|         return operLogMapper.selectOperLogList(operLog); | 
|     } | 
|   | 
|     /** | 
|      * 批量删除系统操作日志 | 
|      *  | 
|      * @param operIds 需要删除的操作日志ID | 
|      * @return 结果 | 
|      */ | 
|     @Override | 
|     public int deleteOperLogByIds(List<Long> operIds) | 
|     { | 
|         return operLogMapper.deleteOperLogByIds(operIds); | 
|     } | 
|   | 
|     /** | 
|      * 查询操作日志详细 | 
|      *  | 
|      * @param operId 操作ID | 
|      * @return 操作日志对象 | 
|      */ | 
|     @Override | 
|     public SysOperLog selectOperLogById(Long operId) | 
|     { | 
|         return operLogMapper.selectOperLogById(operId); | 
|     } | 
|   | 
|     /** | 
|      * 清空操作日志 | 
|      */ | 
|     @Override | 
|     public void cleanOperLog() | 
|     { | 
|         operLogMapper.cleanOperLog(); | 
|     } | 
|   | 
|     @Override | 
|     public PageInfo<SysOperLogVO> selectOperLogPageList(SysOperLogQuery query) { | 
|         PageInfo<SysOperLogVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); | 
|         List<SysOperLogVO> list = operLogMapper.selectOperLogPageList(query,pageInfo); | 
|         pageInfo.setRecords(list); | 
|         return pageInfo; | 
|     } | 
|   | 
| //    @Override | 
| //    public void getLogDetail(List<SysOperLogVO> sysOperLogVOS) { | 
| //        for (SysOperLogVO sysOperLogVO : sysOperLogVOS) { | 
| //            if(sysOperLogVO.getTitle().contains("单位")){ | 
| //                JSONObject jsonObject = JSONObject.parseObject(sysOperLogVO.getOperParam()); | 
| //                if(Objects.nonNull(jsonObject)){ | 
| //                    String companyName = jsonObject.getString("companyName"); | 
| //                    switch (sysOperLogVO.getBusinessType()){ | 
| //                        case 1: | 
| //                            // 新增 | 
| //                            sysOperLogVO.setOperDetail("新增了<"+companyName+">单位"); | 
| //                            break; | 
| //                        case 2: | 
| //                            // 编辑 | 
| //                            sysOperLogVO.setOperDetail("编辑了<"+companyName+">单位"); | 
| //                            break; | 
| //                    } | 
| //                } | 
| //            } | 
| //            if(sysOperLogVO.getTitle().contains("部门")){ | 
| //                JSONObject jsonObject = JSONObject.parseObject(sysOperLogVO.getOperParam()); | 
| //                if(Objects.nonNull(jsonObject)){ | 
| //                    String deptName = jsonObject.getString("deptName"); | 
| //                    switch (sysOperLogVO.getBusinessType()){ | 
| //                        case 1: | 
| //                            // 新增 | 
| //                            sysOperLogVO.setOperDetail("新增了<"+deptName+">部门"); | 
| //                            break; | 
| //                        case 2: | 
| //                            // 编辑 | 
| //                            sysOperLogVO.setOperDetail("编辑了<"+deptName+">部门"); | 
| //                            break; | 
| //                    } | 
| //                } | 
| //            } | 
| //            if(sysOperLogVO.getTitle().contains("角色信息")){ | 
| //                JSONObject jsonObject = JSONObject.parseObject(sysOperLogVO.getOperParam()); | 
| //                if(Objects.nonNull(jsonObject)){ | 
| //                    String roleName = jsonObject.getString("roleName"); | 
| //                    switch (sysOperLogVO.getBusinessType()){ | 
| //                        case 1: | 
| //                            // 新增 | 
| //                            sysOperLogVO.setOperDetail("新增了<"+roleName+">角色"); | 
| //                            break; | 
| //                        case 2: | 
| //                            // 编辑 | 
| //                            sysOperLogVO.setOperDetail("编辑了<"+roleName+">角色"); | 
| //                            break; | 
| //                    } | 
| //                } | 
| //            } | 
| //            if(sysOperLogVO.getTitle().contains("用户信息")){ | 
| //                JSONObject jsonObject = JSONObject.parseObject(sysOperLogVO.getOperParam()); | 
| //                if(Objects.nonNull(jsonObject)){ | 
| //                    String nickName = jsonObject.getString("nickName"); | 
| //                    switch (sysOperLogVO.getBusinessType()){ | 
| //                        case 1: | 
| //                            // 新增 | 
| //                            sysOperLogVO.setOperDetail("新增了<"+nickName+">用户"); | 
| //                            break; | 
| //                        case 2: | 
| //                            // 编辑 | 
| //                            sysOperLogVO.setOperDetail("编辑了<"+nickName+">用户"); | 
| //                            break; | 
| //                    } | 
| //                } | 
| //            } | 
| //            if(sysOperLogVO.getTitle().contains("问题反馈")){ | 
| //                JSONObject jsonObject = JSONObject.parseObject(sysOperLogVO.getOperParam()); | 
| //                if(Objects.nonNull(jsonObject)){ | 
| //                    String problemFeedback = jsonObject.getString("problemFeedback"); | 
| //                    switch (sysOperLogVO.getBusinessType()){ | 
| //                        case 1: | 
| //                            // 新增 | 
| //                            sysOperLogVO.setOperDetail("新增了<"+problemFeedback+">问题反馈"); | 
| //                            break; | 
| //                        case 2: | 
| //                            // 编辑 | 
| //                            sysOperLogVO.setOperDetail("编辑了<"+problemFeedback+">问题反馈"); | 
| //                            break; | 
| //                    } | 
| //                } | 
| //            } | 
| //            if(sysOperLogVO.getTitle().contains("现场作业")){ | 
| //                JSONObject jsonObject = JSONObject.parseObject(sysOperLogVO.getOperParam()); | 
| //                if(Objects.nonNull(jsonObject)){ | 
| //                    String engineeringName = jsonObject.getString("engineeringName"); | 
| //                    switch (sysOperLogVO.getBusinessType()){ | 
| //                        case 1: | 
| //                            // 新增 | 
| //                            sysOperLogVO.setOperDetail("新增了<"+engineeringName+">现场作业"); | 
| //                            break; | 
| //                        case 2: | 
| //                            // 编辑 | 
| //                            sysOperLogVO.setOperDetail("编辑了<"+engineeringName+">现场作业"); | 
| //                            break; | 
| //                        case 10: | 
| //                            // 现场作业修改时间 | 
| //                            String startTime = jsonObject.getString("startTime"); | 
| //                            String endTime = jsonObject.getString("endTime"); | 
| //                            sysOperLogVO.setOperDetail("编辑了<"+engineeringName+">现场作业时间为:"+startTime+"~"+endTime); | 
| //                        case 11: | 
| //                            // 现场作业修改经理 | 
| //                            Long projectManager = jsonObject.getLong("projectManager"); | 
| //                            SysUser manager = userMapper.selectUserById(projectManager); | 
| //                            sysOperLogVO.setOperDetail("编辑了<"+engineeringName+">现场作业经理为:"+manager.getNickName()); | 
| //                        case 12: | 
| //                            // 现场作业修改负责人 | 
| //                            Long workHeader = jsonObject.getLong("workHeader"); | 
| //                            SysUser header = userMapper.selectUserById(workHeader); | 
| //                            sysOperLogVO.setOperDetail("编辑了<"+engineeringName+">现场作业负责人为:"+header.getNickName()); | 
| //                        case 13: | 
| //                            // 现场作业修改人员新增 | 
| //                            JSONArray addUserIds = jsonObject.getJSONArray("addUserIds"); | 
| //                            JSONArray borrowUserIds = jsonObject.getJSONArray("borrowUserIds"); | 
| //                            List<Long> userIds = new ArrayList<>(); | 
| //                            for (Object addUserId : addUserIds) { | 
| //                                userIds.add(Long.valueOf((String.valueOf(addUserId)))); | 
| //                            } | 
| //                            for (Object borrowUserId : borrowUserIds) { | 
| //                                userIds.add(Long.valueOf((String.valueOf(borrowUserId)))); | 
| //                            } | 
| //                            List<SysUser> userList = userMapper.selectUserByIds(userIds); | 
| //                            List<String> nickNameList = userList.stream().map(SysUser::getNickName).collect(Collectors.toList()); | 
| //                            String nickNames = nickNameList.stream().map(Object::toString).collect(Collectors.joining("、")); | 
| //                            sysOperLogVO.setOperDetail("编辑了<"+engineeringName+">现场作业人员新增:"+nickNames); | 
| //                        case 14: | 
| //                            // 现场作业修改人员减少 | 
| //                            Long reduceUserId = jsonObject.getLong("reduceUserId"); | 
| //                            SysUser reduceUser = userMapper.selectUserById(reduceUserId); | 
| //                            sysOperLogVO.setOperDetail("编辑了<"+engineeringName+">现场作业人员减少:"+reduceUser.getNickName()); | 
| //                    } | 
| //                } | 
| //            } | 
| //            if(sysOperLogVO.getTitle().contains("培训类别")){ | 
| //                JSONObject jsonObject = JSONObject.parseObject(sysOperLogVO.getOperParam()); | 
| //                if(Objects.nonNull(jsonObject)){ | 
| //                    String content = jsonObject.getString("content"); | 
| //                    switch (sysOperLogVO.getBusinessType()){ | 
| //                        case 1: | 
| //                            // 新增 | 
| //                            sysOperLogVO.setOperDetail("新增了<"+content+">培训类别"); | 
| //                            break; | 
| //                        case 2: | 
| //                            // 编辑 | 
| //                            sysOperLogVO.setOperDetail("编辑了<"+content+">培训类别"); | 
| //                            break; | 
| //                    } | 
| //                } | 
| //            } | 
| //            if(sysOperLogVO.getTitle().contains("培训信息")){ | 
| //                JSONObject jsonObject = JSONObject.parseObject(sysOperLogVO.getOperParam()); | 
| //                if(Objects.nonNull(jsonObject)){ | 
| //                    String trainName = jsonObject.getString("trainName"); | 
| //                    switch (sysOperLogVO.getBusinessType()){ | 
| //                        case 1: | 
| //                            // 新增 | 
| //                            sysOperLogVO.setOperDetail("新增了<"+trainName+">培训信息"); | 
| //                            break; | 
| //                        case 2: | 
| //                            // 编辑 | 
| //                            sysOperLogVO.setOperDetail("编辑了<"+trainName+">培训信息"); | 
| //                            break; | 
| //                    } | 
| //                } | 
| //            } | 
| //        } | 
| //    } | 
| } |