mitao
2025-03-17 38f1a806a4e1d8e1560f07a5a26b51cf6a4692be
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java
@@ -9,6 +9,7 @@
import com.deepoove.poi.XWPFTemplate;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo;
import com.panzhihua.common.redis.RedisUtils;
import com.panzhihua.sangeshenbian.enums.RateEnum;
import com.panzhihua.sangeshenbian.model.dto.ComplaintCompletionDTO;
import com.panzhihua.sangeshenbian.model.dto.ComplaintProcessDTO;
@@ -81,6 +82,7 @@
    private final IComplaintCommentService complaintCommentService;
    private final HttpServletResponse response;
    private final IPartyMemberService partyMemberService;
    private final RedisUtils redisUtils;
    @Override
    public void saveComplaint(Complaint complaint, LoginUserInfoVO loginUserInfoVO) {
@@ -108,24 +110,32 @@
        complaint.setSerialNumber(serialNumber);
        Optional<SystemUser> systemUserOpt = systemUserService.getSystemUserAdminByPhone(loginUserInfoVO.getPhone());
        Integer accountLevel = 5;
        if (systemUserOpt.isPresent()) {
        //获取当前身份,1=党员,2=管理员
        Integer identity = (Integer) redisUtils.get("identity:" + loginUserInfoVO.getPhone());
        if (systemUserOpt.isPresent() && identity == 2) {
            SystemUser systemUser = systemUserOpt.get();
            accountLevel = systemUser.getAccountLevel();
            switch (accountLevel) {
                case 1:
                    //市级
                    complaint.setCityCode(510400);
                    complaint.setReportUserName(systemUser.getName());
                    complaint.setReportUserPhone(systemUser.getPhone());
                    break;
                case 2:
                    //区县级
                    complaint.setCityCode(510400);
                    complaint.setDistrictsCode(Integer.valueOf(systemUser.getDistrictsCode()));
                    complaint.setReportUserName(systemUser.getName());
                    complaint.setReportUserPhone(systemUser.getPhone());
                    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());
                    break;
                case 4:
                    //社区
@@ -133,25 +143,31 @@
                    complaint.setDistrictsCode(Integer.valueOf(systemUser.getDistrictsCode()));
                    complaint.setStreetId(Long.valueOf(systemUser.getStreetId()));
                    complaint.setCommunityId(systemUser.getCommunityId());
                    complaint.setReportUserName(systemUser.getName());
                    complaint.setReportUserPhone(systemUser.getPhone());
                    break;
                case 5:
                    //社区
                    //党员
                    complaint.setCityCode(510400);
                    complaint.setDistrictsCode(Integer.valueOf(systemUser.getDistrictsCode()));
                    complaint.setStreetId(Long.valueOf(systemUser.getStreetId()));
                    complaint.setCommunityId(systemUser.getCommunityId());
                    PartyMember partyMember = partyMemberService.getPartyMemberByPhone(loginUserInfoVO.getPhone());
                    complaint.setPartyMemberId(partyMember.getId());
                    complaint.setReportUserName(partyMember.getName());
                    complaint.setReportUserPhone(partyMember.getPhone());
                    break;
            }
        } else{
            PartyMember partyMember = partyMemberService.getPartyMemberByPhone(loginUserInfoVO.getPhone());
            //社区
            //党员
            complaint.setCityCode(510400);
            complaint.setDistrictsCode(Integer.valueOf(partyMember.getDistrictsCode()));
            complaint.setStreetId(Long.valueOf(partyMember.getStreetId()));
            complaint.setCommunityId(partyMember.getCommunityId());
            complaint.setPartyMemberId(partyMember.getId());
            complaint.setReportUserName(partyMember.getName());
            complaint.setReportUserPhone(partyMember.getPhone());
        }
        complaint.setReportType(accountLevel);
        // 设置其他字段
@@ -182,8 +198,10 @@
        Optional<SystemUser> systemUserByPhone = systemUserService.getSystemUserAdminByPhone(loginUserInfoVO.getPhone());
        Long targetId = null;
        Integer accountLevel = 5;
        //获取当前身份,1=党员,2=管理员
        Integer identity = (Integer) redisUtils.get("identity:" + loginUserInfoVO.getPhone());
        //上级
        if (systemUserByPhone.isPresent()) {
        if (systemUserByPhone.isPresent() && identity == 2) {
            SystemUser systemUser = systemUserByPhone.get();
            accountLevel = systemUser.getAccountLevel();
            switch (accountLevel) {
@@ -384,8 +402,10 @@
        Optional<SystemUser> systemUserByPhone = systemUserService.getSystemUserAdminByPhone(loginUserInfoVO.getPhone());
        String targetId = "";
        Integer accountLevel = 5;
        //获取当前身份,1=党员,2=管理员
        Integer identity = (Integer) redisUtils.get("identity:" + loginUserInfoVO.getPhone());
        //上级
        if (systemUserByPhone.isPresent()) {
        if (systemUserByPhone.isPresent() && identity == 2) {
            SystemUser systemUser = systemUserByPhone.get();
            accountLevel = systemUser.getAccountLevel();
            switch (accountLevel) {
@@ -946,9 +966,9 @@
            throw new ServiceException("该诉求不存在");
        }
         //查询社区信息
        BcRegion region = bcRegionService.lambdaQuery().eq(BcRegion::getRegionCode, complaint.getDistrictsCode()).last("LIMIT 1").one();
        ComStreet street = comStreetService.lambdaQuery().eq(ComStreet::getStreetId, complaint.getStreetId()).one();
        ComAct act = comActService.lambdaQuery().eq(ComAct::getCommunityId, complaint.getCommunityId()).one();
        BcRegion region = bcRegionService.getDistrictByCode(complaint.getDistrictsCode().toString());
        ComStreet street = comStreetService.getById(complaint.getStreetId().toString());
        ComAct act = comActService.getById(complaint.getCommunityId());
        String community = region.getRegionName() +"-"+ street.getName() + act.getName();
        PartyMember partyMember = null;
        if (Objects.nonNull(complaint.getPartyMemberId())){
@@ -973,12 +993,12 @@
        map.put("community", community);
        map.put("problemType", complaint.getProblemType());
        map.put("descriptionContent", complaint.getDescriptionContent());
        map.put("reportType", Objects.nonNull(complaint.getPartyMemberId())?"党员": "上级"); //TODO待修改
        map.put("reportType", ReportTypeEnum.fromCode(complaint.getReportType())); //TODO待修改
        map.put("partyOrganization",Objects.nonNull(partyMember)? partyMember.getPartyOrganization() : "");
        map.put("name", complaint.getName());
        map.put("contactNumber", complaint.getContactNumber());
        map.put("nickname", Objects.nonNull(partyMember)? partyMember.getName() : "");
        map.put("phone", Objects.nonNull(partyMember)? partyMember.getPhone() : "");
        map.put("nickname", complaint.getReportUserName());
        map.put("phone", complaint.getReportUserPhone());
        List<ComplaintProgress> list = complaintProgressService.lambdaQuery().eq(ComplaintProgress::getComplaintId, id).orderByAsc(ComplaintProgress::getCreateTime).list();
        StringBuilder sb = new StringBuilder();
        if (CollUtil.isNotEmpty(list)) {