Browse Source

增加产品端组织架构

feature/test
zhangyuan 4 years ago
parent
commit
27d3c06559
  1. 42
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java
  2. 29
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysDeptService.java
  3. 66
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java

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

@ -9,6 +9,7 @@
package com.elink.esua.epdc.controller; package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.annotation.LogOperation; import com.elink.esua.epdc.commons.tools.annotation.LogOperation;
import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant;
import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
@ -18,6 +19,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.*; import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.DeptCodeOption;
import com.elink.esua.epdc.dto.epdc.form.UserSysDeptAreaCodeFormDTO; import com.elink.esua.epdc.dto.epdc.form.UserSysDeptAreaCodeFormDTO;
import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO; import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO; import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO;
@ -25,6 +27,7 @@ import com.elink.esua.epdc.optimize.modules.deptlevel.service.OptSysDeptService;
import com.elink.esua.epdc.service.SysDeptService; import com.elink.esua.epdc.service.SysDeptService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -316,4 +319,43 @@ public class SysDeptController {
public Result<List> getEpmetAreaCode(UserSysDeptAreaCodeFormDTO dto) { public Result<List> getEpmetAreaCode(UserSysDeptAreaCodeFormDTO dto) {
return new Result<List>().ok(sysDeptService.getEpmetAreaCode(dto)); return new Result<List>().ok(sysDeptService.getEpmetAreaCode(dto));
} }
/**
* @Description 获取部门区域编码树
* @Author songyunpeng
* @Date 2021/1/7
* @Param []
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.DeptCodeOption>
**/
@GetMapping("getDeptCode")
public Result<DeptCodeOption> getDeptCodeTree(){
return sysDeptService.getDeptCodeTree();
}
/**
* 新增区域编码
*
* @param dto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.SysDeptDTO>
* @author Liuchuang
* @since 2021/5/11 15:20
*/
@PostMapping("addAreaCode")
public Result<SysDeptDTO> addAreaCode(@RequestBody SysDeptDTO dto) {
if (!OrganizationTypeConstant.ORG_TYPE_STREET_PARTY.equals(dto.getTypeKey())
&& !OrganizationTypeConstant.ORG_TYPE_COMMUNITY_PARTY.equals(dto.getTypeKey())) {
return new Result<SysDeptDTO>().error("只有机构类型为街道或者社区时可以新增区域编码");
}
if (null == dto.getName() || StringUtils.isEmpty(dto.getName())) {
return new Result<SysDeptDTO>().error("请填写机构名称");
}
if (null == dto.getPid() || 0 == dto.getPid()) {
return new Result<SysDeptDTO>().error("请选择上级部门");
}
return sysDeptService.addAreaCode(dto);
}
} }

29
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysDeptService.java

@ -12,6 +12,7 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.*; import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.DeptCodeOption;
import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO; import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.UserSysDeptAreaCodeFormDTO; import com.elink.esua.epdc.dto.epdc.form.UserSysDeptAreaCodeFormDTO;
import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO; import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO;
@ -253,4 +254,32 @@ public interface SysDeptService extends BaseService<SysDeptEntity> {
* @Param [userId] * @Param [userId]
**/ **/
Result<DeptOption> getUserDeptOptionByUserId(String userId); Result<DeptOption> getUserDeptOptionByUserId(String userId);
/**
* @Description 获取部门区域编码树
* @Author songyunpeng
* @Date 2021/1/7
* @Param []
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.DeptCodeOption>
**/
Result<DeptCodeOption> getDeptCodeTree();
/***
* 组装孔村部门编码
* @param
* @return void
* @author qushutong
* @date 2019/12/13 13:54
*/
void packageKcDeptCodeOption();
/**
* 新增区域编码
*
* @param dto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.SysDeptDTO>
* @author Liuchuang
* @since 2021/5/11 15:21
*/
Result<SysDeptDTO> addAreaCode(SysDeptDTO dto);
} }

66
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java

@ -31,6 +31,10 @@ import com.elink.esua.epdc.commons.tools.utils.TreeUtils;
import com.elink.esua.epdc.constant.RoleTypeKeyConstant; import com.elink.esua.epdc.constant.RoleTypeKeyConstant;
import com.elink.esua.epdc.dao.SysDeptDao; import com.elink.esua.epdc.dao.SysDeptDao;
import com.elink.esua.epdc.dto.*; import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.admin.DeptAddAreaCodeFormDTO;
import com.elink.esua.epdc.dto.admin.DeptAddAreaCodeResultDTO;
import com.elink.esua.epdc.dto.admin.DeptCodeFormDTO;
import com.elink.esua.epdc.dto.epdc.DeptCodeOption;
import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO; import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.UserSysDeptAreaCodeFormDTO; import com.elink.esua.epdc.dto.epdc.form.UserSysDeptAreaCodeFormDTO;
import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO; import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO;
@ -39,6 +43,7 @@ import com.elink.esua.epdc.dto.epdc.result.AreaCodeParentResultDTO;
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptAreaCodeResultDTO; import com.elink.esua.epdc.dto.epdc.result.UserSysDeptAreaCodeResultDTO;
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO; import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO;
import com.elink.esua.epdc.entity.SysDeptEntity; import com.elink.esua.epdc.entity.SysDeptEntity;
import com.elink.esua.epdc.feign.AnalysisFeignClient;
import com.elink.esua.epdc.feign.GroupFeignClient; import com.elink.esua.epdc.feign.GroupFeignClient;
import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO; import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.rocketmq.producer.OrganizationModifyProducer; import com.elink.esua.epdc.rocketmq.producer.OrganizationModifyProducer;
@ -85,6 +90,9 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
@Autowired @Autowired
private EpmetUtils epmetUtils; private EpmetUtils epmetUtils;
@Autowired
private AnalysisFeignClient analysisFeignClient;
@Override @Override
public List<SysDeptDTO> list(Map<String, Object> params) { public List<SysDeptDTO> list(Map<String, Object> params) {
//普通管理员,只能查询所属部门及子部门的数据 //普通管理员,只能查询所属部门及子部门的数据
@ -902,4 +910,62 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
} }
return new Result<DeptOption>().ok((DeptOption) obj); return new Result<DeptOption>().ok((DeptOption) obj);
} }
@Override
public Result<DeptCodeOption> getDeptCodeTree() {
String deptKey = RedisKeys.getAllDeptCodeOptionKey();
Object obj = redisUtils.get(deptKey);
if (null == obj) {
this.packageKcDeptCodeOption();
obj = redisUtils.get(deptKey);
}
//防止列表为空时 redis一直不更新
DeptCodeOption deptCodeOption = (DeptCodeOption)obj;
if(deptCodeOption.getOptions().size()==0){
this.packageKcDeptCodeOption();
obj = redisUtils.get(deptKey);
}
return new Result<DeptCodeOption>().ok((DeptCodeOption)obj);
}
@Override
public void packageKcDeptCodeOption() {
DeptCodeFormDTO deptCodeFormDTO = new DeptCodeFormDTO();
deptCodeFormDTO.setRootAreaCode(EpmetConstant.DEPT_CODE_YS);
deptCodeFormDTO.setRootAreaLevel(EpmetConstant.DEPT_CODE_LEVEL_YS);
Result<DeptCodeOption> deptCodeResult = analysisFeignClient.getDeptCode(deptCodeFormDTO);
if(deptCodeResult.getData()!=null){
DeptCodeOption deptCodeOption = deptCodeResult.getData();
redisUtils.set(RedisKeys.getAllDeptCodeOptionKey(), deptCodeOption);
}
}
@Override
public Result<SysDeptDTO> addAreaCode(SysDeptDTO dto) {
SysDeptEntity parentDeptInfo = baseDao.getById(dto.getPid());
if (null == parentDeptInfo) {
return new Result<SysDeptDTO>().error("请选择上级部门");
}
if (StringUtils.isEmpty(parentDeptInfo.getAreaCode())) {
return new Result<SysDeptDTO>().error("上级部门未绑定区域编码,请先绑定上级部门区域编码");
}
DeptAddAreaCodeFormDTO formDto = new DeptAddAreaCodeFormDTO();
formDto.setParentAreaCode(parentDeptInfo.getAreaCode());
formDto.setName(dto.getName());
if (null != dto.getId() && NumConstant.ZERO_L != dto.getId()) {
SysDeptEntity deptInfo = baseDao.getById(dto.getId());
formDto.setCode(deptInfo.getAreaCode());
}
Result<DeptAddAreaCodeResultDTO> data = analysisFeignClient.addAreaCode(formDto);
if (!data.success()) {
return new Result<SysDeptDTO>().error(data.getMsg());
}
dto.setAreaCode(data.getData().getCode());
// 更新缓存中的行政区划
this.packageKcDeptCodeOption();
return new Result<SysDeptDTO>().ok(dto);
}
} }

Loading…
Cancel
Save