diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index 1b99ac96f3..c246af8c09 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -352,4 +352,12 @@ public interface GovOrgOpenFeignClient { **/ @GetMapping(value = "/gov/org/customeragency/getareacodeswitch/{customerId}") Result getAreaCodeSwitch(@PathVariable("customerId")String customerId); + + /** + * 工作人员的个人信息 + * @param fromDTO + * @return + */ + @PostMapping("/gov/org/staff/mine") + Result queryStaffProfile(@RequestBody StaffInfoFromDTO fromDTO); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index 0d13438885..c83d34ca95 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -209,4 +209,9 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { public Result getAreaCodeSwitch(String customerId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAreaCodeSwitch", customerId); } + + @Override + public Result queryStaffProfile(StaffInfoFromDTO fromDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "mine", fromDTO); + } } diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddSpecialSubjectFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddSpecialSubjectFormDTO.java index ba663245db..1186ff3cdb 100644 --- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddSpecialSubjectFormDTO.java +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddSpecialSubjectFormDTO.java @@ -23,6 +23,11 @@ public class AddSpecialSubjectFormDTO implements Serializable { */ @NotBlank(message = "orgId不能为空", groups = AddUserInternalGroup.class) private String orgId; + /** + * orgId的所有上级id + */ + @NotBlank(message = "pids不能为空", groups = QuerySpecialSubFormDTO.AddUserInternalGroup.class) + private String pids; /** * 网格:grid;社区级:community, 乡(镇、街道)级:street, 区县级: district, 市级: city 省级:province @@ -43,12 +48,6 @@ public class AddSpecialSubjectFormDTO implements Serializable { @NotBlank(message = "从token中获取userId为空", groups = AddUserInternalGroup.class) private String addUserId; - /** - * 从TokenDto中获取当前用户所属的agencyId - */ - @NotBlank(message = "从token中获取用户所属组织id为空", groups = AddUserInternalGroup.class) - private String addUserAgencyId; - @NotBlank(message = "从token中获取客户id为空", groups = AddUserInternalGroup.class) private String customerId; } diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DelSpecialSubjectFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DelSpecialSubjectFormDTO.java index 4c3d964bc0..fc2f919147 100644 --- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DelSpecialSubjectFormDTO.java +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DelSpecialSubjectFormDTO.java @@ -30,10 +30,13 @@ public class DelSpecialSubjectFormDTO implements Serializable { @NotBlank(message = "orgId不能为空", groups = AddUserInternalGroup.class) private String orgId; - + // 以下属性从token中获取 /** * 从TokenDto中获取当前用户id */ - @NotBlank(message = "从token中获取userId为空", groups = AddSpecialSubjectFormDTO.AddUserInternalGroup.class) + @NotBlank(message = "从token中获取userId为空", groups = AddUserInternalGroup.class) private String userId; + @NotBlank(message = "从token中获取客户id为空", groups = AddUserInternalGroup.class) + private String customerId; + } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/SpecialSubjectController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/SpecialSubjectController.java index 018c88bc33..db715e55d0 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/SpecialSubjectController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/SpecialSubjectController.java @@ -18,7 +18,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; -import com.epmet.commons.tools.security.dto.GovTokenDto; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.AddSpecialSubjectFormDTO; @@ -57,9 +57,9 @@ public class SpecialSubjectController { * @Date 2021/7/15 15:31 **/ @PostMapping("add") - public Result addSpecialSubject(@LoginUser GovTokenDto tokenDto, @RequestBody AddSpecialSubjectFormDTO formDTO) { + public Result addSpecialSubject(@LoginUser TokenDto tokenDto, @RequestBody AddSpecialSubjectFormDTO formDTO) { formDTO.setAddUserId(tokenDto.getUserId()); - formDTO.setAddUserAgencyId(tokenDto.getAgencyId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); ValidatorUtils.validateEntity(formDTO, AddSpecialSubjectFormDTO.AddUserInternalGroup.class); return new Result().ok(specialSubjectService.addSpecialSubject(formDTO)); } @@ -72,7 +72,9 @@ public class SpecialSubjectController { * @Date 2021/7/15 20:49 **/ @PostMapping("del") - public Result delSpecialSubject(@RequestBody DelSpecialSubjectFormDTO formDTO){ + public Result delSpecialSubject(@LoginUser TokenDto tokenDto, @RequestBody DelSpecialSubjectFormDTO formDTO){ + formDTO.setUserId(tokenDto.getUserId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); ValidatorUtils.validateEntity(formDTO); specialSubjectService.delSpecialSubject(formDTO); return new Result(); diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/SpecialSubjectDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/SpecialSubjectDao.java index a759dd78fd..fe2da402c6 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/SpecialSubjectDao.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/SpecialSubjectDao.java @@ -34,8 +34,6 @@ import java.util.List; @Mapper public interface SpecialSubjectDao extends BaseDao { - SpecialSubjectEntity selectByOrgIdAndTagId(@Param("orgId") String orgId, @Param("tagId") String tagId); - int delSpecialSubject(@Param("id") String id, @Param("userId") String userId); List queryExistedList(@Param("orgId") String orgId,@Param("notList")List notList); diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/SpecialSubjectEntity.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/SpecialSubjectEntity.java index fd35ce2950..a97fe0df12 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/SpecialSubjectEntity.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/SpecialSubjectEntity.java @@ -18,13 +18,10 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 专题表 * @@ -58,6 +55,11 @@ public class SpecialSubjectEntity extends BaseEpmetEntity { */ private String addOrgId; + /** + * 用户所在的组织或者网格的所有上级 + */ + private String addOrgPids; + /** * 网格:grid;社区级:community, 乡(镇、街道)级:street, diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/SpecialSubjectServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/SpecialSubjectServiceImpl.java index 09b7230c6a..70a15d0d08 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/SpecialSubjectServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/SpecialSubjectServiceImpl.java @@ -27,15 +27,19 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.SpecialSubjectDao; import com.epmet.dto.SpecialSubjectDTO; import com.epmet.dto.TagCustomerDTO; import com.epmet.dto.form.AddSpecialSubjectFormDTO; import com.epmet.dto.form.DelSpecialSubjectFormDTO; import com.epmet.dto.form.QuerySpecialSubFormDTO; +import com.epmet.dto.form.StaffInfoFromDTO; import com.epmet.dto.result.AddSpecialSubjectResultDTO; +import com.epmet.dto.result.MineResultDTO; import com.epmet.dto.result.WorkSpecialSubjectResultDTO; import com.epmet.entity.SpecialSubjectEntity; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.SpecialSubjectService; import com.epmet.service.TagCustomerService; import lombok.extern.slf4j.Slf4j; @@ -62,6 +66,9 @@ import java.util.stream.Collectors; public class SpecialSubjectServiceImpl extends BaseServiceImpl implements SpecialSubjectService { @Autowired private TagCustomerService tagCustomerService; + @Autowired + private GovOrgOpenFeignClient govOrgOpenFeignClient; + @Override public PageData page(Map params) { @@ -131,13 +138,26 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl havedList=this.queryExistedList(querySpecialSubFormDTO); + List haveTagIds=havedList.stream().map(WorkSpecialSubjectResultDTO::getTagId).distinct().collect(Collectors.toList()); + haveTagIds.forEach(tagId->{ + if(tagId.equals(formDTO.getTagId())){ + throw new RenException(EpmetErrorCode.EXISTED_SPECIAL_PROJECT.getCode(), EpmetErrorCode.EXISTED_SPECIAL_PROJECT.getMsg()); + } + }); // 3、保存 SpecialSubjectEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, SpecialSubjectEntity.class); + StaffInfoFromDTO staffInfoFromDTO = new StaffInfoFromDTO(); + staffInfoFromDTO.setStaffId(formDTO.getAddUserId()); + Result result = govOrgOpenFeignClient.queryStaffProfile(staffInfoFromDTO); + if(result.success()&&null!=result.getData()){ + insertEntity.setAddUserAgencyId(result.getData().getAgencyId()); + } insertEntity.setAddOrgId(formDTO.getOrgId()); + insertEntity.setAddOrgPids(formDTO.getPids()); baseDao.insert(insertEntity); return new AddSpecialSubjectResultDTO(insertEntity.getId()); } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/SpecialSubjectDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/SpecialSubjectDao.xml index c40828ae10..d3e7c4b40d 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/SpecialSubjectDao.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/SpecialSubjectDao.xml @@ -2,16 +2,6 @@ - update special_subject set del_flag='1',UPDATED_BY=#{userId},UPDATED_TIME=Now()