Browse Source

调整了部分代码

hotfix/yujt_opt
yujt 5 years ago
parent
commit
f8cf042548
  1. 47
      epdc-cloud-property/doc/update.sql
  2. 4
      epdc-cloud-property/pom.xml
  3. 20
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/entity/PoliceEntity.java
  4. 95
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/service/impl/PoliceServiceImpl.java

47
epdc-cloud-property/doc/update.sql

@ -0,0 +1,47 @@
-- 微笑榆山二期相关表结构修改
DROP TABLE IF EXISTS `epdc_property`;
CREATE TABLE `epdc_property` (
`ID` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
`PROPERTY_NAME` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物业名称',
`PROPERTY_CODE` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物业编码',
`EFFECTIVE_FLAG` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否有效(0-否,1-是)',
`REVISION` int(11) NOT NULL DEFAULT 0 COMMENT '乐观锁',
`DEL_FLAG` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '删除标记(0-否,1-是)',
`CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime(0) NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime(0) NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '物业表' ROW_FORMAT = Compact;
DROP TABLE IF EXISTS `epdc_property_project_score`;
CREATE TABLE `epdc_property_project_score` (
`ID` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
`PROJECT_ID` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物业项目ID',
`PROPERTY_ID` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物业ID',
`USER_ID` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户ID',
`SCORE` decimal(4, 1) NOT NULL DEFAULT 0.0 COMMENT '得分',
`REVISION` int(11) NOT NULL DEFAULT 0 COMMENT '乐观锁',
`DEL_FLAG` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '删除标记(0-否,1-是)',
`CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime(0) NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime(0) NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '物业项目得分表' ROW_FORMAT = Compact;
ALTER TABLE epdc_property_project ADD COLUMN `PROPERTY_ID` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '物业ID';
-- 话题表新增群类别字段
ALTER TABLE epdc_topic ADD COLUMN `GROUP_CATEGORY` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '群类别 2:物业群;3警民群';
-- 已有话题类别全部为物业群
UPDATE epdc_topic SET GROUP_CATEGORY = '2';
-- ——————————————————————————————————————————————————————————————————————————————————————————————————
-- 新闻模块
ALTER TABLE epdc_news_category ADD COLUMN `INDEPENDENT_FLAG` VARCHAR ( 1 ) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '是否有独立的模块功能 0:否;1:是';
--
UPDATE epdc_news_category SET `INDEPENDENT_FLAG` = '0';

4
epdc-cloud-property/pom.xml

@ -230,9 +230,9 @@
<spring.redis.password>epdc!redis@master1405</spring.redis.password>
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_property?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
<![CDATA[jdbc:mysql://47.104.224.45:3308/yushan_esua_epdc_property?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epdc</spring.datasource.druid.username>
<spring.datasource.druid.username>epdcyushan</spring.datasource.druid.username>
<spring.datasource.druid.password>elink833066</spring.datasource.druid.password>
<nacos.register-enabled>true</nacos.register-enabled>

20
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/entity/PoliceEntity.java

@ -70,24 +70,4 @@ public class PoliceEntity extends DeptScope {
*/
private String displayFlag;
/**
* 所有部门ID
*/
private String allDeptIds;
/**
* 所有部门名称
*/
private String allDeptNames;
/**
* 父所有部门
*/
private String parentDeptIds;
/**
* 父所有部门
*/
private String parentDeptNames;
}

95
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/service/impl/PoliceServiceImpl.java

@ -17,11 +17,13 @@
package com.elink.esua.epdc.modules.police.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.mybatis.utils.DeptEntityUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
@ -102,21 +104,64 @@ public class PoliceServiceImpl extends BaseServiceImpl<PoliceDao, PoliceEntity>
return ConvertUtils.sourceToTarget(entity, PoliceDTO.class);
}
private List<DeptLevelAndLeaderDTO> getChildDeptList(String tyepKey, Long deptId) {
Result<List<DeptLevelAndLeaderDTO>> adminResult = adminFeignClient.listChildDeptLevelById(tyepKey, deptId);
if (!adminResult.success()) {
throw new RenException(adminResult.getMsg());
}
return adminResult.getData();
}
/**
* 社区是否已有民警
*
* @param deptId 社区id
* @return boolean
* @author work@yujt.net.cn
* @date 2020/5/22 16:56
*/
private boolean hasPolice(Long deptId) {
QueryWrapper<PoliceEntity> wrapper = new QueryWrapper<>();
wrapper.eq("DEPT_ID", deptId);
return baseDao.selectCount(wrapper) > NumConstant.ZERO;
}
/**
* 查询社区下未创建警民群的网格
*
* @param deptList 社区下所有的网格
* @param communityId 社区id
* @return java.util.List<com.elink.esua.epdc.dto.DeptLevelAndLeaderDTO>
* @author work@yujt.net.cn
* @date 2020/5/22 16:55
*/
private List<DeptLevelAndLeaderDTO> getDeptListWithoutGroup(List<DeptLevelAndLeaderDTO> deptList, Long communityId) {
// 查询社区下已创建群组的网格
List<DeptLevelAndLeaderDTO> hasGroupList = groupDao.selectListOfGroupByDeptId(String.valueOf(communityId));
if (CollUtil.isNotEmpty(hasGroupList)) {
for (int i = deptList.size() - 1; i >= 0; i--) {
for (DeptLevelAndLeaderDTO dto : hasGroupList) {
if (deptList.get(i).getDeptId().equals(dto.getDeptId())) {
deptList.remove(i);
break;
}
}
}
}
return deptList;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result save(PoliceDTO dto) {
PoliceEntity entity = ConvertUtils.sourceToTarget(dto, PoliceEntity.class);
// 先查询该社区下有没有网格群,没有就同时创建民警和群,有就表示已经创建过。
List<DeptLevelAndLeaderDTO> gridList = adminFeignClient.listChildDeptLevelById(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, entity.getDeptId()).getData();
// 社区下没有网格
if (gridList.size() == 0 || dto.getDeptId() == null) {
return new Result().error("新增失败");
Long communityId = dto.getDeptId();
if (hasPolice(communityId)) {
return new Result().error("该社区已有民警,无法重复添加");
}
List<DeptLevelAndLeaderDTO> groupList = groupDao.selectListOfGroupByDeptId(entity.getDeptId() + "");
if (groupList.size() == 0) {
ParentAndAllDeptDTO parentAndAllDeptDTO = getParentAndAllDeptDTO(dto.getDeptId() + "");
// 保存机构,及其他冗余字段。
// 社区第一次添加民警,直接保存
PoliceEntity entity = ConvertUtils.sourceToTarget(dto, PoliceEntity.class);
ParentAndAllDeptDTO parentAndAllDeptDTO = getParentAndAllDeptDTO(String.valueOf(communityId));
DeptEntityUtils.loadDeptInfo(
ConvertUtils.sourceToTarget(parentAndAllDeptDTO, DeptEntityUtils.DeptDto.class),
entity
@ -124,27 +169,33 @@ public class PoliceServiceImpl extends BaseServiceImpl<PoliceDao, PoliceEntity>
entity.setDeptName(parentAndAllDeptDTO.getGrid());
insert(entity);
// 创民警的同时创建群
gridList.forEach(dept -> {
ParentAndAllDeptDTO parentAndAllDeptDTOChild = getParentAndAllDeptDTO(dept.getDeptId() + "");
// 先查询该社区下所有网格
List<DeptLevelAndLeaderDTO> deptList = getChildDeptList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, entity.getDeptId());
if (CollUtil.isEmpty(deptList)) {
return new Result();
}
// 未创建社区的网格
List<DeptLevelAndLeaderDTO> withoutGroupDeptList = getDeptListWithoutGroup(deptList, communityId);
if (CollUtil.isNotEmpty(withoutGroupDeptList)) {
withoutGroupDeptList.forEach(
deptForGroup -> {
GroupEntity groupEntity = new GroupEntity();
DeptEntityUtils.loadDeptInfo(
ConvertUtils.sourceToTarget(parentAndAllDeptDTOChild, DeptEntityUtils.DeptDto.class),
ConvertUtils.sourceToTarget(deptForGroup, DeptEntityUtils.DeptDto.class),
groupEntity
);
groupEntity.setReferenceBusinessId(entity.getId());
groupEntity.setState(GroupStateEnum.GROUP_STATE_EXAMINATION_PASSED.getValue());
groupEntity.setGroupAvatar(GroupConstant.PROPERTY_GROUP_AVATAR);
groupEntity.setGroupName(dept.getDeptName() + "警民群");
groupEntity.setGroupName(deptForGroup.getDeptName() + "警民群");
groupEntity.setGroupCategory(GroupConstant.POLICE_GROUP_CATEGORY);
groupEntity.setGrid(dept.getDeptName());
groupEntity.setGridId(dept.getDeptId());
groupEntity.setGrid(deptForGroup.getDeptName());
groupEntity.setGridId(deptForGroup.getDeptId());
groupDao.insert(groupEntity);
});
return new Result();
} else {
return new Result().error("新增失败,社区内已有民警");
}
);
}
return new Result();
}
@Override

Loading…
Cancel
Save