tangxiaobao
2021-07-20 a0fc229c0df1d0bd87b7638805b810e8031c8942
社区后台基础数据库bug修改
1个文件已添加
17个文件已修改
450 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WorkGuideApi.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/api/WorkGuideApi.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationConfirmServeExcelListen.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComActWorkGuideDTO.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngCarVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/PopulationApi.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/pom.xml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComMngVillageApi.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommonDataApi.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/WorkGuideApi.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWorkGuideService.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComMngPopulationService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComMngVillageService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideServiceImpl.java 96 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WorkGuideApi.java
@@ -32,7 +32,8 @@
    @ApiOperation(value = "办事指南_详情",response = ComActWorkGuideVO.class)
    @GetMapping("detailworkguide")
    public R detailWorkGuide(@RequestParam("workGuideId")Long workGuideId) {
        return communityService.detailWorkGuide(workGuideId);
        Long conmunityId = this.getLoginUserInfo().getCommunityId();
        return communityService.detailWorkGuide(workGuideId, conmunityId);
    }
}
springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/api/WorkGuideApi.java
@@ -45,7 +45,8 @@
    @ApiOperation(value = "办事指南_详情",response = ComActWorkGuideVO.class)
    @GetMapping("detailworkguide")
    public R detailWorkGuide(@RequestParam("workGuideId")Long workGuideId) {
        return communityService.detailWorkGuide(workGuideId);
        Long conmunityId = this.getLoginUserInfo().getCommunityId();
        return communityService.detailWorkGuide(workGuideId, conmunityId);
    }
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationConfirmServeExcelListen.java
@@ -303,7 +303,16 @@
                    vo.setNativePlace(oneData.get(17).trim());
                }
                if (StringUtils.isNotEmpty(oneData.get(18))) {
                    vo.setCultureLevel(PopulCultureLevelEnum.getCodeByName(oneData.get(18)));
                    Integer isOk = PopulCultureLevelEnum.getCodeByName(oneData.get(18));
                    if (isOk.equals(-1)) {
                        ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
                        importErrorVO.setErrorPosition("第" + index + "行,第19列");
                        importErrorVO.setErrorMsg("您填写的文化程度有误");
                        populationImportErrorVOList.add(importErrorVO);
                        index++;
                        continue;
                    }
                    vo.setCultureLevel(isOk);
                }
                if (StringUtils.isNotEmpty(oneData.get(19))) {
//                    String ma = convertMarriage(oneData.get(19));
@@ -358,10 +367,7 @@
                    vo.setResidence(PopulIsOkEnum.getCodeByName(oneData.get(27).trim()));
                }
                if (StringUtils.isNotEmpty(oneData.get(28))) {
                    vo.setAddress(oneData.get(28).trim());
                }
                if (StringUtils.isNotEmpty(oneData.get(29))) {
                    Integer isOk = PopulPersonTypeEnum.getCodeByName(oneData.get(29));
                    Integer isOk = PopulPersonTypeEnum.getCodeByName(oneData.get(28));
                    if (isOk.equals(-1)) {
                        ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
                        importErrorVO.setErrorPosition("第" + index + "行,第30列");
@@ -372,48 +378,48 @@
                    }
                    vo.setPersonType(isOk);
                }
                if (StringUtils.isNotEmpty(oneData.get(29))) {
                    vo.setCountry(oneData.get(29).trim());
                }
                if (StringUtils.isNotEmpty(oneData.get(30))) {
                    vo.setCountry(oneData.get(30).trim());
                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-dd-MM HH:mm:ss");
                    vo.setDateOfDeparture(simpleDateFormat.parse(oneData.get(30)));
                }
                if (StringUtils.isNotEmpty(oneData.get(31))) {
                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-dd-MM HH:mm:ss");
                    vo.setDateOfDeparture(simpleDateFormat.parse(oneData.get(31)));
                    vo.setPersonStatus(oneData.get(31).trim());
                }
                if (StringUtils.isNotEmpty(oneData.get(32))) {
                    vo.setPersonStatus(oneData.get(32).trim());
                    vo.setMonthlyIncome(oneData.get(32).trim());
                }
                if (StringUtils.isNotEmpty(oneData.get(33))) {
                    vo.setMonthlyIncome(oneData.get(33).trim());
                    vo.setFamilyStatus(oneData.get(33).trim());
                }
                if (StringUtils.isNotEmpty(oneData.get(34))) {
                    vo.setFamilyStatus(oneData.get(34).trim());
                    vo.setGoalInChina(oneData.get(34).trim());
                }
                if (StringUtils.isNotEmpty(oneData.get(35))) {
                    vo.setGoalInChina(oneData.get(35).trim());
                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-dd-MM HH:mm:ss");
                    vo.setDateOfArrival(simpleDateFormat.parse(oneData.get(35)));
                }
                if (StringUtils.isNotEmpty(oneData.get(36))) {
                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-dd-MM HH:mm:ss");
                    vo.setDateOfArrival(simpleDateFormat.parse(oneData.get(36)));
                }
                if (StringUtils.isNotEmpty(oneData.get(37))) {
                    vo.setRemark(oneData.get(37).trim());
                    vo.setRemark(oneData.get(36).trim());
                }
                if (StringUtils.isNotEmpty(oneData.get(37))) {
                    vo.setIdCardPositive(oneData.get(37).trim());
                }
                if (StringUtils.isNotEmpty(oneData.get(38))) {
                    vo.setIdCardPositive(oneData.get(38).trim());
                    vo.setIdCardBack(oneData.get(38).trim());
                }
                if (StringUtils.isNotEmpty(oneData.get(39))) {
                    vo.setIdCardBack(oneData.get(39).trim());
                    vo.setHouseHold(oneData.get(39).trim());
                }
                if (StringUtils.isNotEmpty(oneData.get(40))) {
                    vo.setHouseHold(oneData.get(40).trim());
                }
                if (StringUtils.isEmpty(oneData.get(41))) {
                if (StringUtils.isEmpty(oneData.get(40))) {
                    vo.setDeath(0);
                } else {
                    vo.setDeath(PopulIsOkEnum.getCodeByName(oneData.get(41).trim()));
                    vo.setDeath(PopulIsOkEnum.getCodeByName(oneData.get(40).trim()));
                }
                for (int i = 42; i < headSize; i++) {
                for (int i = 41; i < headSize; i++) {
                    if (oneData.get(i) != null && oneData.get(i).equals("是")) {
                        vo.getUserTagStr().add(headData.get(i).substring(0, headData.get(i).indexOf("(")));
                    }
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java
@@ -187,6 +187,7 @@
//                    }
//                    String relation = convertMarriage(oneData.get(5));
                    Integer isOk = PopulRelationEnum.getCodeByName(oneData.get(5));
                    if(isOk.equals(-1)){
//                        vo.setMarriageStr(ma);
                        ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComActWorkGuideDTO.java
New file
@@ -0,0 +1,53 @@
package com.panzhihua.common.model.dtos.community;
import com.google.common.collect.Lists;
import com.panzhihua.common.model.vos.community.ComActWorkGuideMaterialVO;
import com.panzhihua.common.validated.AddGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.util.List;
/**
 * @auther llming
 * @describe 办事指南
 */
@Data
@ApiModel("办事指南新增")
public class ComActWorkGuideDTO {
    @ApiModelProperty("办事指南id")
    private Long id;
    @ApiModelProperty("办事指南标题")
    @NotBlank(groups = {AddGroup.class}, message = "标题不能为空")
    @Length(groups = {AddGroup.class}, max = 35)
    private String title;
    @ApiModelProperty("办事指南内容")
    @NotBlank(groups = {AddGroup.class}, message = "内容不能为空")
    @Length(groups = {AddGroup.class}, max = 5000)
    private String content;
    @ApiModelProperty("办理时间")
    private String timeAt;
    @ApiModelProperty("创建时间")
    private String createAt;
//    @ApiModelProperty("办理地点")
//    private String address;
//    @ApiModelProperty("咨询电话")
//    private String phone;
    @ApiModelProperty("经度")
    private String lon;
    @ApiModelProperty("纬度")
    private String lat;
    private List<ComActWorkGuideMaterialVO> materials = Lists.newArrayList();
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComMngCarVO.java
@@ -3,6 +3,7 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.panzhihua.common.model.helper.encrypt.EncryptDecryptClass;
import com.panzhihua.common.model.helper.encrypt.EncryptDecryptField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -18,6 +19,7 @@
 */
@Data
@ApiModel("车辆管理")
@EncryptDecryptClass
public class ComMngCarVO implements Serializable {
    @ApiModelProperty("主键")
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -1667,6 +1667,15 @@
    R listVillage(ComMngVillageVO comMngVillageVO);
    /**
     * 根据房屋id查询实有房屋
     *
     * @param villageId 查询条件
     * @return 查询结果
     */
    @PostMapping("/getVillageById")
    R getVillageById(@RequestParam(value = "villageId")Long villageId);
    /**
     * 批量导入实有房屋
     *
     * @param list        实有房屋数据
@@ -1760,6 +1769,15 @@
     */
    @PostMapping("/common/data/population/getList")
    R getPopulationLists(@RequestBody List<Long> Ids);
    /**
     * 根据小区id查询实有人口
     *
     * @param villageId 小区id
     * @return 查询结果
     */
    @PostMapping("/common/data/population/getListByVillageId")
    R getPopulationListByVillageId(@RequestParam("villageId") Long villageId);
    /**
     * 创建调查问卷
@@ -2351,7 +2369,7 @@
     * @return 详情
     */
    @GetMapping("/detailworkguide")
    R detailWorkGuide(@RequestParam("workGuideId") Long workGuideId);
    R detailWorkGuide(@RequestParam("workGuideId") Long workGuideId, @RequestParam("conmunityId") Long conmunityId);
    /**
     * 办事指南_分页
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/PopulationApi.java
@@ -7,9 +7,7 @@
import com.alibaba.fastjson.JSON;
import com.panzhihua.common.constants.Constants;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.enums.PopulOutOrLocalEnum;
import com.panzhihua.common.enums.PopulPoliticalOutlookEnum;
import com.panzhihua.common.enums.PopulSexEnum;
import com.panzhihua.common.enums.*;
import com.panzhihua.common.listen.ComMngPopulationConfirmServeExcelListen;
import com.panzhihua.common.listen.ComMngPopulationServeExcelListen;
import com.panzhihua.common.model.dtos.community.*;
@@ -300,37 +298,35 @@
        List<String> head27 = new ArrayList<String>();
        head27.add("是否居住地(是/否)");
        List<String> head28 = new ArrayList<String>();
        head28.add("居住地址");
        head28.add("人员类型(户籍人员/留守人员/外地人员/境外人员)");
        List<String> head29 = new ArrayList<String>();
        head29.add("人员类型(户籍人员/留守人员/外地人员/境外人员)");
        head29.add("国家");
        List<String> head30 = new ArrayList<String>();
        head30.add("国家");
        head30.add("离开日期(境外人员填写)");
        List<String> head31 = new ArrayList<String>();
        head31.add("离开日期(境外人员填写)");
        head31.add("人员状态(正常/失联/出国)");
        List<String> head32 = new ArrayList<String>();
        head32.add("人员状态(正常/失联/出国)");
        head32.add("月收入情况");
        List<String> head33 = new ArrayList<String>();
        head33.add("月收入情况");
        head33.add("家庭情况");
        List<String> head34 = new ArrayList<String>();
        head34.add("家庭情况");
        head34.add("来华目的(境外人员填写)");
        List<String> head35 = new ArrayList<String>();
        head35.add("来华目的(境外人员填写)");
        List<String> head36 = new ArrayList<String>();
        head36.add("抵达日期(境外人员填写)");
        head35.add("抵达日期(境外人员填写)");
        List<String> head36 = new ArrayList<String>();
        head36.add("备注");
        List<String> head37 = new ArrayList<String>();
        head37.add("备注");
        head37.add("证件照(人面像)照片");
        List<String> head38 = new ArrayList<String>();
        head38.add("证件照(人面像)照片");
        head38.add("证件照(国徽面)照片");
        List<String> head39 = new ArrayList<String>();
        head39.add("证件照(国徽面)照片");
        head39.add("户口本照片");
        List<String> head40 = new ArrayList<String>();
        head40.add("户口本照片");
        List<String> head41 = new ArrayList<String>();
        head41.add("是否死亡(是/否)");
        head40.add("是否死亡(是/否)");
        list.add(head0);
@@ -374,7 +370,6 @@
        list.add(head38);
        list.add(head39);
        list.add(head40);
        list.add(head41);
        return list;
    }
@@ -408,7 +403,6 @@
        data.add("本地");
        data.add("四川成都");
        data.add("是");
        data.add("四川成都高新");
        data.add("户籍");
        data.add("中国");
        data.add("");
@@ -448,6 +442,13 @@
                try {
                    List<ComMngPopulationVO> populList = null;
                    if(Ids.size() > 0){//导出部分
                        if (Ids.size() == 1) {
                            R r =communityService.getVillageById(Ids.get(0));
                            if (R.isOk(r)){
                                populList = JSON.parseArray(JSON.toJSONString(communityService.getPopulationListByVillageId(Ids.get(0)).getData()),ComMngPopulationVO.class);
                            }
                            populList = JSON.parseArray(JSON.toJSONString(communityService.getPopulationLists(Ids).getData()),ComMngPopulationVO.class);
                        }
                        populList = JSON.parseArray(JSON.toJSONString(communityService.getPopulationLists(Ids).getData()),ComMngPopulationVO.class);
                    }else{//导出全部
                        populList = JSON.parseArray(JSON.toJSONString(communityService.getPopulationListByCommunityId(communityId).getData()),ComMngPopulationVO.class);
@@ -465,7 +466,11 @@
                            //设置是否租住
//                            populationExcelVo.setIsRent(PopulIsOkEnum.getCnDescByName(popul.getIsRent()));
                            //设置本地或外地
                            populationExcelVo.setOutOrLacal(PopulOutOrLocalEnum.getCnDescByName(popul.getPoliticalOutlook()));
                            populationExcelVo.setOutOrLacal(PopulOutOrLocalEnum.getCnDescByName(popul.getOutOrLocal()));
                            //设置婚姻状况
                            populationExcelVo.setMarriage(PopulMarriageEnum.getCnDescByName(popul.getMarriage()));
                            //设置文化程度
                            populationExcelVo.setCultureLevel(PopulCultureLevelEnum.getCnDescByName(popul.getCultureLevel()));
                            //设置年龄
                            if (StringUtils.isNotEmpty(popul.getBirthday())) {
                                populationExcelVo.setAge(AgeUtils.getAgeFromBirthTimes(popul.getBirthday()));
springcloud_k8s_panzhihuazhihuishequ/service_community/pom.xml
@@ -73,6 +73,38 @@
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>
        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>
        <!-- json-lib还需要以下依赖包 -->
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.9.2</version>
        </dependency>
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.1</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>xom</groupId>
            <artifactId>xom</artifactId>
            <version>1.2.5</version>
        </dependency>
    </dependencies>
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComMngVillageApi.java
@@ -73,6 +73,18 @@
    }
    /**
     * 根据房屋id查询实有房屋
     *
     * @param villageId 查询条件
     * @return 查询结果
     */
    @PostMapping("getVillageById")
    public R getVillageById(@RequestParam(value = "villageId")Long villageId){
        R r = comMngVillageService.getVillageById(villageId);
        return R.ok(r);
    }
    /**
     * 删除实有房屋
     * @param Ids 动态id
     * @return 删除结果
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommonDataApi.java
@@ -421,6 +421,17 @@
    }
    /**
     * 根据小区id查询实有人口
     *
     * @param villageId 小区id
     * @return 查询结果
     */
    @PostMapping("/population/getListByVillageId")
    R getPopulationListByVillageId(@RequestParam(value = "villageId") Long villageId){
        return comMngPopulationService.getPopulationListByVillageId(villageId);
    }
    /**
     * 编辑实有人口
     *
     * @param populationEditDTO
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/WorkGuideApi.java
@@ -1,14 +1,26 @@
package com.panzhihua.service_community.api;
import com.alibaba.fastjson.JSONObject;
import com.panzhihua.common.constants.Constants;
import com.panzhihua.common.constants.TokenConstant;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.exceptions.ServiceException;
import com.panzhihua.common.exceptions.UnAuthenticationException;
import com.panzhihua.common.model.dtos.community.ComActWorkGuideDTO;
import com.panzhihua.common.model.dtos.community.PageActWorkGuideDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActWorkGuideVO;
import com.panzhihua.common.utlis.AES;
import com.panzhihua.service_community.service.ComActWorkGuideService;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
/**
 * @auther llming
@@ -17,29 +29,29 @@
@Slf4j
@RestController
@RequestMapping("/")
public class WorkGuideApi {
public class WorkGuideApi extends BaseController {
    @Resource
    private ComActWorkGuideService workGuideService;
    /**
     * 办事指南_新增
     * @param workGuideVO 新增信息
     * @param workGuideDTO 新增信息
     * @return 新增结果
     */
    @PostMapping("addworkguide")
    @Transactional(rollbackFor = Exception.class)
    public R addWorkGuide(@RequestBody ComActWorkGuideVO workGuideVO, @RequestParam("userId")Long userId) {
        return workGuideService.addWorkGuide(workGuideVO,userId);
    public R addWorkGuide(@RequestBody ComActWorkGuideDTO workGuideDTO, @RequestParam("userId")Long userId) {
        return workGuideService.addWorkGuide(workGuideDTO,userId);
    }
    /**
     * 办事指南_编辑
     * @param workGuideVO
     * @param workGuideDTO
     * @return 编辑结果
     */
    @PostMapping("editworkguide")
    @Transactional(rollbackFor = Exception.class)
    public R putWorkGuide(@RequestBody ComActWorkGuideVO workGuideVO, @RequestParam("userId")Long userId) {
        return workGuideService.editWorkGuide(workGuideVO,userId);
    public R putWorkGuide(@RequestBody ComActWorkGuideDTO workGuideDTO, @RequestParam("userId")Long userId) {
        return workGuideService.editWorkGuide(workGuideDTO,userId);
    }
    /**
@@ -48,8 +60,8 @@
     * @return 详情
     */
    @GetMapping("detailworkguide")
    public R detailWorkGuide(@RequestParam("workGuideId")Long workGuideId) {
        return workGuideService.detailWorkGuide(workGuideId);
    public R detailWorkGuide(@RequestParam("workGuideId")Long workGuideId , @RequestParam("conmunityId")Long conmunityId) {
        return workGuideService.detailWorkGuide(workGuideId, conmunityId);
    }
    /**
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWorkGuideService.java
@@ -1,5 +1,6 @@
package com.panzhihua.service_community.service;
import com.panzhihua.common.model.dtos.community.ComActWorkGuideDTO;
import com.panzhihua.common.model.dtos.community.PageActWorkGuideDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActWorkGuideVO;
@@ -11,22 +12,22 @@
public interface ComActWorkGuideService {
    /**
     * 办事指南_新增
     * @param workGuideVO 办事指南信息
     * @param workGuideDTO 办事指南信息
     * @return 新增结果
     */
    R addWorkGuide(ComActWorkGuideVO workGuideVO,Long userId);
    R addWorkGuide(ComActWorkGuideDTO workGuideDTO, Long userId);
    /**
     * 办事指南_编辑
     * @param workGuideVO 编辑内容
     * @param workGuideDTO 编辑内容
     * @return 编辑结果
     */
    R editWorkGuide(ComActWorkGuideVO workGuideVO, Long userId);
    R editWorkGuide(ComActWorkGuideDTO workGuideDTO, Long userId);
    /**
     * 办事指南_详情
     * @param workGuideId 办事指南id
     * @return 社区详情
     */
    R detailWorkGuide(Long workGuideId);
    R detailWorkGuide(Long workGuideId, Long conmunityId);
    /**
     * 办事指南_分页
     * @param pageActWorkGuideDTO 查询参数
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComMngPopulationService.java
@@ -123,6 +123,14 @@
    R getPopulationLists(List<Long> Ids);
    /**
     * 根据小区id查询实有人口
     *
     * @param villageId 小区id
     * @return 查询结果
     */
    R getPopulationListByVillageId(Long villageId);
    /**
     * 编辑实有人口
     *
     * @param populationEditDTO
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComMngVillageService.java
@@ -8,6 +8,7 @@
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComMngVillageServeExcelVO;
import com.panzhihua.common.model.vos.community.ComMngVillageVO;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
@@ -31,6 +32,14 @@
    R listComActVillage(ComMngVillageVO comMngVillageVO);
    /**
     * 根据房屋id查询实有房屋
     *
     * @param villageId 查询条件
     * @return 查询结果
     */
    R getVillageById(Long villageId);
    /**
     * 分页查询实有房屋
     * @param pageComMngVillageDTO 查询参数
     * @return 分页集合
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideServiceImpl.java
@@ -1,23 +1,35 @@
package com.panzhihua.service_community.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.model.dtos.community.ComActWorkGuideDTO;
import com.panzhihua.common.model.dtos.community.PageActWorkGuideDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActWorkGuideMaterialVO;
import com.panzhihua.common.model.vos.community.ComActWorkGuideVO;
import com.panzhihua.common.utlis.DifferentLongListUtil;
import com.panzhihua.service_community.dao.ComActDAO;
import com.panzhihua.service_community.dao.ComActWorkGuideDAO;
import com.panzhihua.service_community.dao.ComActWorkGuideMaterialDAO;
import com.panzhihua.service_community.model.dos.ComActDO;
import com.panzhihua.service_community.model.dos.ComActWorkGuideDO;
import com.panzhihua.service_community.model.dos.ComActWorkGuideMaterialDO;
import com.panzhihua.service_community.service.ComActWorkGuideService;
import net.sf.json.xml.XMLSerializer;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -27,17 +39,20 @@
 */
@Service
public class ComActWorkGuideServiceImpl extends ServiceImpl<ComActWorkGuideDAO, ComActWorkGuideDO> implements ComActWorkGuideService {
    static String AK = "W3x8DhCWKc2UFIwYgclpRBdL6BeGLLQt"; // 百度地图密钥
    @Resource
    ComActWorkGuideMaterialDAO workGuideMaterialDAO;
    @Resource
    ComActDAO comActDAO;
    @Override
    public R addWorkGuide(ComActWorkGuideVO workGuideVO, Long userId) {
    public R addWorkGuide(ComActWorkGuideDTO workGuideDTO, Long userId) {
        ComActWorkGuideDO comActWorkGuideDO = new ComActWorkGuideDO();
        BeanUtils.copyProperties(workGuideVO, comActWorkGuideDO);
        BeanUtils.copyProperties(workGuideDTO, comActWorkGuideDO);
        comActWorkGuideDO.setCreateBy(userId);
        this.baseMapper.insert(comActWorkGuideDO);
        //保存办事指南材料
        workGuideVO.getMaterials().forEach(material -> {
        workGuideDTO.getMaterials().forEach(material -> {
            ComActWorkGuideMaterialDO workGuideMaterialDO = new ComActWorkGuideMaterialDO();
            workGuideMaterialDO.setMaterialName(material.getMaterialName());
            workGuideMaterialDO.setWorkGuideId(comActWorkGuideDO.getId());
@@ -47,25 +62,25 @@
    }
    @Override
    public R editWorkGuide(ComActWorkGuideVO workGuideVO, Long userId) {
        if (workGuideVO.getId() == 0L) {
    public R editWorkGuide(ComActWorkGuideDTO workGuideDTO, Long userId) {
        if (workGuideDTO.getId() == 0L) {
            return R.fail("Id有误!");
        }
        ComActWorkGuideDO workGuideDO = this.baseMapper.selectById(workGuideVO.getId());
        ComActWorkGuideDO workGuideDO = this.baseMapper.selectById(workGuideDTO.getId());
        if (workGuideDO == null) {
            return R.fail("Id有误!");
        }
        BeanUtils.copyProperties(workGuideVO, workGuideDO);
        BeanUtils.copyProperties(workGuideDTO, workGuideDO);
        workGuideDO.setUpdateBy(userId);
        this.baseMapper.updateById(workGuideDO);
        if (workGuideVO.getMaterials().size() == 0) {//若编辑材料为null,执行删除操作
        if (workGuideDTO.getMaterials().size() == 0) {//若编辑材料为null,执行删除操作
            workGuideMaterialDAO.delete(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>()
                    .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideVO.getId()));
                    .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideDTO.getId()));
        } else {//若材料不为空,但是少了数据条数,也要执行删除
            List<ComActWorkGuideMaterialDO> workGuideMaterialDOS = workGuideMaterialDAO.selectList(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>()
                    .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideVO.getId()));
                    .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideDTO.getId()));
            //1、筛选vo里面和db里,需要删除的材料数据
            List<Long> voMaterialIds = workGuideVO.getMaterials().stream()
            List<Long> voMaterialIds = workGuideDTO.getMaterials().stream()
                    .filter(materialVo -> materialVo.getId() != null)
                    .map(ComActWorkGuideMaterialVO::getId)
                    .collect(Collectors.toList());
@@ -76,7 +91,7 @@
            if (deleteMaterialIds.size() != 0) {
                workGuideMaterialDAO.deleteBatchIds(deleteMaterialIds);
            }
            workGuideVO.getMaterials().forEach(materialsVO -> {
            workGuideDTO.getMaterials().forEach(materialsVO -> {
                if (materialsVO.getId() != null && materialsVO.getId() != 0L) {
                    ComActWorkGuideMaterialDO workGuideMaterialDO1 = workGuideMaterialDOS.stream().filter(workGuideMaterialDO -> workGuideMaterialDO.getId()
                            .equals(materialsVO.getId())).findFirst().orElse(null);
@@ -96,13 +111,23 @@
    }
    @Override
    public R detailWorkGuide(Long workGuideId) {
    public R detailWorkGuide(Long workGuideId, Long conmunityId) {
        ComActWorkGuideDO workGuideDO = this.baseMapper.selectById(workGuideId);
        if (workGuideDO == null) {
            return R.fail("Id有误!");
        }
        ComActWorkGuideVO vo = new ComActWorkGuideVO();
        BeanUtils.copyProperties(workGuideDO, vo);
        ComActDO comActDO = comActDAO.selectById(conmunityId);
        if (comActDO != null){
            vo.setAddress(comActDO.getAddress());
            vo.setPhone(comActDO.getContactsPhone());
        }
        List<String> list = getCoordinate(vo.getAddress());
        if (list !=null && list.size() > 0){
            vo.setLon(list.get(0));
            vo.setLat(list.get(1));
        }
        List<ComActWorkGuideMaterialDO> workGuideMaterialDOS = workGuideMaterialDAO.selectList(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>()
                .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideId));
        workGuideMaterialDOS.forEach(workGuideMaterialDO -> {
@@ -138,4 +163,47 @@
                .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideId));
        return R.ok();
    }
    // 调用百度地图API根据地址,获取坐标
    public static List<String> getCoordinate(String address) {
        List<String> list = new ArrayList<>();
        if (address != null && !"".equals(address)) {
            address = address.replaceAll("\\s*", "").replace("#", "栋");
            String url = "http://api.map.baidu.com/geocoder/v3/?address=" + address + "&output=json&ak=" + AK;
            String json = loadJSON(url);
//            json = "{" + json;
//            json = json + "}";
            if (json != null && !"".equals(json)) {
                XMLSerializer xmlSerializer = new XMLSerializer();
                //将xml转为json(注:如果是元素的属性,会在json里的key前加一个@标识)
                String result = xmlSerializer.read(json).toString();
                JSONObject obj = JSONObject.parseObject(json);
                if ("0".equals(obj.getString("status"))) {
                    double lng = obj.getJSONObject("result").getJSONObject("location").getDouble("lng"); // 经度
                    double lat = obj.getJSONObject("result").getJSONObject("location").getDouble("lat"); // 纬度
                    DecimalFormat df = new DecimalFormat("#.######");
                    list.add(df.format(lng));
                    list.add(df.format(lat));
                    return list;
                }
            }
        }
        return null;
    }
    public static String loadJSON(String url) {
        StringBuilder json = new StringBuilder();
        try {
            URL oracle = new URL(url);
            URLConnection yc = oracle.openConnection();
            BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream(), "UTF-8"));
            String inputLine = null;
            while ((inputLine = in.readLine()) != null) {
                json.append(inputLine);
            }
            in.close();
        } catch (MalformedURLException e) {} catch (IOException e) {}
        return json.toString();
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
@@ -419,9 +419,10 @@
//                ComMngPopulationHouseUserDO comMngPopulationHouseUserDO = savePopulationHouseUser(vo, populationDO, populationHouseDO);
            } else {
                //如果存在人口信息,且是自用房,则更新人口默认的房屋信息
                if (vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) {
                    populationDO = updatePopulationDO(vo, populationDO);
                }
//                if (vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) {
//                    populationDO = updatePopulationDO(vo, populationDO);
//                }
                populationDO = updatePopulationDO(vo, populationDO);
            }
            //处理实有人口房屋居住信息
@@ -457,15 +458,16 @@
        UpdateWrapper<ComMngPopulationDO> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("id",populationDO.getId());
        ComMngPopulationDO update = new ComMngPopulationDO();
        update.setRoad(vo.getRoad());
        update.setDoorNo(vo.getDoorNo());
        update.setFloor(vo.getFloor());
        update.setUnitNo(vo.getUnitNo());
        update.setHouseNo(vo.getHouseNo());
        update.setHouseId(vo.getHouseId());
        if (StringUtils.isNotEmpty(populationDO.getPhone())) {
            update.setPhone(populationDO.getPhone());
        }
//        update.setRoad(vo.getRoad());
//        update.setDoorNo(vo.getDoorNo());
//        update.setFloor(vo.getFloor());
//        update.setUnitNo(vo.getUnitNo());
//        update.setHouseNo(vo.getHouseNo());
//        update.setHouseId(vo.getHouseId());
//        if (StringUtils.isNotEmpty(populationDO.getPhone())) {
//            update.setPhone(populationDO.getPhone());
//        }
        BeanUtils.copyProperties(vo, update);
        this.baseMapper.update(update,updateWrapper);
        return populationDO;
    }
@@ -715,6 +717,20 @@
    }
    @Override
    public R getPopulationListByVillageId(Long villageId) {
        List<ComMngPopulationDO> list = populationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().eq("village_id", villageId));
        List<ComMngPopulationVO> resultList = new ArrayList<>();
        if (list.size() > 0) {
            list.forEach(populationDO -> {
                ComMngPopulationVO populationVO = new ComMngPopulationVO();
                BeanUtils.copyProperties(populationDO, populationVO);
                resultList.add(populationVO);
            });
        }
        return R.ok(resultList);
    }
    @Override
    public R editPopulation(ComMngPopulationEditDTO vo, Long communityId) throws Exception {
        ComMngPopulationDO populationDO = populationDAO.selectById(vo.getId());
        if (populationDO == null) {
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java
@@ -93,6 +93,16 @@
        return R.ok(vos);
    }
    @Override
    public R getVillageById(Long villageId) {
        ComMngVillageDO comMngVillageDO = new ComMngVillageDO();
        comMngVillageDO = comActVillageDAO.selectById(villageId);
        if (comMngVillageDO != null) {
            return R.ok(comMngVillageDO);
        }
        return R.fail();
    }
    @Override
    public R pageComActVillage(PageComMngVillageDTO pageComMngVillageDTO) {