From ba41b9351647a36bad13c0ab03d3fb602f5f4b27 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 23 六月 2025 17:47:04 +0800 Subject: [PATCH] 2.0后台模块 --- springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/service/impl/ComplaintServiceImpl.java | 199 +++++++++++++++++++++++++++++++++++++------------ 1 files changed, 151 insertions(+), 48 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/service/impl/ComplaintServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/service/impl/ComplaintServiceImpl.java index 66cb416..b301a7c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/service/impl/ComplaintServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/service/impl/ComplaintServiceImpl.java @@ -172,7 +172,7 @@ } else { PartyMember partyMember = partyMemberService.getPartyMemberByPhone(loginUserInfoVO.getPhone()); complaint.setCityCode(510400); - if(partyMember!=null){ + if (partyMember != null) { //党员 complaint.setDistrictsCode(Integer.valueOf(partyMember.getDistrictsCode())); complaint.setStreetId(Long.valueOf(partyMember.getStreetId())); @@ -181,7 +181,7 @@ complaint.setReportUserName(partyMember.getName()); complaint.setReportUserPhone(partyMember.getPhone()); complaint.setSuperiorId(partyMember.getCommunityId()); - }else { + } else { complaint.setDistrictsCode(Integer.valueOf(loginUserInfoVO.getAreaCode())); complaint.setStreetId(loginUserInfoVO.getStreetId()); complaint.setCommunityId(loginUserInfoVO.getCommunityId()); @@ -289,9 +289,9 @@ systemUser = null; //党员 PartyMember partyMember = partyMemberService.getPartyMemberByPhone(loginUserInfoVO.getPhone()); - if(partyMember!=null){ + if (partyMember != null) { targetId = partyMember.getCommunityId(); - }else { + } else { targetId = loginUserInfoVO.getCommunityId(); } } @@ -313,7 +313,7 @@ // 街道 1 if (systemUser.getSystemRoleId() == 1) { // 获取这个街道所管的社区id - List<Long> communityIds = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getStreetId,systemUser.getStreetId())).stream().map(ComAct::getCommunityId).collect(Collectors.toList()); + List<Long> communityIds = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getStreetId, systemUser.getStreetId())).stream().map(ComAct::getCommunityId).collect(Collectors.toList()); // 是管理员 可以看到下派来的 也可以看到上派待审核的 page = baseMapper.selectComplaintPage5(page, query, systemUser.getStreetId(), communityIds); } else { @@ -339,39 +339,39 @@ // 处理页面颜色展示和倒计时 Date nowLevelTime = record.getNowLevelTime(); - if(record.getNowLevel()==2){ + if (record.getNowLevel() == 2) { Integer HandlingTime = config.getDistrictHandlingTime(); Integer DeadlineReminder = config.getDistrictDeadlineReminder(); // 判断是超时 还是 临期 - if (nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000< date.getTime()) { + if (nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000 < date.getTime()) { record.setRemindStatus(2); - }else if (nowLevelTime.getTime() + DeadlineReminder * 24 * 60 * 60 * 1000 < date.getTime()) { + } else if (nowLevelTime.getTime() + DeadlineReminder * 24 * 60 * 60 * 1000 < date.getTime()) { record.setRemindStatus(1); } long l = nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000 - date.getTime(); double days = (double) l / (24 * 60 * 60 * 1000); // 毫秒转天数 BigDecimal result = new BigDecimal(days).setScale(1, RoundingMode.HALF_UP); // 保留1位小数 record.setRemindTime(result.doubleValue()); - }else if(record.getNowLevel()==3){ + } else if (record.getNowLevel() == 3) { Integer HandlingTime = config.getStreetHandlingTime(); Integer DeadlineReminder = config.getStreetDeadlineReminder(); // 判断是超时 还是 临期 - if (nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000< date.getTime()) { + if (nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000 < date.getTime()) { record.setRemindStatus(2); - }else if (nowLevelTime.getTime() + DeadlineReminder * 24 * 60 * 60 * 1000 < date.getTime()) { + } else if (nowLevelTime.getTime() + DeadlineReminder * 24 * 60 * 60 * 1000 < date.getTime()) { record.setRemindStatus(1); } long l = nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000 - date.getTime(); double days = (double) l / (24 * 60 * 60 * 1000); // 毫秒转天数 BigDecimal result = new BigDecimal(days).setScale(1, RoundingMode.HALF_UP); // 保留1位小数 record.setRemindTime(result.doubleValue()); - } else if(record.getNowLevel()==4){ + } else if (record.getNowLevel() == 4) { Integer HandlingTime = config.getCommunityHandlingTime(); Integer DeadlineReminder = config.getCommunityDeadlineReminder(); // 判断是超时 还是 临期 - if (nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000< date.getTime()) { + if (nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000 < date.getTime()) { record.setRemindStatus(2); - }else if (nowLevelTime.getTime() + DeadlineReminder * 24 * 60 * 60 * 1000 < date.getTime()) { + } else if (nowLevelTime.getTime() + DeadlineReminder * 24 * 60 * 60 * 1000 < date.getTime()) { record.setRemindStatus(1); } long l = nowLevelTime.getTime() + HandlingTime * 24 * 60 * 60 * 1000 - date.getTime(); @@ -379,9 +379,6 @@ BigDecimal result = new BigDecimal(days).setScale(1, RoundingMode.HALF_UP); // 保留1位小数 record.setRemindTime(result.doubleValue()); } - - - int count = complaintCommentService.count(new LambdaQueryWrapper<ComplaintComment>().eq(ComplaintComment::getComplaintId, record.getId())); @@ -677,10 +674,10 @@ } else { //党员 PartyMember partyMember = partyMemberService.getPartyMemberByPhone(loginUserInfoVO.getPhone()); - if(partyMember!=null){ + if (partyMember != null) { targetId = partyMember.getId().toString(); - }else { - targetId =loginUserInfoVO.getUserId().toString(); + } else { + targetId = loginUserInfoVO.getUserId().toString(); } } @@ -732,13 +729,13 @@ } } } else { - if (detail.getFirstStatus() == 1 && detail.getStatus() != 3 && detail.getStatus() != 8) { + if (detail.getFirstStatus() == 1 && detail.getStatus() != 3 && detail.getStatus() != 8) { detail.setStatus(0); - } else if(detail.getFirstStatus()==0){ + } else if (detail.getFirstStatus() == 0) { detail.setStatus(5); - }else if(detail.getFirstStatus() == 1 && detail.getStatus() == 3 ){ + } else if (detail.getFirstStatus() == 1 && detail.getStatus() == 3) { detail.setStatus(3); - }else if(detail.getFirstStatus() == 1 && detail.getStatus() == 8){ + } else if (detail.getFirstStatus() == 1 && detail.getStatus() == 8) { detail.setStatus(8); } } @@ -789,13 +786,13 @@ //获取当前身份,1=党员,2=管理员 ComplaintVO detail = baseMapper.getDetail(id); // 更新状态 此时status是表中的状态 未做变动 - if (detail.getFirstStatus() == 1 && detail.getStatus() != 3 && detail.getStatus() != 8) { + if (detail.getFirstStatus() == 1 && detail.getStatus() != 3 && detail.getStatus() != 8) { detail.setStatus(0); - } else if(detail.getFirstStatus()==0){ + } else if (detail.getFirstStatus() == 0) { detail.setStatus(5); - }else if(detail.getFirstStatus() == 1 && detail.getStatus() == 3 ){ + } else if (detail.getFirstStatus() == 1 && detail.getStatus() == 3) { detail.setStatus(3); - }else if(detail.getFirstStatus() == 1 && detail.getStatus() == 8){ + } else if (detail.getFirstStatus() == 1 && detail.getStatus() == 8) { detail.setStatus(8); } @@ -808,11 +805,6 @@ return detail; } - - - - - /** @@ -893,12 +885,12 @@ complaint.setHandlingDay(handlingDay); this.updateById(complaint); - if(dto.getStatus()==3){ + if (dto.getStatus() == 3) { // 发送短信 Long createBy = complaint.getCreateBy(); String phone = systemUserService.getCreateByIdPhone(createBy); - if(StringUtils.isNotEmpty(phone)){ + if (StringUtils.isNotEmpty(phone)) { AliSmsUtil.sendSuccessMessage(phone); } } @@ -1226,8 +1218,6 @@ complaintFlowService.createFlow(complaintAuditRecord2, 0, loginUserInfoVO.getUserId()); - - // 通过修改状态 已经修改superiorId 和层级 不需要修改 superiorId Complaint complaint = this.getById(complaintReporAuditDTO.getId()); complaint.setAssignPersonId(complaintReporAuditDTO.getDeptId()); @@ -1245,15 +1235,15 @@ Department byId = departmentService.getById(complaintReporAuditDTO.getDeptId()); complaintFlow.setName(byId.getName()); complaintFlow.setType(1); - complaintFlow.setCreateTime(new Date(System.currentTimeMillis()+1000)); + complaintFlow.setCreateTime(new Date(System.currentTimeMillis() + 1000)); complaintFlowService.save(complaintFlow); this.updateById(complaint); List<SystemUser> list = systemUserService.list(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getOneDepartmentId, complaintReporAuditDTO.getDeptId()).eq(SystemUser::getSystemRoleId, 1).eq(SystemUser::getStatus, 1)); - if(!list.isEmpty()){ + if (!list.isEmpty()) { List<String> phoneList = list.stream().map(SystemUser::getPhone).collect(Collectors.toList()); - AliSmsUtil.sendAssignMessageAdmin(phoneList,complaint.getSerialNumber()); + AliSmsUtil.sendAssignMessageAdmin(phoneList, complaint.getSerialNumber()); } } else { @@ -1571,7 +1561,36 @@ */ @Override public Page<ComplaintVO> pageList(MgtComplaintQuery query, SystemUserVo loginUserInfo) { - return baseMapper.pageList(new Page<>(query.getPageNum(), query.getPageSize()), query, loginUserInfo); + if (loginUserInfo.getAccountLevel() == 2) { + if(loginUserInfo.getSystemRoleId()==1 || loginUserInfo.getSystemRoleId()==2){ + Page<ComplaintVO> complaintVOPage = baseMapper.pageList(new Page<>(query.getPageNum(), query.getPageSize()), query, loginUserInfo); + return complaintVOPage; + }else { + Page<ComplaintVO> complaintVOPage = baseMapper.pageList1(new Page<>(query.getPageNum(), query.getPageSize()), query, loginUserInfo); + return complaintVOPage; + } + } + if (loginUserInfo.getAccountLevel() == 3) { + if(loginUserInfo.getSystemRoleId()==1 || loginUserInfo.getSystemRoleId()==2){ + // 获取这个街道所管的社区id + List<Long> communityIds = comActService.list(new LambdaQueryWrapper<ComAct>().eq(ComAct::getStreetId, loginUserInfo.getStreetId())).stream().map(ComAct::getCommunityId).collect(Collectors.toList()); + Page<ComplaintVO> complaintVOPage = baseMapper.pageList2(new Page<>(query.getPageNum(), query.getPageSize()), query, loginUserInfo,communityIds); + return complaintVOPage; + }else { + Page<ComplaintVO> complaintVOPage = baseMapper.pageList1(new Page<>(query.getPageNum(), query.getPageSize()), query, loginUserInfo); + return complaintVOPage; + } + } + if (loginUserInfo.getAccountLevel() == 4) { + if(loginUserInfo.getSystemRoleId()==1 || loginUserInfo.getSystemRoleId()==2){ + Page<ComplaintVO> complaintVOPage = baseMapper.pageList3(new Page<>(query.getPageNum(), query.getPageSize()), query, loginUserInfo); + return complaintVOPage; + }else { + Page<ComplaintVO> complaintVOPage = baseMapper.pageList1(new Page<>(query.getPageNum(), query.getPageSize()), query, loginUserInfo); + return complaintVOPage; + } + } + return new Page<>(); } @Override @@ -2128,9 +2147,9 @@ List<SystemUser> list = systemUserService.list(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getOneDepartmentId, userId).eq(SystemUser::getSystemRoleId, 1).eq(SystemUser::getStatus, 1)); - if(!list.isEmpty()){ + if (!list.isEmpty()) { List<String> phoneList = list.stream().map(SystemUser::getPhone).collect(Collectors.toList()); - AliSmsUtil.sendAssignMessageAdmin(phoneList,complaint.getSerialNumber()); + AliSmsUtil.sendAssignMessageAdmin(phoneList, complaint.getSerialNumber()); } } else { @@ -2149,13 +2168,13 @@ page = baseMapper.pageScreenList(page, query); page.getRecords().forEach(detail -> { - if (detail.getFirstStatus() == 1 && detail.getStatus() != 3 && detail.getStatus() != 8) { + if (detail.getFirstStatus() == 1 && detail.getStatus() != 3 && detail.getStatus() != 8) { detail.setStatus(0); - } else if(detail.getFirstStatus()==0){ + } else if (detail.getFirstStatus() == 0) { detail.setStatus(5); - }else if(detail.getFirstStatus() == 1 && detail.getStatus() == 3 ){ + } else if (detail.getFirstStatus() == 1 && detail.getStatus() == 3) { detail.setStatus(3); - }else if(detail.getFirstStatus() == 1 && detail.getStatus() == 8){ + } else if (detail.getFirstStatus() == 1 && detail.getStatus() == 8) { detail.setStatus(8); } }); @@ -2165,7 +2184,91 @@ @Override public Page<String> getHouseAddress(GetHouseAddressQuery query) { Page<String> page = new Page<>(query.getPageNum(), query.getPageSize()); - return this.baseMapper.getHouseAddress(page,query.getAddress()); + return this.baseMapper.getHouseAddress(page, query.getAddress()); } + + + @Override + public void saveComplaintAdmin(Complaint complaint, SystemUserVo systemUser) { + // 获取当前日期(年月日) + String datePrefix = new SimpleDateFormat("yyyyMMdd").format(new Date()); + + // 查询当前日期的最大流水号 + Complaint lastComplaint = getOne(new LambdaQueryWrapper<Complaint>() + .likeRight(Complaint::getSerialNumber, datePrefix) // 查询以当前日期开头的流水号 + .orderByDesc(Complaint::getSerialNumber) + .last("limit 1")); + + String serialNumber; + if (isNull(lastComplaint)) { + // 如果当天没有记录,从 0001 开始 + serialNumber = datePrefix + "0001"; + } else { + // 获取当前日期的最大流水号,并递增 + String lastSerialNumber = lastComplaint.getSerialNumber(); + int num = Integer.parseInt(lastSerialNumber.substring(lastSerialNumber.length() - 4)); // 提取后4位数字 + serialNumber = datePrefix + String.format("%04d", num + 1); // 递增并格式化为4位 + } + + // 设置流水号 + complaint.setSerialNumber(serialNumber); + Integer accountLevel = 4; + //获取当前身份 + //1=党员,2=管理员 + accountLevel = systemUser.getAccountLevel(); + switch (accountLevel) { + case 2: + //区县级 + complaint.setCityCode(510400); + complaint.setDistrictsCode(Integer.valueOf(systemUser.getDistrictsCode())); + complaint.setReportUserName(systemUser.getName()); + complaint.setReportUserPhone(systemUser.getPhone()); + + + complaint.setSuperiorId(Long.valueOf(systemUser.getDistrictsCode())); + break; + case 3: + //街道 + complaint.setCityCode(510400); + complaint.setDistrictsCode(Integer.valueOf(systemUser.getDistrictsCode())); + complaint.setStreetId(Long.valueOf(systemUser.getStreetId())); + complaint.setReportUserName(systemUser.getName()); + complaint.setReportUserPhone(systemUser.getPhone()); + + complaint.setSuperiorId(Long.valueOf(systemUser.getStreetId())); + break; + case 4: + //社区 + complaint.setCityCode(510400); + complaint.setDistrictsCode(Integer.valueOf(systemUser.getDistrictsCode())); + complaint.setStreetId(Long.valueOf(systemUser.getStreetId())); + complaint.setCommunityId(systemUser.getCommunityId()); + complaint.setReportUserName(systemUser.getName()); + complaint.setReportUserPhone(systemUser.getPhone()); + + complaint.setSuperiorId(systemUser.getCommunityId()); + break; + } + + complaint.setReportType(accountLevel); + complaint.setNowLevel(accountLevel); + complaint.setLastLevel(accountLevel); + complaint.setLastSuperiorId(complaint.getSuperiorId()); + + // 设置其他字段 + complaint.setStatus(ProcessStatusEnum.PROCESSING.getCode()); + complaint.setCreateTime(new Date(System.currentTimeMillis())); + complaint.setUpdateTime(new Date(System.currentTimeMillis())); + //查询系统配置诉求处理期限,设置截止日期 + WorkOrderItemConfig config = workOrderItemConfigService.lambdaQuery().orderByDesc(WorkOrderItemConfig::getId).last("LIMIT 1").one(); + if (Objects.isNull(config)) { + throw new ServiceException("工单事项未配置,请联系管理员"); + } + complaint.setNowLevelTime(new Date()); + complaint.setNowLevelSms(0); + // 保存诉求记录 + save(complaint); + } + } -- Gitblit v1.7.1