Browse Source

Merge remote-tracking branch 'origin/dev_staff_info' into dev_staff_info

dev_shibei_match
yinzuomei 4 years ago
parent
commit
376501061f
  1. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java
  2. 26
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java
  3. 19
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallBackFactory.java
  4. 23
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java
  5. 10
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  6. 100
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java
  7. 62
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java
  8. 54
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/StaffOrgsCache.java
  9. 1
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java
  10. 19
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/RoleUsersFormDTO.java
  11. 63
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java
  12. 23
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleListResultDTO.java
  13. 25
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleUsersResultDTO.java
  14. 19
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/OrgDTO.java
  15. 39
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/ReceiverDTO.java
  16. 22
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/ReceiversFormDTO.java
  17. 18
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/SubOrgFormDTO.java
  18. 19
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/ReceiversResultDTO.java
  19. 20
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/SubOrgResultDTO.java
  20. 18
      epmet-module/data-aggregator/data-aggregator-server/pom.xml
  21. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DemoController.java
  22. 43
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java
  23. 18
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java
  24. 40
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java
  25. 18
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java
  26. 32
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java
  27. 25
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java
  28. 46
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  29. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java
  30. 17
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java
  31. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml
  32. 62
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerStaffInfoDTO.java
  33. 54
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/StaffOrgsDTO.java
  34. 75
      epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffInfoRedis.java

4
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java

@ -140,7 +140,7 @@ public interface ServiceConstant {
String EPMET_POINT_SERVER = "epmet-point-server";
/**
* 开放接口服务
* 聚合查询服务
*/
String EPMET_EXT_SERVER = "epmet-ext-server";
String DATA_AGGREGATOR_SERVER = "data-aggregator-server";
}

26
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java

@ -0,0 +1,26 @@
package com.epmet.commons.tools.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.feign.fallback.CommonUserFeignClientFallBackFactory;
import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache;
import com.epmet.commons.tools.utils.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
/**
* @Description
* @Author sun
*/
@FeignClient(name = ServiceConstant.DATA_AGGREGATOR_SERVER, fallbackFactory = CommonUserFeignClientFallBackFactory.class)
public interface CommonUserFeignClient {
/**
* desc:根据工作人员Id 获取工作人员信息
* @param staffId
* @return
*/
@PostMapping("/data/aggregator/epmetuser/getStaffInfo/{staffId}")
Result<CustomerStaffInfoCache> getStaffInfo(@PathVariable("staffId") String staffId);
}

19
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallBackFactory.java

@ -0,0 +1,19 @@
package com.epmet.commons.tools.feign.fallback;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.feign.CommonUserFeignClient;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Component
@Slf4j
public class CommonUserFeignClientFallBackFactory implements FallbackFactory<CommonUserFeignClient> {
private CommonUserFeignClientFallback fallback = new CommonUserFeignClientFallback();
@Override
public CommonUserFeignClient create(Throwable cause) {
log.error(String.format("FeignClient调用发生异常,异常信息:%s", ExceptionUtils.getThrowableErrorStackTrace(cause)));
return fallback;
}
}

23
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java

@ -0,0 +1,23 @@
package com.epmet.commons.tools.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.feign.CommonUserFeignClient;
import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import org.springframework.stereotype.Component;
/**
* 调用政府端权限
* @Author wxz
* @Description
* @Date 2020/4/24 11:17
**/
@Component
public class CommonUserFeignClientFallback implements CommonUserFeignClient {
@Override
public Result<CustomerStaffInfoCache> getStaffInfo(String staffId) {
return ModuleUtils.feignConError(ServiceConstant.DATA_AGGREGATOR_SERVER, "getStaffInfo", staffId);
}
}

10
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java

@ -490,4 +490,14 @@ public class RedisKeys {
public static String getNoRepeatSubmitKey(String key) {
return rootPrefix.concat("no_repeat_submit:").concat(key);
}
/**
* desc根据工作人员Id 获取工作人员缓存key
* @param customerId
* @param staffId
* @return
*/
public static String getCustomerStaffInfoKey(String customerId, String staffId) {
return rootPrefix.concat(customerId).concat(StrConstant.COLON).concat(staffId);
}
}

100
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java

@ -0,0 +1,100 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.commons.tools.redis.common;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.feign.CommonUserFeignClient;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Map;
import static com.epmet.commons.tools.redis.RedisUtils.NOT_EXPIRE;
/**
* 工作人员缓存
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-04-22
*/
@Component
public class CustomerStaffRedis {
@Autowired
private RedisUtils redisUtils;
@Autowired
private CommonUserFeignClient commonUserFeignClient;
//@PostConstruct
public void init(){
CustomerStaffInfoCache role = this.getRole("45687aa479955f9d06204d415238f7cc", "9e37adcce6472152e6508a19d3683e02");
System.out.println(JSON.toJSONString(role));
}
/**
* @Description 查询工作人员的角色
* @Param customerId
* @Param userId
* @author zxc
* @date 2021/6/15 3:20 下午
*/
public CustomerStaffInfoCache getRole(String customerId, String staffId){
String key = RedisKeys.getCustomerStaffInfoKey(customerId,staffId);
Map<String, Object> roleMap = redisUtils.hGetAll(key);
boolean empty = roleMap.isEmpty();
if (!empty){
CustomerStaffInfoCache result = ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoCache.class);
return result;
}
try {
Result<CustomerStaffInfoCache> staffResult = commonUserFeignClient.getStaffInfo(staffId);
if (staffResult == null || !staffResult.success()){
throw new RenException("获取工作人员信息失败");
}
if (staffResult.getData() == null){
return null;
}
Map<String, Object> map = BeanUtil.beanToMap(staffResult.getData(), false, true);
redisUtils.hMSet(key,map);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* @Description 放入缓存角色
* @Param customerId
* @Param userId
* @Param dto
* @author zxc
* @date 2021/6/15 4:01 下午
*/
public void setRole(String customerId, String staffId, CustomerStaffInfoCache dto){
String key = RedisKeys.getCustomerStaffInfoKey(customerId,staffId);
Map<String, Object> map = BeanUtil.beanToMap(dto, false, true);
redisUtils.hMSet(key, map,NOT_EXPIRE);
}
}

62
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java

@ -0,0 +1,62 @@
package com.epmet.commons.tools.redis.common.bean;
import lombok.Data;
import java.io.Serializable;
import java.util.Map;
/**
* @Author zxc
* @DateTime 2021/6/15 10:00 上午
* @DESC
*/
@Data
public class CustomerStaffInfoCache implements Serializable {
private static final long serialVersionUID = -4078910245000135305L;
/**
* 工作人员所属组织ID
*/
private String agencyId;
/**
* 工作人员所属组织名称
*/
private String agencyName;
/**
* 工作人员ID
*/
private String staffId;
/**
* 真实姓名
*/
private String realName;
/**
* 性别0.未知1男2.
*/
private Integer gender;
/**
* 手机号-唯一键
*/
private String mobile;
/**
* 头像
*/
private String headPhoto;
/**
* 角色map key为角色key value 为角色名称
*/
private Map<String,String> roleMap;
/**
* 工作人员所在网格及部门列表
*/
private StaffOrgsCache orgInfo;
}

54
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/StaffOrgsCache.java

@ -0,0 +1,54 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.commons.tools.redis.common.bean;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* desc: 工作人员所属的组织关系
* @date 2021/8/19 10:07 上午
*/
@Data
public class StaffOrgsCache implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 所属组织的上级组织
*/
private IdAndName parentAgency;
/**
* 所属网格列表
*/
private List<IdAndName> gridList;
/**
* 所属部门
*/
private List<IdAndName> deptList;
@Data
class IdAndName {
private String id;
private String name;
}
}

1
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java

@ -32,4 +32,5 @@ public interface DataSourceConstant {
String EVALUATION_INDEX = "evaluationIndex";
String OPERCUSTOMIZE="opercustomize";
String EPMET_MESSAGE="epmentmessage";
}

19
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/RoleUsersFormDTO.java

@ -0,0 +1,19 @@
package com.epmet.dataaggre.dto.epmetuser.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Data 2021/8/19 14:06
*/
@Data
public class RoleUsersFormDTO implements Serializable {
private static final long serialVersionUID = -7732382052293191415L;
@NotBlank(message = "角色ID不能为空")
private String roleId;
private String customerId;
}

63
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java

@ -0,0 +1,63 @@
package com.epmet.dataaggre.dto.epmetuser.result;
import com.epmet.commons.tools.redis.common.bean.StaffOrgsCache;
import lombok.Data;
import java.io.Serializable;
import java.util.Map;
/**
* @Author zxc
* @DateTime 2021/6/15 10:00 上午
* @DESC
*/
@Data
public class CustomerStaffResultDTO implements Serializable {
private static final long serialVersionUID = 6989603307304337912L;
/**
* 工作人员所属组织ID
*/
private String agencyId;
/**
* 工作人员所属组织名称
*/
private String agencyName;
/**
* 工作人员ID
*/
private String staffId;
/**
* 真实姓名
*/
private String realName;
/**
* 性别0.未知1男2.
*/
private Integer gender;
/**
* 手机号-唯一键
*/
private String mobile;
/**
* 头像
*/
private String headPhoto;
/**
* 角色map key为角色key value 为角色名称
*/
private Map<String,String> roleMap;
/**
* 工作人员所在网格及部门列表
*/
private StaffOrgsCache orgInfo;
}

23
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleListResultDTO.java

@ -0,0 +1,23 @@
package com.epmet.dataaggre.dto.epmetuser.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2021/8/19 14:16
*/
@NoArgsConstructor
@Data
public class RoleListResultDTO implements Serializable {
private static final long serialVersionUID = -9030492894290373999L;
private String roleId;
private String description;
private String roleName;
private String roleKey;
private Integer staffNum;
}

25
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleUsersResultDTO.java

@ -0,0 +1,25 @@
package com.epmet.dataaggre.dto.epmetuser.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @Author zhaoqifeng
* @Date 2021/8/19 14:06
*/
@NoArgsConstructor
@Data
public class RoleUsersResultDTO implements Serializable {
private static final long serialVersionUID = 7109847663910323991L;
private String staffId;
private String name;
private String headPhoto;
private String orgName;
private String gender;
private List<String> roles;
}

19
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/OrgDTO.java

@ -0,0 +1,19 @@
package com.epmet.dataaggre.dto.govorg;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2021/8/19 14:21
*/
@Data
public class OrgDTO implements Serializable {
private static final long serialVersionUID = -3659371769044867016L;
private String orgId;
private String orgName;
private String orgType;
private Integer staffNum;
}

39
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/ReceiverDTO.java

@ -0,0 +1,39 @@
package com.epmet.dataaggre.dto.govorg;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2021/8/19 14:50
*/
@Data
public class ReceiverDTO implements Serializable {
private static final long serialVersionUID = 7756394210796777416L;
/**
* ID
*/
private String staffId;
/**
* 姓名
*/
private String staffName;
/**
* 头像
*/
private String headPhoto;
/**
* 所属组织目前显示两级
*/
private String orgName;
/**
* 1已读0未读
*/
private String readFlag;
/**
* 1男2女0未知
*/
private String gender;
}

22
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/ReceiversFormDTO.java

@ -0,0 +1,22 @@
package com.epmet.dataaggre.dto.govorg.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @author Administrator
*/
@Data
public class ReceiversFormDTO implements Serializable {
private static final long serialVersionUID = -1588067365064394258L;
@NotBlank(message = "消息ID不能为空")
private String infoId;
private Integer pageNo = 1;
private Integer pageSize = 10;
private String readFlag;
}

18
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/SubOrgFormDTO.java

@ -0,0 +1,18 @@
package com.epmet.dataaggre.dto.govorg.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2021/8/19 14:18
*/
@Data
public class SubOrgFormDTO implements Serializable {
private static final long serialVersionUID = -3651225675593357002L;
@NotBlank(message = "组织ID不能为空")
private String agencyId;
}

19
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/ReceiversResultDTO.java

@ -0,0 +1,19 @@
package com.epmet.dataaggre.dto.govorg.result;
import com.epmet.dataaggre.dto.govorg.ReceiverDTO;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author Administrator
*/
@NoArgsConstructor
@Data
public class ReceiversResultDTO implements Serializable {
private static final long serialVersionUID = 255217078396991037L;
private Integer total;
private List<ReceiverDTO> dataList;
}

20
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/SubOrgResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dataaggre.dto.govorg.result;
import com.epmet.dataaggre.dto.govorg.OrgDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @Author zhaoqifeng
* @Date 2021/8/19 14:20
*/
@Data
public class SubOrgResultDTO implements Serializable {
private static final long serialVersionUID = 3080780461845963616L;
private List<OrgDTO> subAgencyList;
private List<OrgDTO> departmentList;
private List<OrgDTO> gridList;
}

18
epmet-module/data-aggregator/data-aggregator-server/pom.xml

@ -294,6 +294,12 @@
<datasource.druid.opercustomize.username>epmet_oper_customize_user</datasource.druid.opercustomize.username>
<datasource.druid.opercustomize.password>EpmEt-db-UsEr</datasource.druid.opercustomize.password>
<datasource.druid.epmetmessage.url>
<![CDATA[jdbc:mysql://192.168.1.140:3306/epmet_message?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.epmetmessage.url>
<datasource.druid.epmetmessage.username>epmet_message_user</datasource.druid.epmetmessage.username>
<datasource.druid.epmetmessage.password>EpmEt-db-UsEr</datasource.druid.epmetmessage.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>192.168.1.140</spring.redis.host>
@ -395,6 +401,12 @@
<datasource.druid.opercustomize.username>epmet</datasource.druid.opercustomize.username>
<datasource.druid.opercustomize.password>elink@833066</datasource.druid.opercustomize.password>
<datasource.druid.epmetmessage.url>
<![CDATA[jdbc:mysql://rm-m5ef9t617j6o5eup7.mysql.rds.aliyuncs.com:3306/epmet_message?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.epmetmessage.url>
<datasource.druid.epmetmessage.username>epmet</datasource.druid.epmetmessage.username>
<datasource.druid.epmetmessage.password>elink@833066</datasource.druid.epmetmessage.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com</spring.redis.host>
@ -496,6 +508,12 @@
<datasource.druid.opercustomize.username>epmet_oper_customize_user</datasource.druid.opercustomize.username>
<datasource.druid.opercustomize.password>EpmEt-db-UsEr</datasource.druid.opercustomize.password>
<datasource.druid.epmetmessage.url>
<![CDATA[jdbc:mysql://rm-m5e3vzs2637224wj9.mysql.rds.aliyuncs.com:3306/epmet_message?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.epmetmessage.url>
<datasource.druid.epmetmessage.username>epmet_message_user</datasource.druid.epmetmessage.username>
<datasource.druid.epmetmessage.password>EpmEt-db-UsEr</datasource.druid.epmetmessage.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>r-m5ez3n1j0qc3ykq2ut.redis.rds.aliyuncs.com</spring.redis.host>

9
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DemoController.java

@ -1,6 +1,8 @@
package com.epmet.dataaggre.controller;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.dataaggre.service.DemoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -17,7 +19,14 @@ public class DemoController {
@GetMapping("doIt")
public Result doIt() {
demoService.doIt();
CustomerStaffRedis bean = SpringContextUtils.getBean(CustomerStaffRedis.class);
bean.init();
return new Result();
}
}

43
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java

@ -13,10 +13,7 @@ import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.epmetuser.EpmetUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
@ -218,4 +215,42 @@ public class EpmetUserController {
return new Result<List<ListStaffResultDTO>>().ok(epmetUserService.listStaff(formDTO));
}
/**
* @Description 根据角色查询人员列表
* @Param formDTO
* @Return {@link Result<List<RoleUsersResultDTO>>}
* @Author zhaoqifeng
* @Date 2021/8/19 15:05
*/
@PostMapping("roleusers")
public Result<List<RoleUsersResultDTO>> roleUsers(@LoginUser TokenDto tokenDto, @RequestBody RoleUsersFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<List<RoleUsersResultDTO>>().ok(epmetUserService.getRoleUsers(formDTO));
}
/**
* @Description 角色列表(带人数)
* @Param tokenDto
* @Return {@link Result<List<RoleListResultDTO>>}
* @Author zhaoqifeng
* @Date 2021/8/19 15:10
*/
@PostMapping("rolelist")
public Result<List<RoleListResultDTO>> roleList(@LoginUser TokenDto tokenDto) {
return new Result<List<RoleListResultDTO>>().ok(epmetUserService.getRoleList(tokenDto.getCustomerId()));
}
/**
* 根据staffId查询用户基本信息
* remark:
*/
@PostMapping("getStaffInfo/{staffId}")
public Result getStaffInfo(@PathVariable(name = "staffId") String staffId){
return new Result<CustomerStaffResultDTO>().ok(epmetUserService.getStaffInfo(staffId));
}
}

18
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java

@ -9,10 +9,7 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.dto.govorg.form.GridMemberDataAnalysisFromDTO;
import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO;
import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO;
import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO;
import com.epmet.dataaggre.dto.govorg.form.*;
import com.epmet.dataaggre.dto.govorg.result.*;
import com.epmet.dataaggre.enums.GridMemberDataAnalysisEnums;
import com.epmet.dataaggre.service.AggreGridService;
@ -147,4 +144,17 @@ public class GovOrgController {
return new Result<StaffDetailV2FormDTO>().ok(govOrgService.staffDetailV2(formDTO));
}
/**
* @Description 下级组织/部门/网格列表
* @Param formDTO
* @Return {@link Result<SubOrgResultDTO>}
* @Author zhaoqifeng
* @Date 2021/8/19 15:13
*/
@PostMapping("suborg")
public Result<SubOrgResultDTO> subOrg(@RequestBody SubOrgFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return new Result<SubOrgResultDTO>().ok(govOrgService.getSubOrg(formDTO));
}
}

40
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java

@ -0,0 +1,40 @@
package com.epmet.dataaggre.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO;
import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO;
import com.epmet.dataaggre.service.epmetmessage.EpmetMessageService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @Description
* @Author zhaoqifeng
* @Date 2021/8/19 14:45
*/
@RestController
@RequestMapping("info")
public class InfoController {
@Resource
private EpmetMessageService epmetMessageService;
/**
* @Description 已读未读列表
* @Param formDTO
* @Return {@link Result<ReceiversResultDTO>}
* @Author zhaoqifeng
* @Date 2021/8/19 14:49
*/
@PostMapping("receivers")
public Result<ReceiversResultDTO> receivers(@RequestBody ReceiversFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
ReceiversResultDTO result = epmetMessageService.getReceiverList(formDTO);
return new Result<ReceiversResultDTO>().ok(result);
}
}

18
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java

@ -0,0 +1,18 @@
package com.epmet.dataaggre.service.epmetmessage;
import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO;
import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO;
/**
* @author Administrator
*/
public interface EpmetMessageService {
/**
* @Description 获取已读未读人员列表
* @Param formDTO
* @Return {@link ReceiversResultDTO}
* @Author zhaoqifeng
* @Date 2021/8/19 14:56
*/
ReceiversResultDTO getReceiverList(ReceiversFormDTO formDTO);
}

32
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java

@ -0,0 +1,32 @@
package com.epmet.dataaggre.service.epmetmessage.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO;
import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO;
import com.epmet.dataaggre.service.epmetmessage.EpmetMessageService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @Description
* @Author zhaoqifeng
* @Date 2021/8/19 15:23
*/
@Service
@DataSource(DataSourceConstant.EPMET_MESSAGE)
@Slf4j
public class EpmetMessageServiceImpl implements EpmetMessageService {
/**
* @param formDTO
* @Description 获取已读未读人员列表
* @Param formDTO
* @Return {@link ReceiversResultDTO}
* @Author zhaoqifeng
* @Date 2021/8/19 14:56
*/
@Override
public ReceiversResultDTO getReceiverList(ReceiversFormDTO formDTO) {
return null;
}
}

25
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java

@ -100,4 +100,29 @@ public interface EpmetUserService {
* @author sun
*/
List<ListStaffResultDTO> listStaff(ListStaffFormDTO formDTO);
/**
* 根据角色查询人员列表
* @Param formDTO
* @Return {@link List<RoleUsersResultDTO>}
* @Author zhaoqifeng
* @Date 2021/8/19 15:03
*/
List<RoleUsersResultDTO> getRoleUsers(RoleUsersFormDTO formDTO);
/**
* @Description 获取角色列表
* @Param customerId
* @Return {@link List<RoleListResultDTO>}
* @Author zhaoqifeng
* @Date 2021/8/19 15:09
*/
List<RoleListResultDTO> getRoleList(String customerId);
/**
* desc:根据工作人员Id 获取工作人员全部信息
* @param staffId
* @return
*/
CustomerStaffResultDTO getStaffInfo(String staffId);
}

46
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java

@ -1,7 +1,9 @@
package com.epmet.dataaggre.service.epmetuser.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.BadgeConstant;
import com.epmet.dataaggre.constant.DataSourceConstant;
@ -14,6 +16,7 @@ import com.epmet.dataaggre.dto.epmetuser.result.*;
import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO;
import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO;
import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity;
import com.epmet.dataaggre.entity.epmetuser.ResiUserBadgeEntity;
import com.epmet.dataaggre.service.epmetuser.EpmetUserService;
import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService;
@ -432,5 +435,48 @@ public class EpmetUserServiceImpl implements EpmetUserService {
return null;
}
/**
* 根据角色查询人员列表
*
* @param formDTO
* @Param formDTO
* @Return {@link List<RoleUsersResultDTO>}
* @Author zhaoqifeng
* @Date 2021/8/19 15:03
*/
@Override
public List<RoleUsersResultDTO> getRoleUsers(RoleUsersFormDTO formDTO) {
return null;
}
/**
* @param customerId
* @Description 获取角色列表
* @Param customerId
* @Return {@link List<RoleListResultDTO>}
* @Author zhaoqifeng
* @Date 2021/8/19 15:09
*/
@Override
public List<RoleListResultDTO> getRoleList(String customerId) {
return null;
}
@Override
public CustomerStaffResultDTO getStaffInfo(String staffId) {
LambdaQueryWrapper<CustomerStaffEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CustomerStaffEntity::getUserId,staffId)
.eq(CustomerStaffEntity::getDelFlag,NumConstant.ZERO_STR);
CustomerStaffEntity staffEntity = customerStaffDao.selectOne(queryWrapper);
CustomerStaffResultDTO result = ConvertUtils.sourceToTarget(staffEntity, CustomerStaffResultDTO.class);
//1.查询当前人员所属组织及下级所有网格列表数据,供后续封装数据使用
/*List<CustomerGridDTO> list = govOrgService.getGridList(staffId);
if (list.size() < NumConstant.ONE) {
return resultList;
}*/
return result;
}
}

13
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java

@ -3,9 +3,7 @@ package com.epmet.dataaggre.service.govorg;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO;
import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO;
import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO;
import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO;
import com.epmet.dataaggre.dto.govorg.form.*;
import com.epmet.dataaggre.dto.govorg.result.*;
import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO;
@ -96,4 +94,13 @@ public interface GovOrgService {
* @author sun
*/
StaffDetailV2FormDTO staffDetailV2(StaffDetailV2ResultDTO formDTO);
/**
* @Description 下级组织/部门/网格列表
* @Param formDTO
* @Return {@link SubOrgResultDTO}
* @Author zhaoqifeng
* @Date 2021/8/19 15:12
*/
SubOrgResultDTO getSubOrg(SubOrgFormDTO formDTO);
}

17
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java

@ -15,9 +15,7 @@ import com.epmet.dataaggre.dto.epmetuser.result.StaffRoleListResultDTO;
import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO;
import com.epmet.dataaggre.dto.govorg.CustomerGridDTO;
import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO;
import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO;
import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO;
import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO;
import com.epmet.dataaggre.dto.govorg.form.*;
import com.epmet.dataaggre.dto.govorg.result.*;
import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO;
import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity;
@ -394,4 +392,17 @@ public class GovOrgServiceImpl implements GovOrgService {
return null;
}
/**
* @param formDTO
* @Description 下级组织/部门/网格列表
* @Param formDTO
* @Return {@link SubOrgResultDTO}
* @Author zhaoqifeng
* @Date 2021/8/19 15:12
*/
@Override
public SubOrgResultDTO getSubOrg(SubOrgFormDTO formDTO) {
return null;
}
}

5
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml

@ -144,6 +144,11 @@ dynamic:
url: @datasource.druid.opercustomize.url@
username: @datasource.druid.opercustomize.username@
password: @datasource.druid.opercustomize.password@
epmetmessage:
driver-class-name: com.mysql.cj.jdbc.Driver
url: @datasource.druid.epmetmessage.url@
username: @datasource.druid.epmetmessage.username@
password: @datasource.druid.epmetmessage.password@
feign:
hystrix:
enabled: true

62
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerStaffInfoDTO.java

@ -0,0 +1,62 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Map;
/**
* @Author zxc
* @DateTime 2021/6/15 10:00 上午
* @DESC
*/
@Data
public class CustomerStaffInfoDTO implements Serializable {
private static final long serialVersionUID = -4078910245000135305L;
/**
* 工作人员所属组织ID
*/
private String agencyId;
/**
* 工作人员所属组织名称
*/
private String agencyName;
/**
* 工作人员ID
*/
private String staffId;
/**
* 真实姓名
*/
private String realName;
/**
* 性别0.未知1男2.
*/
private Integer gender;
/**
* 手机号-唯一键
*/
private String mobile;
/**
* 头像
*/
private String headPhoto;
/**
* 角色map key为角色key value 为角色名称
*/
private Map<String,String> roleMap;
/**
* 工作人员所在网格及部门列表
*/
private StaffOrgsDTO orgInfo;
}

54
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/StaffOrgsDTO.java

@ -0,0 +1,54 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* desc: 工作人员所属的组织关系
* @date 2021/8/19 10:07 上午
*/
@Data
public class StaffOrgsDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 所属组织的上级组织
*/
private IdAndName parentAgency;
/**
* 所属网格列表
*/
private List<IdAndName> gridList;
/**
* 所属部门
*/
private List<IdAndName> deptList;
@Data
class IdAndName {
private String id;
private String name;
}
}

75
epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffInfoRedis.java

@ -0,0 +1,75 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.redis;
import cn.hutool.core.bean.BeanUtil;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dto.CustomerStaffInfoDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Map;
import static com.epmet.commons.tools.redis.RedisUtils.NOT_EXPIRE;
/**
* 工作人员-角色关系表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-04-22
*/
@Component
public class StaffInfoRedis {
@Autowired
private RedisUtils redisUtils;
/**
* @Description 查询工作人员的角色
* @Param customerId
* @Param userId
* @author zxc
* @date 2021/6/15 3:20 下午
*/
public CustomerStaffInfoDTO getRole(String customerId, String staffId){
String key = RedisKeys.getCustomerStaffInfoKey(customerId,staffId);
Map<String, Object> roleMap = redisUtils.hGetAll(key);
boolean empty = roleMap.isEmpty();
if (!empty){
CustomerStaffInfoDTO result = ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoDTO.class);
return result;
}
return null;
}
/**
* @Description 放入缓存角色
* @Param customerId
* @Param userId
* @Param dto
* @author zxc
* @date 2021/6/15 4:01 下午
*/
public void setRole(String customerId,String staffId,CustomerStaffInfoDTO dto){
String key = RedisKeys.getCustomerStaffInfoKey(customerId,staffId);
Map<String, Object> map = BeanUtil.beanToMap(dto, false, true);
redisUtils.hMSet(key, map,NOT_EXPIRE);
}
}
Loading…
Cancel
Save