| | |
| | | import com.whyc.dto.paramter.UserWorkAlarmParam; |
| | | import com.whyc.mapper.UserWorkMapper; |
| | | import com.whyc.mapper.WorkAlarmMapper; |
| | | import com.whyc.pojo.UserInf; |
| | | import com.whyc.pojo.UserWork; |
| | | import com.whyc.util.ActionUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.system.ApplicationHome; |
| | | import org.springframework.core.env.Environment; |
| | |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.io.*; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | | public class UserWorkService { |
| | |
| | | private WorkAlarmMapper workAlarmMapper; |
| | | @Autowired |
| | | private Environment environment; |
| | | |
| | | @Autowired |
| | | private BattGroupStationUserService battGroupStationUserService; |
| | | |
| | | public Response addOrUpdate(UserWork userWork){ |
| | | if (userWork.getId()==null || userWork.getId()==0){ |
| | |
| | | |
| | | public Response searchByCondition(UserWork userWork){ |
| | | QueryWrapper<UserWork> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq(userWork.getUserId()!=null||userWork.getUserId()!=0,"userId",userWork.getUserId()); |
| | | queryWrapper.eq(userWork.getManagerId()!=null||userWork.getManagerId()!=0,"managerId",userWork.getManagerId()); |
| | | queryWrapper.eq(userWork.getWorkId()!=null||userWork.getWorkId()!=0,"workId",userWork.getWorkId()); |
| | | queryWrapper.eq(userWork.getUserId() != null && userWork.getUserId() != 0, "userId", userWork.getUserId()); |
| | | queryWrapper.eq(userWork.getManagerId() != null && userWork.getManagerId() != 0, "managerId", userWork.getManagerId()); |
| | | queryWrapper.eq(userWork.getWorkId() != null && userWork.getWorkId() != 0, "workId", userWork.getWorkId()); |
| | | List<UserWork> list = mapper.selectList(queryWrapper); |
| | | return new Response().set(1,list,"查询成功"); |
| | | return new Response().set(1, list, "查询成功"); |
| | | } |
| | | |
| | | |
| | |
| | | //打包版 |
| | | fileDirName = jarFile.toString(); |
| | | } |
| | | String root=fileDirName+"/stationsrc/alarm/"+ param.getStationId() + "/" + param.getAfterOrBefore() + "/"; |
| | | String root=fileDirName+"/fg_photo/stationsrc/alarm/"+ param.getStationId() + "/" + param.getAfterOrBefore() + "/"; |
| | | List<String> filePathList = new ArrayList<>(); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | boolean isSuccess = false; |
| | |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | if(in != null){ |
| | | if (in != null) { |
| | | try { |
| | | in.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | if(out != null){ |
| | | if (out != null) { |
| | | try { |
| | | out.close(); |
| | | } catch (IOException e) { |
| | |
| | | } |
| | | } |
| | | } |
| | | public void createFilefolderIFNotExist(String filePath){ |
| | | |
| | | public void createFilefolderIFNotExist(String filePath) { |
| | | File f = new File(filePath); |
| | | if(!f.exists()){ |
| | | if(!f.getParentFile().exists()){ |
| | | if (!f.exists()) { |
| | | if (!f.getParentFile().exists()) { |
| | | f.getParentFile().mkdirs(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | public void deleteAlarmFile(){ |
| | | public Response deleteAlarmFile(String fileNames, int stationId, String afterOrBefore, HttpServletRequest request) { |
| | | //校验传入的stationId是否为当前用户管理的 |
| | | UserInf user = (UserInf) request.getSession().getAttribute("user"); |
| | | if(user == null){ |
| | | user = new UserInf(); |
| | | user.setUName("未登录的用户账号"); |
| | | user.setUId(0L); |
| | | user.setURole(0); |
| | | } |
| | | List<UserInf> userList = battGroupStationUserService.getUserList(stationId); |
| | | List<Long> userIdList = userList.stream().map(UserInf::getUId).collect(Collectors.toList()); |
| | | if(!userIdList.contains(user.getUId())){ |
| | | return new Response().set(0, "删除失败,当前用户无权限删除传参站点的文件"); |
| | | } |
| | | |
| | | //过滤特殊字符,避免路径遍历攻击 |
| | | fileNames = ActionUtil.filterFileName(fileNames); |
| | | afterOrBefore = ActionUtil.filterFileName(afterOrBefore); |
| | | String names[] = fileNames.split(","); |
| | | String fileDirName = ""; |
| | | int configType = Integer.parseInt(environment.getProperty("configFile.type")); |
| | | ApplicationHome applicationHome = new ApplicationHome(getClass()); |
| | | File jarFile = applicationHome.getDir(); |
| | | //测试版 |
| | | if(configType==1){ |
| | | if (configType == 1) { |
| | | fileDirName = jarFile.getParentFile().toString(); |
| | | }else{ |
| | | } else { |
| | | //打包版 |
| | | fileDirName = jarFile.toString(); |
| | | } |
| | | // String root=fileDirName+"/stationsrc/alarm"+ param.getStationId() + "/" + param.getAfterOrBefore() + "/"; |
| | | |
| | | String root = fileDirName + "/fg_photo/stationsrc/alarm/" + stationId + File.separator + afterOrBefore + File.separator; |
| | | for (String name : names) { |
| | | String targetFilePath = root + name; |
| | | File file = new File(targetFilePath); |
| | | file.delete(); |
| | | } |
| | | return new Response().set(1, "删除成功"); |
| | | } |
| | | |
| | | |
| | | } |