From 1a450910bbead85d7362127d2313eef8e86ff955 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 22 May 2020 18:19:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=BF=E5=BA=9C=E7=AB=AF=E6=88=91=E7=9A=84?= =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/MineController.java | 35 +++++++++++++++ .../com/epmet/feign/GovOrgFeignClient.java | 10 +++++ .../java/com/epmet/service/MineService.java | 20 +++++++++ .../epmet/service/impl/MineServiceImpl.java | 35 +++++++++++++++ .../com/epmet/dto/result/MineResultDTO.java | 43 +++++++++++++++++++ .../com/epmet/controller/StaffController.java | 5 +++ .../java/com/epmet/dao/CustomerAgencyDao.java | 9 ++++ .../epmet/service/CustomerAgencyService.java | 9 ++++ .../service/CustomerStaffAgencyService.java | 9 ++++ .../java/com/epmet/service/StaffService.java | 9 ++++ .../impl/CustomerAgencyServiceImpl.java | 5 +++ .../impl/CustomerStaffAgencyServiceImpl.java | 8 ++++ .../epmet/service/impl/StaffServiceImpl.java | 17 ++++++++ .../resources/mapper/CustomerAgencyDao.xml | 12 ++++++ 14 files changed, 226 insertions(+) create mode 100644 epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/MineController.java create mode 100644 epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/MineService.java create mode 100644 epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/MineServiceImpl.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/MineController.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/MineController.java new file mode 100644 index 0000000000..39130b6857 --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/MineController.java @@ -0,0 +1,35 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.MineResultDTO; +import com.epmet.service.MineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/22 17:59 + */ +@RestController +@RequestMapping("mine") +public class MineController { + @Autowired + private MineService mineService; + + /** + * 我的个人信息 + * @author zhaoqifeng + * @date 2020/5/22 18:01 + * @param tokenDto + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("profile") + public Result profile(@LoginUser TokenDto tokenDto) { + return new Result().ok(mineService.profile(tokenDto)); + } +} diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index f5ba8752e5..f848ccf9b9 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -4,8 +4,10 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.LatestGridFormDTO; +import com.epmet.dto.form.StaffInfoFromDTO; import com.epmet.dto.result.CustomerGridByUserIdResultDTO; import com.epmet.dto.result.LatestCustomerResultDTO; +import com.epmet.dto.result.MineResultDTO; import com.epmet.feign.fallback.GovOrgFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -66,4 +68,12 @@ public interface GovOrgFeignClient { */ @PostMapping("/gov/org/agency/agencybystaff/{staffId}") Result getAgencyByStaff(@PathVariable("staffId") String staffId); + + /** + * 我的个人信息 + * @param fromDTO + * @return + */ + @PostMapping("/gov/org/staff/mine") + Result mine(@RequestBody StaffInfoFromDTO fromDTO); } diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/MineService.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/MineService.java new file mode 100644 index 0000000000..8ec08f7905 --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/MineService.java @@ -0,0 +1,20 @@ +package com.epmet.service; + +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dto.result.MineResultDTO; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/22 18:02 + */ +public interface MineService { + /** + * 我的个人信息 + * @author zhaoqifeng + * @date 2020/5/22 18:04 + * @param tokenDto + * @return com.epmet.dto.result.MineResultDTO + */ + MineResultDTO profile(TokenDto tokenDto); +} diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/MineServiceImpl.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/MineServiceImpl.java new file mode 100644 index 0000000000..66b152df9f --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/MineServiceImpl.java @@ -0,0 +1,35 @@ +package com.epmet.service.impl; + +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.ErrorCode; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.StaffInfoFromDTO; +import com.epmet.dto.result.MineResultDTO; +import com.epmet.feign.GovOrgFeignClient; +import com.epmet.service.MineService; +import org.apache.poi.ss.formula.constant.ErrorConstant; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/22 18:03 + */ +@Service +public class MineServiceImpl implements MineService { + @Autowired + GovOrgFeignClient govOrgFeignClient; + @Override + public MineResultDTO profile(TokenDto tokenDto) { + StaffInfoFromDTO fromDTO = new StaffInfoFromDTO(); + fromDTO.setStaffId(tokenDto.getUserId()); + Result result = govOrgFeignClient.mine(fromDTO); + if(!result.success() || null == result.getData()) { + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } + return result.getData(); + } +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java new file mode 100644 index 0000000000..f19eb67cea --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java @@ -0,0 +1,43 @@ +package com.epmet.dto.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/22 16:52 + */ +@NoArgsConstructor +@Data +public class MineResultDTO implements Serializable { + + private static final long serialVersionUID = 8987281818368677411L; + /** + * 工作人员id,后台userId + */ + private String staffId; + /** + * 头像 + */ + private String staffHeadPhoto; + /** + * 真实姓名 + */ + private String realName; + /** + * 性别0未知,1男2女 + */ + private Integer gender; + /** + * 所属机关单位名称(上级-所属) + */ + private String agencyName; + /** + * 角色 + */ + private List roleList; +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java index fa441eb40b..664f425aee 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java @@ -130,4 +130,9 @@ public class StaffController { public Result disabledStaff(@LoginUser TokenDto tokenDto, @RequestBody StaffInfoFromDTO fromDTO){ return staffService.disabledStaff(tokenDto, fromDTO); } + + @PostMapping("mine") + public Result mine(@RequestBody StaffInfoFromDTO fromDTO){ + return new Result().ok(staffService.mine(fromDTO)); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 6857d9c045..ec559ccaa6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -107,4 +107,13 @@ public interface CustomerAgencyDao extends BaseDao { * @return */ CustomerAgencyDTO getCustomerRootAgency(@Param("customerId") String customerId); + + /** + * 获取所属机关单位名称(上级-所属) + * @author zhaoqifeng + * @date 2020/5/22 17:53 + * @param agencyId + * @return java.lang.String + */ + String selectAgencyName(@Param("agencyId") String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index 011b0f814e..e29bff8bf1 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -147,4 +147,13 @@ public interface CustomerAgencyService extends BaseService * @Description 根据当前组织ID查询上两级组织、本级组织和所有下级(迭代)组织 **/ ProcessorListResultDTO getProcessorList(String agencyId); + + /** + * 获取所属机关单位名称(上级-所属) + * @author zhaoqifeng + * @date 2020/5/22 17:10 + * @param agencyId + * @return java.lang.String + */ + String getAgencyName(String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java index b6b5bd86b0..6691351505 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java @@ -133,4 +133,13 @@ public interface CustomerStaffAgencyService extends BaseService> getSelectableDeptStaffs(CommonDepartmentFormDTO departmentFormDTO); + + /** + * 根据工作人员ID查询相关信息 + * @author zhaoqifeng + * @date 2020/5/22 17:01 + * @param userId + * @return com.epmet.dto.CustomerStaffAgencyDTO + */ + CustomerStaffAgencyDTO getInfoByUserId(String userId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java index d30549e58f..22f423738a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java @@ -82,4 +82,13 @@ public interface StaffService { */ Result disabledStaff(TokenDto tokenDto, StaffInfoFromDTO fromDTO); + /** + * 我的基本信息 + * @author zhaoqifeng + * @date 2020/5/22 16:57 + * @param fromDTO + * @return com.epmet.dto.result.MineResultDTO + */ + MineResultDTO mine(StaffInfoFromDTO fromDTO); + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 91770baa09..f1684fecb7 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -606,6 +606,11 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl>().ok(new ArrayList<>()); } + @Override + public CustomerStaffAgencyDTO getInfoByUserId(String userId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(userId), "USER_ID", userId); + CustomerStaffAgencyEntity entity = baseDao.selectList(wrapper).get(NumConstant.ZERO); + return ConvertUtils.sourceToTarget(entity, CustomerStaffAgencyDTO.class); + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java index aa3d328a57..32ec8df9ab 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java @@ -157,4 +157,21 @@ public class StaffServiceImpl implements StaffService { } return epmetUserFeignClient.disabledStaff(fromDTO); } + + @Override + public MineResultDTO mine(StaffInfoFromDTO fromDTO) { + MineResultDTO result = new MineResultDTO(); + CustomerStaffAgencyDTO customerStaffAgency = customerStaffAgencyService.getInfoByUserId(fromDTO.getStaffId()); + fromDTO.setCustomerId(customerStaffAgency.getCustomerId()); + fromDTO.setAgencyId(customerStaffAgency.getAgencyId()); + StaffDetailResultDTO staffDetail = epmetUserFeignClient.getStaffDetail(fromDTO).getData(); + String agencyName = customerAgencyService.getAgencyName(customerStaffAgency.getAgencyId()); + result.setStaffId(staffDetail.getStaffId()); + result.setRealName(staffDetail.getName()); + result.setStaffHeadPhoto(staffDetail.getHeadPhoto()); + result.setGender(staffDetail.getGender()); + result.setRoleList(staffDetail.getRoles()); + result.setAgencyName(agencyName); + return result; + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 940b3063ac..6b7afa1455 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -143,5 +143,17 @@ AND ca.CUSTOMER_ID = #{customerId} AND ca.DEL_FLAG = 0 + \ No newline at end of file