Browse Source

社区用户推送

master
wanggongfeng 3 years ago
parent
commit
62bff6e22b
  1. 6
      epdc-cloud-admin/pom.xml
  2. 19
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java
  3. 5
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/dao/SysDeptInfoDao.java
  4. 5
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/entity/SysUserEntity.java
  5. 13
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysDeptInfoService.java
  6. 9
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysDeptInfoServiceImpl.java
  7. 127
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java
  8. 18
      epdc-cloud-admin/src/main/resources/mapper/SysDeptInfoDao.xml

6
epdc-cloud-admin/pom.xml

@ -114,6 +114,12 @@
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.esua.epdc.yushan</groupId>
<artifactId>epdc-cloud-admin-client</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

19
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java

@ -28,7 +28,9 @@ import com.elink.esua.epdc.dto.form.DeptInfoFormDTO;
import com.elink.esua.epdc.dto.management.form.CommunityAddFormDTO;
import com.elink.esua.epdc.dto.management.result.GlobalResultDTO;
import com.elink.esua.epdc.dto.result.DeptInfoResultDTO;
import com.elink.esua.epdc.dto.result.SysDeptInfoResultDTO;
import com.elink.esua.epdc.optimize.modules.deptlevel.service.OptSysDeptService;
import com.elink.esua.epdc.service.SysDeptInfoService;
import com.elink.esua.epdc.service.SysDeptService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -55,6 +57,9 @@ public class SysDeptController {
@Autowired
private SysDeptService sysDeptService;
@Autowired
private SysDeptInfoService sysDeptInfoService;
@Autowired
private OptSysDeptService optSysDeptService;
@ -442,6 +447,20 @@ public class SysDeptController {
return new Result<DeptInfoDTO>().ok(data);
}
/**
* 通过部门ID所有上级机构
*
* @param deptId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.CompleteDeptDTO>
* @author wgf
* @date 2022/12/9 09:12
*/
@GetMapping("getSysDeptInfoByDeptId/{deptId}")
public Result<SysDeptInfoResultDTO> getSysDeptInfoByDeptId(@PathVariable("deptId") String deptId) {
SysDeptInfoResultDTO sysDeptInfoDTO = sysDeptInfoService.getSysDeptInfo(deptId);
return new Result<SysDeptInfoResultDTO>().ok(sysDeptInfoDTO);
}
/**
* 推送社区管理信息
*

5
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/dao/SysDeptInfoDao.java

@ -19,6 +19,7 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.AppDeptInfoResultDTO;
import com.elink.esua.epdc.dto.result.SysDeptInfoResultDTO;
import com.elink.esua.epdc.entity.SysDeptInfoEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -40,4 +41,6 @@ public interface SysDeptInfoDao extends BaseDao<SysDeptInfoEntity> {
* @return com.elink.esua.epdc.dto.AppDeptInfoResultDTO
*/
AppDeptInfoResultDTO selectByDeptId(@Param("deptId") Long deptId);
}
SysDeptInfoResultDTO getSysDeptInfo(@Param("deptId") String deptId);
}

5
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/entity/SysUserEntity.java

@ -119,4 +119,9 @@ public class SysUserEntity extends BaseEntity {
*/
private String verifyMobile;
/**
* 社区管理第三方ID
*/
private Integer manageId;
}

13
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysDeptInfoService.java

@ -20,6 +20,7 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.SysDeptInfoDTO;
import com.elink.esua.epdc.dto.result.SysDeptInfoResultDTO;
import com.elink.esua.epdc.entity.SysDeptInfoEntity;
import java.util.List;
@ -103,4 +104,14 @@ public interface SysDeptInfoService extends BaseService<SysDeptInfoEntity> {
*/
SysDeptInfoDTO getDeptInfoByDeptID(String deptId);
}
/**
* 单条查询
*
* @param deptId
* @return SysDeptInfoDTO
* @author generator
* @date 2021-08-10
*/
SysDeptInfoResultDTO getSysDeptInfo(String deptId);
}

9
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysDeptInfoServiceImpl.java

@ -25,6 +25,7 @@ import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.dao.SysDeptInfoDao;
import com.elink.esua.epdc.dto.SysDeptInfoDTO;
import com.elink.esua.epdc.dto.result.SysDeptInfoResultDTO;
import com.elink.esua.epdc.entity.SysDeptInfoEntity;
import com.elink.esua.epdc.service.SysDeptInfoService;
import org.apache.commons.lang3.StringUtils;
@ -106,4 +107,10 @@ public class SysDeptInfoServiceImpl extends BaseServiceImpl<SysDeptInfoDao, SysD
return ConvertUtils.sourceToTarget(sysDeptInfoEntity,SysDeptInfoDTO.class);
}
}
@Override
public SysDeptInfoResultDTO getSysDeptInfo(String deptId) {
SysDeptInfoResultDTO sysDeptInfoResultDTO = baseDao.getSysDeptInfo(deptId);
return sysDeptInfoResultDTO;
}
}

127
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java

@ -30,8 +30,13 @@ import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcAppGridManFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppGridManListResultDTO;
import com.elink.esua.epdc.dto.management.form.*;
import com.elink.esua.epdc.dto.management.result.GlobalResultDTO;
import com.elink.esua.epdc.dto.result.SysDeptInfoResultDTO;
import com.elink.esua.epdc.entity.SysUserEntity;
import com.elink.esua.epdc.feign.CommunityManageFeignClient;
import com.elink.esua.epdc.service.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -48,15 +53,21 @@ import java.util.Map;
* @since 1.0.0
*/
@Service
@Slf4j
public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntity> implements SysUserService {
@Autowired
private SysRoleUserService sysRoleUserService;
@Autowired
private SysDeptService sysDeptService;
@Autowired
private SysDeptInfoService sysDeptInfoService;
@Autowired
private SysPropertyUserService sysPropertyUserService;
@Autowired
private SysEpmetUserRelationService sysEpmetUserRelationService;
@Autowired
private CommunityManageFeignClient communityManageFeignClient;
@Override
public PageData<SysUserDTO> page(Map<String, Object> params) {
@ -129,6 +140,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
// 保存/更新网格员信息
sysEpmetUserRelationService.saveOrUpdateUserEpmetRelation(entity.getId(), dto.getWgyInfo());
// 社区管理推送
sendInfo(dto, entity, 0);
}
@Override
@ -161,6 +175,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
// 保存/更新网格员信息
sysEpmetUserRelationService.saveOrUpdateUserEpmetRelation(entity.getId(), dto.getWgyInfo());
// 社区管理推送
sendInfo(dto, entity, 1);
}
/**
@ -191,6 +208,15 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
logicDelete(ids, SysUserEntity.class);
//角色用户关系,需要保留,不然逻辑删除就变成物理删除了
SysUserEntity entity = new SysUserEntity();
SysUserDTO dto = new SysUserDTO();
entity.setId(ids[0]);
dto.setId(ids[0]);
// 社区管理推送
sendInfo(dto, entity, 2);
}
@Override
@ -342,4 +368,105 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
return listGridmanInfo;
}
/**
* 推送处理
*
* @param dto
* @param entity
* @param type 0:新增 1:编辑 2:删除
* @return void
* @author wgf
* @date 2022/12/9 04:56
*/
private void sendInfo(SysUserDTO dto, SysUserEntity entity, int type) {
try {
// 获取网格的ManageId
SysDeptInfoResultDTO sysDeptInfoResultDTO = sysDeptInfoService.getSysDeptInfo(entity.getDeptId().toString());
if (type == NumConstant.ZERO) {
if(sysDeptInfoResultDTO.getGridManageId() != null && sysDeptInfoResultDTO.getCommunityManageId() != null){
ManageUserAddFormDTO userAddFormDTO = new ManageUserAddFormDTO();
userAddFormDTO.setGridId(sysDeptInfoResultDTO.getGridManageId());
userAddFormDTO.setUserName(entity.getUsername());
userAddFormDTO.setPhone(entity.getMobile());
userAddFormDTO.setGender(entity.getGender() == null ? "" : entity.getGender().toString());
userAddFormDTO.setBornTime("");
userAddFormDTO.setWorkDate("");
userAddFormDTO.setHeadImage(entity.getHeadUrl());
userAddFormDTO.setIntroduction(entity.getRemark());
userAddFormDTO.setDescription("");
userAddFormDTO.setCreateTime(entity.getCreateDate().toString());
userAddFormDTO.setOldManageId(entity.getId().toString());
log.info("++++++++++++++++++++++++++++++++++++++++++++sysUserAddFormDTO:" + userAddFormDTO);
Result<GlobalResultDTO> result = communityManageFeignClient.addManageUser(userAddFormDTO);
log.info("++++++++++++++++++++++++++++++++++++++++++++sysUserAdd result:" + result);
communityManageHandle(result, dto, entity);
}
} else if (type == NumConstant.ONE) {
SysUserEntity userEntity = baseDao.selectById(dto.getId());
if (userEntity != null && userEntity.getManageId() != null) {
ManageUserUpdFormDTO userUpdFormDTO = new ManageUserUpdFormDTO();
userUpdFormDTO.setUserName(entity.getUsername());
userUpdFormDTO.setGender(entity.getGender() == null ? "" : entity.getGender().toString());
userUpdFormDTO.setBornTime("");
userUpdFormDTO.setWorkDate("");
userUpdFormDTO.setHeadImage(entity.getHeadUrl());
userUpdFormDTO.setIntroduction(entity.getRemark());
userUpdFormDTO.setDescription("");
userUpdFormDTO.setId(userEntity.getManageId());
userUpdFormDTO.setGridId(sysDeptInfoResultDTO.getGridManageId());
log.info("++++++++++++++++++++++++++++++++++++++++++++sysUserUpdFormDTO:" + userUpdFormDTO);
Result<GlobalResultDTO> result = communityManageFeignClient.updManageUser(userUpdFormDTO);
log.info("++++++++++++++++++++++++++++++++++++++++++++sysUserupd result:" + result);
communityManageHandle(result, dto, entity);
}
} else if (type == NumConstant.TWO) {
SysUserEntity userEntity = baseDao.selectById(dto.getId());
if (userEntity != null && userEntity.getManageId() != null) {
ManageUserDelFormDTO userDelFormDTO = new ManageUserDelFormDTO();
userDelFormDTO.setId(userEntity.getManageId());
log.info("++++++++++++++++++++++++++++++++++++++++++++sysUserDelFormDTO:" + userDelFormDTO);
Result<GlobalResultDTO> result = communityManageFeignClient.delManageUser(userDelFormDTO);
log.info("++++++++++++++++++++++++++++++++++++++++++++sysUserDel result:" + result);
// communityManageHandle(result, dto, entity);
}
}
} catch (Exception e) {
log.error("推送社区管理接口失败:type>>" + type + "||id>>" + entity.getId());
}
}
/**
* 设置ManageId
* @param result
* @param dto
* @param entity
*/
private void communityManageHandle(Result<GlobalResultDTO> result, SysUserDTO dto, SysUserEntity entity) {
if (result.success()) {
Object resultObject = result.getData().getResult();
Integer mId = null;
// 只有新增操作result才会有值,编辑删除是null,直接通过这个来判断是不是新增操作
if (resultObject != null) {
mId = Integer.valueOf(resultObject.toString());
}
SysUserEntity userEntity = baseDao.selectById(entity.getId());
// 表里没有直接插入
if (userEntity == null) {
// 插入信息表
SysUserEntity addUserEntity = ConvertUtils.sourceToTarget(dto, SysUserEntity.class);
addUserEntity.setManageId(mId);
baseDao.insert(addUserEntity);
} else {
// 更新信息表
userEntity.setManageId(mId);
baseDao.updateById(userEntity);
}
}
}
}

18
epdc-cloud-admin/src/main/resources/mapper/SysDeptInfoDao.xml

@ -27,6 +27,22 @@
where DEL_FLAG='0'
and DEPT_ID=#{deptId}
</select>
<select id="getSysDeptInfo" resultType="com.elink.esua.epdc.dto.result.SysDeptInfoResultDTO">
select
dt.ID gridId,
dt.name gridName,
di.MANAGE_ID gridManageId,
dt.PID communityId,
di2.MANAGE_ID communityManageId
from sys_dept dt
left join sys_dept_info di on dt.ID = di.DEPT_ID and di.DEL_FLAG = 0
left join sys_dept_info di2 on dt.PID = di2.DEPT_ID and di2.DEL_FLAG = 0
where dt.del_flag = 0
and dt.ID = #{deptId}
</mapper>
</select>
</mapper>

Loading…
Cancel
Save