DESKTOP-71BH0QO\L、ming
2021-04-25 e4636b43d19c8f288962cd44c9d61ea89a9239fb
Merge remote-tracking branch 'origin/master'
1个文件已添加
10个文件已修改
139 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityQuestnaireApi.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationImportErrorVO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngVolunteerMngVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/RealNameUtil.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComOpsHouseDAO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComMngVolunteerMngDO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngProvinceServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java
@@ -155,6 +155,7 @@
    public R addVolunteer(@RequestBody @Validated(AddGroup.class) ComMngVolunteerMngVO comMngVolunteerMngVO){
        comMngVolunteerMngVO.setState(1);
        comMngVolunteerMngVO.setCommunityId(this.getCommunityId());
        comMngVolunteerMngVO.setSubmitUserId(this.getUserId());
        return communityService.addVolunteer(comMngVolunteerMngVO);
    }
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityQuestnaireApi.java
@@ -42,7 +42,7 @@
        pageQuestnaireDTO.setForParty(1 == isPartymember.intValue());
        pageQuestnaireDTO.setForVolunteer(1 == isVolunteer.intValue());
        pageQuestnaireDTO.setUserId(loginUserInfo.getUserId());
        pageQuestnaireDTO.setState(0);
//        pageQuestnaireDTO.setState(0);
        return communityService.pageQuestnaire(pageQuestnaireDTO, loginUserInfo.getCommunityId());
    }
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java
@@ -2,6 +2,7 @@
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.panzhihua.common.enums.PopulIsOkEnum;
@@ -9,11 +10,13 @@
import com.panzhihua.common.enums.PopulSexEnum;
import com.panzhihua.common.exceptions.ServiceException;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComMngPopulationImportErrorVO;
import com.panzhihua.common.model.vos.community.ComMngPopulationServeExcelVO;
import com.panzhihua.common.model.vos.community.ComMngVillageServeExcelVO;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.utlis.AgeUtils;
import com.panzhihua.common.utlis.IdCardUtil;
import com.panzhihua.common.utlis.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -82,18 +85,37 @@
        int index = 2;
        try {
            ArrayList<ComMngPopulationServeExcelVO> voList = Lists.newArrayList();
            List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>();
            for (Map<Integer, String> oneData : list) {
                ComMngPopulationServeExcelVO vo = new ComMngPopulationServeExcelVO();
                if(oneData.get(0) == null){
                    throw new ServiceException("500", "名字不可为空:第" + index + "行,第1列");
                    ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
                    importErrorVO.setErrorPosition("第" + index + "行,第1列");
                    importErrorVO.setErrorMsg("名字不可为空,请填写姓名");
                    populationImportErrorVOList.add(importErrorVO);
                    index++;
                    continue;
                }
                vo.setName(oneData.get(0));
                if(oneData.get(1) == null){
                    throw new ServiceException("500", "身份证号不可为空:第" + index + "行,第2列");
                if(StringUtils.isEmpty(oneData.get(1))){
                    ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
                    importErrorVO.setErrorPosition("第" + index + "行,第2列");
                    importErrorVO.setErrorMsg("身份证号不可为空,请填写身份证号");
                    populationImportErrorVOList.add(importErrorVO);
                    index++;
                    continue;
                }
//                if(!IdCardUtil.identityValidator(oneData.get(1))){
//                    throw new ServiceException("500", "身份证号格式错误:第" + index + "行,第2列");
//                }
                //判断身份证号码位数
                if(oneData.get(1).length() != 18){
                    throw new ServiceException("500", "身份证号位数不正确:第" + index + "行,第2列");
                    ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
                    importErrorVO.setErrorPosition("第" + index + "行,第2列");
                    importErrorVO.setErrorMsg("身份证号位数有误,请检查身份证号码是否正确");
                    populationImportErrorVOList.add(importErrorVO);
                    index++;
                    continue;
                }
                vo.setCardNo(oneData.get(1));
                //根据身份证号码解析年龄以及性别
@@ -164,12 +186,22 @@
                voList.add(vo);
                index++;
            }
            R r = communityService.listSavePopulationServeExcelVO(voList, communityId);
            if (!R.isOk(r)) {
                throw new ServiceException(r.getMsg());
            if(populationImportErrorVOList.isEmpty()){
                R r = communityService.listSavePopulationServeExcelVO(voList, communityId);
                if (!R.isOk(r)) {
                    throw new ServiceException(r.getMsg());
                }
            }else{
                throw new ServiceException("500", JSON.toJSONString(populationImportErrorVOList));
            }
        } catch (NumberFormatException e) {
            throw new ServiceException("500", "填写数据格式错误:第" + index + "行" + e.getMessage());
            List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>();
            ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
            importErrorVO.setErrorPosition("第" + index + "行");
            importErrorVO.setErrorMsg("数据格式有误,请检查文档内数据");
            populationImportErrorVOList.add(importErrorVO);
            index++;
            throw new ServiceException("500", JSON.toJSONString(populationImportErrorVOList));
        }
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngPopulationImportErrorVO.java
New file
@@ -0,0 +1,17 @@
package com.panzhihua.common.model.vos.community;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
public class ComMngPopulationImportErrorVO implements Serializable {
    @ExcelProperty(value = "错误位置", index = 0)
    private String errorPosition;
    @ExcelProperty(value = "错误原因", index = 0)
    private String errorMsg;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngVolunteerMngVO.java
@@ -78,4 +78,7 @@
    @ApiModelProperty(value = "用户userid",hidden = true)
    private Long userId;
    @ApiModelProperty(value = "申请提交人ID",hidden = true)
    private Long submitUserId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/RealNameUtil.java
@@ -28,7 +28,9 @@
        boolean result=false;
        String headerkey="Authorization";
        String headervalue="Basic ";
        String basicStr = CLIENT_ID + ":" + SECRET + ":" + System.currentTimeMillis();
        Long time = System.currentTimeMillis();
        String basicStr = CLIENT_ID + ":" + SECRET + ":" + time;
        log.info("请求时间戳:" + time);
        String encodeToString = Base64.getEncoder().encodeToString(basicStr.getBytes());
        JSONObject jsonObject=new JSONObject();
        jsonObject.put("idNumber",idcard);
@@ -36,6 +38,7 @@
        String param=jsonObject.toJSONString();
        log.info("请求公安实名认证接口,请求地址:" + URL);
        log.info("请求公安实名认证接口,请求参数:" + param);
        log.info("请求公安实名认证接口,请求头参数:" + headervalue + encodeToString);
        String postByJson = HttpClientUtil.sendPostByJson(URL, param, 0, headerkey, headervalue + encodeToString);
        log.info("请求公安实名认证接口,返回参数:" + postByJson);
        int code = JSONObject.parseObject(postByJson).getIntValue("code");
@@ -46,7 +49,7 @@
    }
    public static void main(String[] args) {
        boolean b = RealNameUtil.authentication("340823199112282557", "黄宏发f");
        boolean b = RealNameUtil.authentication("340823199112282557", "黄宏发");
        System.out.println(b);
    }
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComOpsHouseDAO.java
@@ -71,7 +71,7 @@
            "AND d.status in (1,3) \n" +
            " </if> " +
            "<if test='pageComOpsHouseDTO.houseCommunityName != null and pageComOpsHouseDTO.houseCommunityName.trim() != &quot;&quot;'>" +
            " and d.`house_community_name` LIKE concat( #{pageComOpsHouseDTO.houseCommunityName}, '%' ) \n" +
            " and d.`house_community_name` LIKE concat( '%', #{pageComOpsHouseDTO.houseCommunityName}, '%' ) \n" +
            " </if> " +
            "<if test='pageComOpsHouseDTO.mobile != null and pageComOpsHouseDTO.mobile.trim() != &quot;&quot;'>" +
            " and d.`mobile` LIKE concat( #{pageComOpsHouseDTO.mobile}, '%' ) \n" +
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComMngVolunteerMngDO.java
@@ -84,4 +84,8 @@
     * 社区id
     */
    private Long communityId;
    /**
     * 申请提交人ID
     */
    private Long submitUserId;
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
@@ -56,9 +56,14 @@
            comActActivityDO.setPublishAt(now);//发布时间
        }
        //如果发布时间大于现在时间状态改为进行中
        if(now.getTime()<comActActivityVO.getBeginAt().getTime()){
        /*if(now.getTime()<comActActivityVO.getBeginAt().getTime()){
            comActActivityDO.setStatus(3);
        }*/
        //结束时间大于当前时间则设置为“进行中”
        if(comActActivityVO.getSignUpEnd()!=null && now.getTime()<comActActivityVO.getSignUpEnd().getTime()){
            comActActivityDO.setStatus(4);
        }
        boolean save = this.save(comActActivityDO);
        if(!save){
            return R.fail();
@@ -78,6 +83,12 @@
    public R putActivity(ComActActivityVO comActActivityVO) {
        ComActActivityDO comActActivityDO=new ComActActivityDO();
        BeanUtils.copyProperties(comActActivityVO,comActActivityDO);
        //结束时间大于当前时间则设置为“进行中”
        Date now = new Date();
        if(comActActivityVO.getSignUpEnd()!=null && now.getTime()<comActActivityVO.getSignUpEnd().getTime()){
            comActActivityDO.setStatus(4);
        }
        boolean b = this.updateById(comActActivityDO);
        if (b) {
            return R.ok();
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
@@ -1,5 +1,6 @@
package com.panzhihua.service_community.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -193,31 +194,38 @@
    @Override
    public R listSavePopulation(List<ComMngPopulationServeExcelVO> list, Long communityId) {
        if (list.size() == 0) {
            return R.fail("数据为空!");
        }
        List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>();
        List<ComMngPopulationDO> comMngPopulationDOS = populationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId, communityId));
        //查询该社区所有(实有房屋)小区
//        List<ComMngVillageDO> villageDOList = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId, communityId));
        ComActDO comActDO = comActDAO.selectById(communityId);
        ArrayList<ComMngPopulationDO> populationDOList = Lists.newArrayList();
        int index = 2;
        for (ComMngPopulationServeExcelVO vo : list) {
            //判断DB和exel数据重复判断
            boolean result = comMngPopulationDOS.stream().anyMatch(population -> population.getCardNo().equals(vo.getCardNo()));
            if (result) {
                return R.fail(501,"导入实有人口已存在(" + vo.getCardNo() + ")");
                ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
                importErrorVO.setErrorMsg("导入实有人口已存在(" + vo.getCardNo() + ")");
                importErrorVO.setErrorPosition("第" + index + "行,第2列");
                populationImportErrorVOList.add(importErrorVO);
                index++;
                continue;
//                return R.fail(501,"导入实有人口已存在(" + vo.getCardNo() + ")");
            }
            index++;
        }
        ComActDO comActDO = comActDAO.selectById(communityId);
        ArrayList<ComMngPopulationDO> populationDOList = Lists.newArrayList();
        list.forEach(vo -> {
            ComMngPopulationDO comMngPopulationDO = new ComMngPopulationDO();
            //查询街路巷是否存在
            ComMngVillageDO comMngVillageDO = comActVillageDAO.selectOne(new QueryWrapper<ComMngVillageDO>().eq("alley",vo.getRoad()).eq("house_num",vo.getDoorNo()).eq("community_id",communityId));
//            ComMngVillageDO comMngVillageDO = villageDOList.stream().filter(village -> village.getAlley().equals(vo.getRoad()) && village.getHouseNum().equals(Integer.valueOf(vo.getDoorNo()))).findFirst().orElse(null);
            BeanUtils.copyProperties(vo, comMngPopulationDO);
            if (comMngVillageDO == null) {
                throw new ServiceException("查无:" + vo.getRoad() + "小区/房租地址,请先新建地址");
                ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
                importErrorVO.setErrorMsg("查无:" + vo.getRoad() + "小区/房租地址,请先新建地址");
                importErrorVO.setErrorPosition("第" + index + "行,第7,8列");
                populationImportErrorVOList.add(importErrorVO);
                index++;
                continue;
            }
            List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
            comMngPopulationDO.setVillageId(comMngVillageDO.getVillageId());
@@ -226,7 +234,13 @@
            comMngPopulationDO.setLabel(Joiner.on(",").join(userTag));
            comMngPopulationDO.setVillageName(comMngVillageDO.getGroupAt());
            populationDOList.add(comMngPopulationDO);
        });
            index++;
        }
        //如果有错误,返回错误
        if(!populationImportErrorVOList.isEmpty()){
            return R.fail(JSON.toJSONString(populationImportErrorVOList));
        }
        this.saveBatch(populationDOList);
        return R.ok("共计导入实有人口数量:" + populationDOList.size());
    }
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngProvinceServiceImpl.java
@@ -10,9 +10,11 @@
import com.panzhihua.service_community.dao.ComMngCityDAO;
import com.panzhihua.service_community.dao.ComMngDistrictDAO;
import com.panzhihua.service_community.dao.ComMngProvinceDAO;
import com.panzhihua.service_community.dao.ComMngStructAreaDAO;
import com.panzhihua.service_community.model.dos.ComMngCityDO;
import com.panzhihua.service_community.model.dos.ComMngDistrictDO;
import com.panzhihua.service_community.model.dos.ComMngProvinceDO;
import com.panzhihua.service_community.model.dos.ComMngStructAreaDO;
import com.panzhihua.service_community.service.ComMngProvinceService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -34,6 +36,8 @@
    @Resource
    private ComMngDistrictDAO comMngDistrictDAO;
    @Resource
    private ComMngStructAreaDAO comMngStructAreaDAO;
    @Override
    public R getProvince() {
@@ -80,7 +84,6 @@
        List<ComMngAreaVO> vos = new ArrayList<>();
        provinceDOS.forEach(p -> {
            ComMngAreaVO pvo = new ComMngAreaVO(p.getProvinceAdcode(), p.getProvinceName());
            vos.add(pvo);
            List<ComMngCityDO> citys = cityDOS.stream().filter(city -> city.getProvinceAdcode().equals(p.getProvinceAdcode()) && city.getCityAdcode().equals(510400)).collect(Collectors.toList());
            citys.forEach(c -> {
                ComMngAreaVO cityVo = new ComMngAreaVO(c.getCityAdcode(), c.getCityName());
@@ -93,6 +96,7 @@
                    cityVo.getChildren().add(districtVo);
                });
            });
            vos.add(pvo);
        });
        return R.ok(vos);
    }