743 changed files with 30009 additions and 1035 deletions
@ -0,0 +1,5 @@ |
|||
INSERT INTO `epmet_admin`.`sys_dict_type` (`id`, `dict_type`, `dict_name`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1556509011061993473', 'jmreport_category', '报表应用类别', '居民信息、房屋信息', 32, 0, 0, '1', '2022-08-08 13:14:01', '1', '2022-08-08 13:14:01'); |
|||
|
|||
|
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1556509175185108994', 1556509011061993473, '房屋信息', 'house_info', '0', '', 2, 0, 0, '1', '2022-08-08 13:14:41', '1', '2022-08-08 13:14:41'); |
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1556509102015475714', 1556509011061993473, '居民信息', 'resi_info', '0', '', 1, 0, 0, '1', '2022-08-08 13:14:23', '1', '2022-08-08 13:14:23'); |
@ -0,0 +1,8 @@ |
|||
INSERT INTO `epmet_admin`.`sys_dict_type` (`id`, `dict_type`, `dict_name`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1560458000894500866', 'icpartyact_auto_publish_time', '党组织活动自动发布时间', '党组织活动自动发布时间', 35, 0, 0, '1', '2022-08-19 10:45:54', '1', '2022-08-19 10:46:11'); |
|||
|
|||
|
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1560458233091170305', 1560458000894500866, '活动开始前1天', '1', '0', '活动开始前1天', 1, 0, 0, '1', '2022-08-19 10:46:49', '1', '2022-08-19 10:46:49'); |
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1560458276439302146', 1560458000894500866, '活动开始前3天', '3', '0', '活动开始前3天', 2, 0, 0, '1', '2022-08-19 10:47:00', '1', '2022-08-19 10:47:00'); |
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1560458332076744705', 1560458000894500866, '活动开始前5天', '5', '0', '活动开始前5天', 3, 0, 0, '1', '2022-08-19 10:47:13', '1', '2022-08-19 10:47:13'); |
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1560458388007788545', 1560458000894500866, '活动开始前7天', '7', '0', '活动开始前7天', 4, 0, 0, '1', '2022-08-19 10:47:26', '1', '2022-08-19 10:47:26'); |
|||
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1561627442626142210', 1560458000894500866, '现在发布', '0', '0', '', 5, 0, 0, '1', '2022-08-22 16:12:51', '1', '2022-08-22 16:12:51'); |
@ -0,0 +1,73 @@ |
|||
package com.epmet.dto.dingres; |
|||
|
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Description |
|||
* @Author yzm |
|||
* @Date 2022/9/22 14:16 |
|||
*/ |
|||
@Data |
|||
public class DingUserDetailDTO { |
|||
// 接口文档:https://open.dingtalk.com/document/isvapp-server/query-user-details
|
|||
/** |
|||
* 员工的userId。 |
|||
*/ |
|||
private String userid; |
|||
|
|||
/** |
|||
* 员工在当前开发者企业账号范围内的唯一标识。 |
|||
*/ |
|||
private String unionid; |
|||
|
|||
/** |
|||
* 员工姓名。 |
|||
*/ |
|||
private String name; |
|||
/** |
|||
* 头像。 |
|||
* <p> |
|||
* 说明 员工使用默认头像,不返回该字段,手动设置头像会返回 |
|||
*/ |
|||
private String avatar; |
|||
/** |
|||
* 国际电话区号。 |
|||
* <p> |
|||
* 说明 第三方企业应用不返回该字段;如需获取state_code,可以使用钉钉统一授权套件方式获取。 |
|||
*/ |
|||
private String state_code; |
|||
/** |
|||
* 手机号码。 |
|||
* <p> |
|||
* 说明 |
|||
* 企业内部应用,只有应用开通通讯录邮箱等个人信息权限,才会返回该字段。 |
|||
* 第三方企业应用不返回该字段,如需获取mobile,可以使用钉钉统一授权套件方式获取。 |
|||
*/ |
|||
private String mobile; |
|||
/** |
|||
* 是否号码隐藏: |
|||
* <p> |
|||
* true:隐藏 |
|||
* <p> |
|||
* false:不隐藏 |
|||
* <p> |
|||
* 说明 隐藏手机号后,手机号在个人资料页隐藏,但仍可对其发DING、发起钉钉免费商务电话。 |
|||
*/ |
|||
private String hide_mobile; |
|||
/** |
|||
* 分机号。 |
|||
* <p> |
|||
* 说明 第三方企业应用不返回该参数。 |
|||
*/ |
|||
private String telephone; |
|||
|
|||
/** |
|||
* 员工的企业邮箱。 |
|||
* |
|||
* 如果员工的企业邮箱没有开通,返回信息中不包含该数据。 |
|||
* |
|||
* 说明 第三方企业应用不返回该参数。 |
|||
*/ |
|||
private String org_email; |
|||
} |
|||
|
@ -0,0 +1,54 @@ |
|||
package com.epmet.dto.dingres; |
|||
|
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Description |
|||
* @Author yzm |
|||
* @Date 2022/9/22 14:08 |
|||
*/ |
|||
@Data |
|||
public class V2UserGetuserinfoResDTO { |
|||
// 接口返参:https://open.dingtalk.com/document/orgapp-server/obtain-the-userid-of-a-user-by-using-the-log-free
|
|||
/** |
|||
* 用户的userid。 |
|||
*/ |
|||
private String userid; |
|||
/** |
|||
* 设备ID。 |
|||
*/ |
|||
private String device_id; |
|||
/** |
|||
* 是否是管理员。 |
|||
* <p> |
|||
* true:是 |
|||
* <p> |
|||
* false:不是 |
|||
*/ |
|||
private Boolean sys; |
|||
/** |
|||
* 级别。 |
|||
* <p> |
|||
* 1:主管理员 |
|||
* <p> |
|||
* 2:子管理员 |
|||
* <p> |
|||
* 100:老板 |
|||
* <p> |
|||
* 0:其他(如普通员工) |
|||
*/ |
|||
private Number sys_level; |
|||
/** |
|||
* 用户关联的unionId。 |
|||
*/ |
|||
private String associated_unionid; |
|||
/** |
|||
* 用户unionId。 |
|||
*/ |
|||
private String unionid; |
|||
/** |
|||
* 用户名字。 |
|||
*/ |
|||
private String name; |
|||
} |
|||
|
@ -0,0 +1,41 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
|
|||
/** |
|||
* @Description |
|||
* @Author yzm |
|||
* @Date 2022/9/14 17:11 |
|||
*/ |
|||
@Data |
|||
public class ResiDingAppLoginFormDTO { |
|||
public interface InnerMiniApp {} |
|||
public interface ThirdMiniApp {} |
|||
/** |
|||
* 授权统一后的authCode |
|||
*/ |
|||
@NotBlank(message = "authCode不能为空",groups = InnerMiniApp.class) |
|||
private String authCode; |
|||
// /**
|
|||
// * 第三方企业应用传应用的SuiteKey
|
|||
// */
|
|||
// @NotBlank(message = "clientId不能为空")
|
|||
// private String clientId;
|
|||
/** |
|||
* 第三方企业应用传应用的SuiteKey |
|||
*/ |
|||
@NotBlank(message = "miniAppId不能为空",groups = InnerMiniApp.class) |
|||
private String miniAppId; |
|||
|
|||
// @NotBlank(message = "当前访问用户的企业corpId不能为空")
|
|||
// private String corpId;
|
|||
|
|||
/** |
|||
* third:第三方应用 |
|||
* company_customize:企业定制应用 |
|||
*/ |
|||
private String appType="company_customize"; |
|||
} |
|||
|
@ -0,0 +1,23 @@ |
|||
package com.epmet.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
|
|||
/** |
|||
* @Description |
|||
* @Author yzm |
|||
* @Date 2022/9/22 10:42 |
|||
*/ |
|||
@Data |
|||
public class ResiDingAppLoginMdFormDTO { |
|||
@NotBlank(message = "authCode不能为空") |
|||
private String authCode; |
|||
/** |
|||
* 第三方企业应用传应用的SuiteKey |
|||
*/ |
|||
@NotBlank(message = "miniAppId不能为空") |
|||
private String miniAppId; |
|||
|
|||
} |
|||
|
@ -0,0 +1,42 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Description |
|||
* @Author yzm |
|||
* @Date 2022/9/14 17:20 |
|||
*/ |
|||
@Data |
|||
public class ResiDingAppLoginResDTO { |
|||
private String authorization; |
|||
private String customerId; |
|||
private String gridId; |
|||
/** |
|||
* 网格名 |
|||
*/ |
|||
private String gridName; |
|||
/** |
|||
* 网格所属的组织id |
|||
*/ |
|||
private String agencyId; |
|||
/** |
|||
* 居民端用户id |
|||
*/ |
|||
private String epmetUserId; |
|||
|
|||
/** |
|||
* 5.获取用户手机号。使用用户个人access_token调用获取用户通讯录个人信息接口获取 |
|||
* 返参信息 |
|||
* 接口文档:https://open.dingtalk.com/document/isvapp-server/dingtalk-retrieve-user-information
|
|||
*/ |
|||
private String extInfo; |
|||
|
|||
/** |
|||
* 是否注册居民 |
|||
* true:已注册 |
|||
* false:未注册 |
|||
*/ |
|||
private Boolean regFlag; |
|||
} |
|||
|
@ -0,0 +1,24 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" |
|||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|||
<parent> |
|||
<artifactId>epmet-commons</artifactId> |
|||
<groupId>com.epmet</groupId> |
|||
<version>2.0.0</version> |
|||
<!--<relativePath>../../pom.xml</relativePath>--> |
|||
</parent> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
<packaging>jar</packaging> |
|||
|
|||
<artifactId>epmet-commons-feignclient</artifactId> |
|||
|
|||
<dependencies> |
|||
<dependency> |
|||
<groupId>com.epmet</groupId> |
|||
<artifactId>epmet-commons-tools</artifactId> |
|||
<version>2.0.0</version> |
|||
</dependency> |
|||
</dependencies> |
|||
|
|||
</project> |
@ -0,0 +1,22 @@ |
|||
package com.epmet.commons.feignclient.dtos; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 积木报表的返回值Page对象 |
|||
* @param <T> |
|||
*/ |
|||
@Data |
|||
@NoArgsConstructor |
|||
@AllArgsConstructor |
|||
public class JiMuPage<T> { |
|||
private int pageNo; |
|||
private int pageSize; |
|||
private int total; |
|||
private int pages; |
|||
private List<?> records; |
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.epmet.commons.feignclient.dtos; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
/** |
|||
* 积木报表的返回值Result对象 |
|||
* @param <T> |
|||
*/ |
|||
@Data |
|||
@NoArgsConstructor |
|||
@AllArgsConstructor |
|||
public class JiMuResult<T> { |
|||
private boolean success = true; |
|||
private String message = ""; |
|||
private Integer code = 0; |
|||
private T result; |
|||
private T data; |
|||
} |
@ -0,0 +1,33 @@ |
|||
package com.epmet.commons.feignclient.dtos.form; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2022/8/8 15:08 |
|||
* @DESC |
|||
*/ |
|||
@Data |
|||
@NoArgsConstructor |
|||
@AllArgsConstructor |
|||
public class JiMuReportFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 3590609549416867701L; |
|||
|
|||
/** |
|||
* 报表IDs |
|||
*/ |
|||
private List<String> reportIds; |
|||
|
|||
/** |
|||
* 类别 |
|||
*/ |
|||
private List<String> categoryKeys; |
|||
|
|||
private String id; |
|||
} |
@ -0,0 +1,27 @@ |
|||
package com.epmet.commons.feignclient.dtos.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* 批量导出用的requst dto |
|||
*/ |
|||
@Data |
|||
public class JimuReportExportRequestDTO { |
|||
private String excelConfigId; |
|||
private ExportRequestQueryParam queryParam = new ExportRequestQueryParam(); |
|||
|
|||
/** |
|||
* 批量导出用的请求参数 |
|||
*/ |
|||
@Data |
|||
public static class ExportRequestQueryParam { |
|||
private String id; |
|||
private String token; |
|||
private String paramKey; |
|||
private String pageNo; |
|||
private Integer pageSize; |
|||
private String currentPageNo; |
|||
private Integer currentPageSize; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,17 @@ |
|||
package com.epmet.commons.feignclient.dtos.result; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
/** |
|||
* 报表简要信息result dto |
|||
*/ |
|||
@Data |
|||
@NoArgsConstructor |
|||
@AllArgsConstructor |
|||
public class JiMuReportBriefResultDTO { |
|||
private String id; |
|||
private String code; |
|||
private String name; |
|||
} |
@ -0,0 +1,31 @@ |
|||
package com.epmet.commons.feignclient.dtos.result; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
import java.util.Date; |
|||
import java.util.Map; |
|||
|
|||
@Data |
|||
@AllArgsConstructor |
|||
@NoArgsConstructor |
|||
public class JiMuReportDetailResultDTO { |
|||
private String id; |
|||
private String code; |
|||
private String name; |
|||
private String note; |
|||
private String status; |
|||
private String type; |
|||
private String jsonStr; |
|||
private String apiUrl; |
|||
private String apiMethod; |
|||
private String apiCode; |
|||
private String thumb; |
|||
private Integer template; |
|||
private String createBy; |
|||
private Date createTime; |
|||
private String updateBy; |
|||
private Date updateTime; |
|||
private Map<String, Object> dataList; |
|||
} |
@ -0,0 +1,26 @@ |
|||
package com.epmet.commons.feignclient.dtos.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2022/8/8 15:10 |
|||
* @DESC |
|||
*/ |
|||
@Data |
|||
public class JiMuReportResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = -4048477731892329569L; |
|||
|
|||
private String code; |
|||
|
|||
private String name; |
|||
|
|||
private String id; |
|||
private String reportId; |
|||
private String reportName; |
|||
|
|||
private Boolean isList = false; |
|||
} |
@ -0,0 +1,18 @@ |
|||
package com.epmet.commons.feignclient.dtos.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
public class JimuReportDbDataResultDTO { |
|||
|
|||
private ReportDB reportDb; |
|||
|
|||
@Data |
|||
public static class ReportDB { |
|||
private String apiUrl; |
|||
private String apiMethod; |
|||
private String isList; |
|||
private String dbChName; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,26 @@ |
|||
package com.epmet.commons.feignclient.dtos.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 积木报表,报表字段列表 |
|||
*/ |
|||
@Data |
|||
public class JimuReportFieldTreeResultDTO { |
|||
|
|||
private Boolean expand; |
|||
private String code; |
|||
private List<Child> children; |
|||
private String dbId; |
|||
private String type; |
|||
private String isList; |
|||
|
|||
@Data |
|||
public static class Child { |
|||
private Boolean expand; |
|||
private String title; |
|||
private String fieldText; |
|||
} |
|||
} |
@ -0,0 +1,55 @@ |
|||
package com.epmet.commons.feignclient.feigns; |
|||
|
|||
import com.epmet.commons.feignclient.dtos.JiMuPage; |
|||
import com.epmet.commons.feignclient.dtos.JiMuResult; |
|||
import com.epmet.commons.feignclient.dtos.form.JimuReportExportRequestDTO; |
|||
import com.epmet.commons.feignclient.dtos.result.JiMuReportBriefResultDTO; |
|||
import com.epmet.commons.feignclient.dtos.result.JiMuReportDetailResultDTO; |
|||
import com.epmet.commons.feignclient.dtos.result.JimuReportDbDataResultDTO; |
|||
import com.epmet.commons.feignclient.dtos.result.JimuReportFieldTreeResultDTO; |
|||
import com.epmet.commons.feignclient.feigns.fallback.JiMuReportOpenFeignClientFallbackFactory; |
|||
import com.epmet.commons.tools.constant.ServiceConstant; |
|||
import feign.Response; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.util.MultiValueMap; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2022/8/8 13:52 |
|||
* @DESC |
|||
*/ |
|||
@FeignClient(name = ServiceConstant.EPMET_JM_REPORT, fallbackFactory = JiMuReportOpenFeignClientFallbackFactory.class) |
|||
//@FeignClient(name = ServiceConstant.EPMET_JM_REPORT, fallbackFactory = JiMuReportOpenFeignClientFallbackFactory.class, url = "localhost:8118")
|
|||
public interface JiMuReportOpenFeignClient { |
|||
|
|||
@GetMapping(value = "jmreport/excelQuery") |
|||
JiMuResult<JiMuPage<JiMuReportDetailResultDTO>> getList(@RequestParam("pageNo") Integer pageNo, |
|||
@RequestParam("pageSize") Integer pageSize, |
|||
@RequestParam("name") String name, |
|||
@RequestParam("reportType") String reportType, |
|||
@RequestParam("token") String token, |
|||
@RequestHeader MultiValueMap<String, String> headers); |
|||
|
|||
@GetMapping("jmreport/show") |
|||
JiMuResult<Map<String,Object>> getReport(@RequestParam("id") String id,@RequestParam("apiUrl") String apiUrl,@RequestParam("params") String params,@RequestHeader MultiValueMap<String, String> headers); |
|||
|
|||
@GetMapping("/jmreport/field/tree/{report-id}") |
|||
JiMuResult<List<List<JimuReportFieldTreeResultDTO>>> fieldTree(@PathVariable("report-id") String reportId); |
|||
|
|||
@GetMapping("jmreport/loadDbData/{report-id}") |
|||
JiMuResult<JimuReportDbDataResultDTO> loadDbData(@PathVariable("report-id") String reportId); |
|||
|
|||
@PostMapping("jmreport/exportAllExcelStream") |
|||
Response exportAllExcelStream(JimuReportExportRequestDTO param); |
|||
|
|||
/** |
|||
* 报表简要信息 |
|||
* @return |
|||
*/ |
|||
@GetMapping("jmreport/get/{report-id}") |
|||
JiMuResult<JiMuReportBriefResultDTO> getReportBrief(@PathVariable("report-id") String reportId); |
|||
} |
@ -0,0 +1,58 @@ |
|||
package com.epmet.commons.feignclient.feigns.fallback; |
|||
|
|||
import com.epmet.commons.feignclient.dtos.JiMuPage; |
|||
import com.epmet.commons.feignclient.dtos.JiMuResult; |
|||
import com.epmet.commons.feignclient.dtos.form.JimuReportExportRequestDTO; |
|||
import com.epmet.commons.feignclient.dtos.result.JiMuReportBriefResultDTO; |
|||
import com.epmet.commons.feignclient.dtos.result.JiMuReportDetailResultDTO; |
|||
import com.epmet.commons.feignclient.dtos.result.JimuReportDbDataResultDTO; |
|||
import com.epmet.commons.feignclient.dtos.result.JimuReportFieldTreeResultDTO; |
|||
import com.epmet.commons.feignclient.feigns.JiMuReportOpenFeignClient; |
|||
import feign.Response; |
|||
import org.springframework.util.MultiValueMap; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2022/8/8 13:53 |
|||
* @DESC |
|||
*/ |
|||
public class JiMuReportOpenFeignClientFallback implements JiMuReportOpenFeignClient { |
|||
|
|||
@Override |
|||
public JiMuResult<JiMuPage<JiMuReportDetailResultDTO>> getList(Integer pageNo, Integer pageSize, String name, String reportType, String token, MultiValueMap<String, String> headers) { |
|||
JiMuResult<JiMuPage<JiMuReportDetailResultDTO>> rst = new JiMuResult<>(false, "请求失败", 200, null,null); |
|||
return rst; |
|||
} |
|||
|
|||
@Override |
|||
public JiMuResult<Map<String,Object>> getReport(String id,String apiUrl,String params,MultiValueMap<String, String> headers) { |
|||
JiMuResult<Map<String,Object>> rst = new JiMuResult<>(false, "请求失败", 200, null,null); |
|||
return rst; |
|||
} |
|||
|
|||
@Override |
|||
public JiMuResult<JimuReportDbDataResultDTO> loadDbData(String reportId) { |
|||
JiMuResult<JimuReportDbDataResultDTO> rst = new JiMuResult<>(false, "请求失败", 200, null,null); |
|||
return rst; |
|||
} |
|||
|
|||
@Override |
|||
public Response exportAllExcelStream(JimuReportExportRequestDTO param) { |
|||
return null; |
|||
} |
|||
|
|||
@Override |
|||
public JiMuResult<List<List<JimuReportFieldTreeResultDTO>>> fieldTree(String reportId) { |
|||
JiMuResult rst = new JiMuResult<>(false, "请求失败", 200, null,null); |
|||
return rst; |
|||
} |
|||
|
|||
@Override |
|||
public JiMuResult<JiMuReportBriefResultDTO> getReportBrief(String reportID) { |
|||
JiMuResult rst = new JiMuResult<>(false, "请求失败", 200, null,null); |
|||
return rst; |
|||
} |
|||
} |
@ -0,0 +1,24 @@ |
|||
package com.epmet.commons.feignclient.feigns.fallback; |
|||
|
|||
import com.epmet.commons.tools.exception.ExceptionUtils; |
|||
import feign.hystrix.FallbackFactory; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2022/8/9 13:27 |
|||
* @DESC |
|||
*/ |
|||
@Slf4j |
|||
@Component |
|||
public class JiMuReportOpenFeignClientFallbackFactory implements FallbackFactory<JiMuReportOpenFeignClientFallback> { |
|||
|
|||
private JiMuReportOpenFeignClientFallback fallback = new JiMuReportOpenFeignClientFallback(); |
|||
|
|||
@Override |
|||
public JiMuReportOpenFeignClientFallback create(Throwable cause) { |
|||
log.error(String.format("FeignClient调用发生异常,异常信息:%s", ExceptionUtils.getThrowableErrorStackTrace(cause))); |
|||
return fallback; |
|||
} |
|||
} |
@ -0,0 +1,23 @@ |
|||
package com.epmet.commons.rocketmq.messages; |
|||
|
|||
import com.epmet.commons.tools.dto.form.mq.MqBaseFormDTO; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 党建小助手发布活动、活动到期提醒、活动发布提醒推送MQ |
|||
* @author sun |
|||
*/ |
|||
@Data |
|||
public class PartyMeetingMessageMQMsg extends MqBaseFormDTO implements Serializable { |
|||
|
|||
//客户Id
|
|||
private String customerId; |
|||
//活动/日程Id
|
|||
private String icPartyActId; |
|||
//动作类型 发布活动:publish 提前提醒:remind 日程通知:notify
|
|||
private String type; |
|||
|
|||
} |
@ -0,0 +1,13 @@ |
|||
package com.epmet.commons.tools.annotation; |
|||
|
|||
import java.lang.annotation.*; |
|||
|
|||
/** |
|||
* 标记一个接口,它会被报表服务所调用 |
|||
*/ |
|||
@Target(ElementType.METHOD) |
|||
@Retention(RetentionPolicy.RUNTIME) |
|||
@Documented |
|||
public @interface ReportRequest { |
|||
|
|||
} |
@ -0,0 +1,86 @@ |
|||
package com.epmet.commons.tools.aspect; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import cn.hutool.core.bean.copier.CopyOptions; |
|||
import com.epmet.commons.tools.exception.EpmetErrorCode; |
|||
import com.epmet.commons.tools.exception.EpmetException; |
|||
import com.epmet.commons.tools.redis.RedisUtils; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.aspectj.lang.JoinPoint; |
|||
import org.aspectj.lang.annotation.Aspect; |
|||
import org.aspectj.lang.annotation.Before; |
|||
import org.aspectj.lang.reflect.MethodSignature; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.core.annotation.Order; |
|||
import org.springframework.stereotype.Component; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.context.request.RequestAttributes; |
|||
import org.springframework.web.context.request.RequestContextHolder; |
|||
import org.springframework.web.context.request.ServletRequestAttributes; |
|||
|
|||
import java.lang.reflect.Parameter; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 需要被报表服务请求的api,需要加上这个注解 |
|||
* 1.该注解会取url中固定的key,去redis获取参数,给入参dto复制 |
|||
*/ |
|||
@Aspect |
|||
@Component |
|||
@Order(20) |
|||
@Slf4j |
|||
public class ReportRequestAspect { |
|||
|
|||
/** |
|||
* 从redis中取参数用 |
|||
*/ |
|||
public static final String REPORT_REDIS_KEY = "paramKey"; |
|||
|
|||
@Autowired |
|||
private RedisUtils redisUtils; |
|||
|
|||
@Before("@annotation(com.epmet.commons.tools.annotation.ReportRequest)") |
|||
public void before(JoinPoint point) { |
|||
RequestAttributes ra = RequestContextHolder.getRequestAttributes(); |
|||
ServletRequestAttributes sra = (ServletRequestAttributes) ra; |
|||
String paramKey = sra.getRequest().getParameter(REPORT_REDIS_KEY); |
|||
if (StringUtils.isBlank(paramKey)) { |
|||
// 没有携带key参数,直接跳过
|
|||
return; |
|||
} |
|||
|
|||
Map<String, Object> cachedParams = redisUtils.hGetAll(paramKey); |
|||
if (cachedParams == null || cachedParams.size() == 0) { |
|||
log.warn("【报表服务】根据paramKey:{}未获取到有效的参数缓存。", paramKey); |
|||
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "参数失效", "参数失效"); |
|||
// redis中没有此参数
|
|||
} |
|||
|
|||
// 使用方法签名获取出参数class列表
|
|||
Object[] args = point.getArgs(); |
|||
MethodSignature signature = (MethodSignature) point.getSignature(); |
|||
Parameter[] parameters = signature.getMethod().getParameters(); |
|||
fillArgsToRequestBody(args, cachedParams, parameters); |
|||
} |
|||
|
|||
/** |
|||
* 将redis中取出的参数,赋值到指定的入参dto上 |
|||
* @param args |
|||
* @param storedParams |
|||
*/ |
|||
private void fillArgsToRequestBody(Object[] args, Map<String, Object> storedParams, Parameter[] parameters) { |
|||
for (int i = 0; i < args.length; i++) { |
|||
Object arg = args[i]; |
|||
RequestBody requestBodyAnno = parameters[i].getAnnotation(RequestBody.class); |
|||
if (arg != null && requestBodyAnno != null) { |
|||
Object argBean = BeanUtil.mapToBean(storedParams, arg.getClass(), true); |
|||
|
|||
// "pageSize", "pageNo", "isPage"三个属性不从redis拷贝,而是取传递雇来的
|
|||
// redis里面的字段如果是null,则不会赋值给arg
|
|||
BeanUtil.copyProperties(argBean, arg, new CopyOptions(null, true, "pageSize", "pageNo", "isPage")); |
|||
return; |
|||
} |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,26 @@ |
|||
package com.epmet.commons.tools.dto.form; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2022/9/15 10:25 |
|||
* @DESC |
|||
*/ |
|||
@Data |
|||
@NoArgsConstructor |
|||
@AllArgsConstructor |
|||
public class DingMiniInfoFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 2661531490851265637L; |
|||
|
|||
public interface DingMiniInfoForm{} |
|||
|
|||
@NotBlank(message = "miniAppId不能为空",groups = DingMiniInfoForm.class) |
|||
private String miniAppId; |
|||
} |
@ -0,0 +1,24 @@ |
|||
package com.epmet.commons.tools.dto.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
|
|||
@Data |
|||
public class HasOperPermissionFormDTO { |
|||
|
|||
/** |
|||
* uri |
|||
*/ |
|||
@NotBlank(message = "uri不能为空") |
|||
private String uri; |
|||
|
|||
/** |
|||
* http方法 |
|||
*/ |
|||
@NotBlank(message = "请求http方法不能为空") |
|||
private String method; |
|||
|
|||
@NotBlank(message = "操作者ID不能为空") |
|||
private String operId; |
|||
} |
@ -0,0 +1,13 @@ |
|||
package com.epmet.commons.tools.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
public class OperResouce { |
|||
|
|||
private String userId; |
|||
private String resourceUrl; |
|||
private String ResourceMethod; |
|||
|
|||
|
|||
} |
@ -0,0 +1,22 @@ |
|||
package com.epmet.commons.tools.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
|
|||
/** |
|||
* @Description |
|||
* @Author yzm |
|||
* @Date 2022/9/26 17:04 |
|||
*/ |
|||
@Data |
|||
public class YtHsjcResDTO { |
|||
private int code = 200; |
|||
private String msg = "请求成功"; |
|||
/** |
|||
* 响应数据 |
|||
*/ |
|||
private List<YtHsjcResDetailDTO> data; |
|||
private int total; |
|||
} |
@ -0,0 +1,48 @@ |
|||
package com.epmet.commons.tools.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Description |
|||
* @Author yzm |
|||
* @Date 2022/9/26 17:10 |
|||
*/ |
|||
@Data |
|||
public class YtHsjcResDetailDTO { |
|||
private String id; |
|||
private String name; |
|||
private String card_no; |
|||
private String telephone; |
|||
private String address; |
|||
private String test_time; |
|||
private String depart_name; |
|||
private String county; |
|||
private String upload_time; |
|||
private String sample_result_pcr; |
|||
private String sample_time; |
|||
private String sampling_org_pcr; |
|||
|
|||
/* { |
|||
"code":"200", |
|||
"msg":"请求成功", |
|||
"data":[ |
|||
{ |
|||
"id":"6a31eb2d38c011eda054fa163ebc7ff4", |
|||
"name":"杨冠中",// 姓名
|
|||
"card_no":"372527198404130813",// 证件号码
|
|||
"telephone":"13697890860",// 电话
|
|||
"address":"保利香榭里公馆18-1-302",// 联系地址
|
|||
"test_time":"2022-09-20 12:52:28",// 检测时间
|
|||
"depart_name":"天仁医学检验实验室有限公司",// varchar
|
|||
"county":"莱山区",// 所属区县
|
|||
"upload_time":"2022-09-20 21:23:10",// 时间戳
|
|||
"sample_result_pcr":"2",// 核酸检测结果 1:阳性,2:阴性
|
|||
"sample_time":"2022-09-20 06:48:28",// 采样时间
|
|||
"sampling_org_pcr":"采样点327"// 核酸采样机构
|
|||
}, |
|||
] |
|||
"total":1 |
|||
} |
|||
*/ |
|||
} |
|||
|
@ -0,0 +1,79 @@ |
|||
package com.epmet.commons.tools.enums; |
|||
|
|||
/** |
|||
* @Description |
|||
* @Author yzm |
|||
* @Date 2022/9/14 19:11 |
|||
*/ |
|||
public enum DingMiniAppEnum { |
|||
// 亿联云盘CorpId:dingd1e19e397c754c7735c2f4657eb6378f
|
|||
//
|
|||
// //各应用秘钥
|
|||
// 随手拍
|
|||
// SuiteId:27501006
|
|||
// AppId:119450
|
|||
// MiniAppId:5000000002934668
|
|||
// SuiteKey:suitew6ccvkquinmrghqy
|
|||
// SuiteSecret:TooAxiegdsE5BPP6xo1AxK1LdmaUoMpPMyomOcGcBSXtnsxRc8dEfyOlG56oSmEB
|
|||
//
|
|||
// 随时讲
|
|||
// SuiteId:27564007
|
|||
// AppId:119451
|
|||
// MiniAppId:5000000002934374
|
|||
// SuiteKey:suitezhyj12glsrp8em0f
|
|||
// SuiteSecret:-z5Q_lvMP6l7fTzlArEzUT8D_-5pvqBQaJMuTGHoXnz0nuiqGQMZ8aeya_cxTsN-
|
|||
//
|
|||
// 我的报事
|
|||
// SuiteId:27569006
|
|||
// AppId:119452
|
|||
// MiniAppId:5000000002934456
|
|||
// SuiteKey:suite5yxliro6wawv514w
|
|||
// SuiteSecret:aQxiPi7DwJSUa9HlbUU_L7Q4wGCLEDmgf__Ffx75cTn3jZwuHy9vdl-9Iv5FeyJU
|
|||
//
|
|||
// 实时动态
|
|||
// SuiteId:27458011
|
|||
// AppId:119453
|
|||
// MiniAppId:5000000002934488
|
|||
// SuiteKey:suitemcestnonr6y0xigc
|
|||
// SuiteSecret:kKCNCkfDhmLoVnl_wuAiScyDG4776mkTevuSBuiYhHg-Bvz1-vhb_4IA-Km7nK2I
|
|||
SSP("suitew6ccvkquinmrghqy", "随手拍", "TooAxiegdsE5BPP6xo1AxK1LdmaUoMpPMyomOcGcBSXtnsxRc8dEfyOlG56oSmEB"), |
|||
SSJ("suitezhyj12glsrp8em0f", "随时讲", "-z5Q_lvMP6l7fTzlArEzUT8D_-5pvqBQaJMuTGHoXnz0nuiqGQMZ8aeya_cxTsN-"), |
|||
MY_REPORT_EVENT("suite5yxliro6wawv514w", "我的报事", "aQxiPi7DwJSUa9HlbUU_L7Q4wGCLEDmgf__Ffx75cTn3jZwuHy9vdl-9Iv5FeyJU"), |
|||
SSDT("suitemcestnonr6y0xigc", "实时动态", "kKCNCkfDhmLoVnl_wuAiScyDG4776mkTevuSBuiYhHg-Bvz1-vhb_4IA-Km7nK2I"); |
|||
|
|||
private String suiteKey; |
|||
private String name; |
|||
private String suiteSecret; |
|||
|
|||
|
|||
DingMiniAppEnum(String suiteKey, String name, String suiteSecret) { |
|||
this.suiteKey = suiteKey; |
|||
this.name = name; |
|||
this.suiteSecret = suiteSecret; |
|||
} |
|||
|
|||
public static DingMiniAppEnum getEnum(String suiteKey) { |
|||
DingMiniAppEnum[] values = DingMiniAppEnum.values(); |
|||
for (DingMiniAppEnum value : values) { |
|||
if (value.getSuiteKey().equals(suiteKey)) { |
|||
return value; |
|||
} |
|||
} |
|||
return null; |
|||
} |
|||
|
|||
|
|||
public String getSuiteKey() { |
|||
return suiteKey; |
|||
} |
|||
|
|||
public String getName() { |
|||
return name; |
|||
} |
|||
|
|||
public String getSuiteSecret() { |
|||
return suiteSecret; |
|||
} |
|||
|
|||
} |
|||
|
@ -0,0 +1,27 @@ |
|||
package com.epmet.commons.tools.enums; |
|||
|
|||
/** |
|||
* 唯一整件类型 |
|||
*/ |
|||
public enum IdCardTypeEnum { |
|||
|
|||
OTHERS("0", "其他"), |
|||
SFZH("1", "身份证号"), |
|||
PASSPORT("2", "护照"); |
|||
|
|||
private String type; |
|||
private String name; |
|||
|
|||
IdCardTypeEnum(String type, String name) { |
|||
this.type = type; |
|||
this.name = name; |
|||
} |
|||
|
|||
public String getType() { |
|||
return type; |
|||
} |
|||
|
|||
public String getName() { |
|||
return name; |
|||
} |
|||
} |
@ -0,0 +1,46 @@ |
|||
package com.epmet.commons.tools.feign; |
|||
|
|||
import com.epmet.commons.tools.constant.ServiceConstant; |
|||
import com.epmet.commons.tools.dto.form.HasOperPermissionFormDTO; |
|||
import com.epmet.commons.tools.dto.result.OperResouce; |
|||
import com.epmet.commons.tools.feign.fallback.CommonOperAccessOpenFeignClientFallbackFactory; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Description 运营端权限模块 |
|||
* @Author yinzuomei |
|||
* @Date 2020/5/21 15:17 本服务对外开放的API,其他服务通过引用此client调用该服务 |
|||
*/ |
|||
@FeignClient(name = ServiceConstant.OPER_ACCESS_SERVER, fallbackFactory = CommonOperAccessOpenFeignClientFallbackFactory.class) |
|||
//@FeignClient(name = ServiceConstant.OPER_ACCESS_SERVER, fallbackFactory = CommonOperAccessOpenFeignClientFallbackFactory.class, url = "http://localhost:8093")
|
|||
public interface CommonOperAccessOpenFeignClient { |
|||
/** |
|||
* @param |
|||
* @return com.epmet.commons.tools.utils.Result |
|||
* @Author yinzuomei |
|||
* @Description 清空运营人员权限信息、菜单信息 |
|||
* @Date 2020/5/21 17:08 |
|||
**/ |
|||
@GetMapping("/oper/access/menu/clearoperuseraccess") |
|||
Result clearOperUserAccess(); |
|||
|
|||
/** |
|||
* 是否有该接口的权限 |
|||
* @return |
|||
*/ |
|||
@PostMapping("/oper/access/menu/hasPermission") |
|||
Result hasOperPermission(@RequestBody HasOperPermissionFormDTO form); |
|||
|
|||
/** |
|||
* 需要验证的菜单资源 |
|||
* @return |
|||
*/ |
|||
@PostMapping("/oper/access/menu/getExamineResourceUrls") |
|||
Result<List<OperResouce>> getExamineResourceUrls(); |
|||
} |
@ -0,0 +1,24 @@ |
|||
package com.epmet.commons.tools.feign; |
|||
|
|||
import com.epmet.commons.tools.constant.ServiceConstant; |
|||
import com.epmet.commons.tools.dto.form.DingMiniInfoFormDTO; |
|||
import com.epmet.commons.tools.feign.fallback.CommonThirdFeignClientFallBackFactory; |
|||
import com.epmet.commons.tools.redis.common.bean.DingMiniInfoCache; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
|
|||
|
|||
/** |
|||
* @Description |
|||
* @Author zxc |
|||
*/ |
|||
@FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallbackFactory = CommonThirdFeignClientFallBackFactory.class) |
|||
// @FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallbackFactory = CommonAggFeignClientFallBackFactory.class,url = "localhost:8110")
|
|||
public interface CommonThirdFeignClient { |
|||
|
|||
@PostMapping("/third/dingTalk/getDingMiniInfo") |
|||
Result<DingMiniInfoCache> getDingMiniInfo(@RequestBody DingMiniInfoFormDTO formDTO); |
|||
|
|||
} |
@ -0,0 +1,35 @@ |
|||
package com.epmet.commons.tools.feign.fallback; |
|||
|
|||
import com.epmet.commons.tools.constant.ServiceConstant; |
|||
import com.epmet.commons.tools.dto.form.HasOperPermissionFormDTO; |
|||
import com.epmet.commons.tools.dto.result.OperResouce; |
|||
import com.epmet.commons.tools.feign.CommonOperAccessOpenFeignClient; |
|||
import com.epmet.commons.tools.utils.ModuleUtils; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Description 运营端权限模块 |
|||
* @Author yinzuomei |
|||
* @Date 2020/5/21 15:47 |
|||
*/ |
|||
//@Component
|
|||
public class CommonOperAccessOpenFeignClientFallback implements CommonOperAccessOpenFeignClient { |
|||
@Override |
|||
public Result clearOperUserAccess() { |
|||
return ModuleUtils.feignConError(ServiceConstant.OPER_ACCESS_SERVER, "clearOperUserAccess"); |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public Result hasOperPermission(HasOperPermissionFormDTO form) { |
|||
return ModuleUtils.feignConError(ServiceConstant.OPER_ACCESS_SERVER, "hasOperPermission"); |
|||
} |
|||
|
|||
@Override |
|||
public Result<List<OperResouce>> getExamineResourceUrls() { |
|||
return ModuleUtils.feignConError(ServiceConstant.OPER_ACCESS_SERVER, "getExamineResourceUrls"); |
|||
} |
|||
} |
|||
|
@ -0,0 +1,19 @@ |
|||
package com.epmet.commons.tools.feign.fallback; |
|||
|
|||
import com.epmet.commons.tools.exception.ExceptionUtils; |
|||
import com.epmet.commons.tools.feign.CommonOperAccessOpenFeignClient; |
|||
import feign.hystrix.FallbackFactory; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
@Component |
|||
@Slf4j |
|||
public class CommonOperAccessOpenFeignClientFallbackFactory implements FallbackFactory<CommonOperAccessOpenFeignClient> { |
|||
private CommonOperAccessOpenFeignClientFallback fallback = new CommonOperAccessOpenFeignClientFallback(); |
|||
|
|||
@Override |
|||
public CommonOperAccessOpenFeignClient create(Throwable cause) { |
|||
log.error(String.format("FeignClient调用发生异常,异常信息:%s", ExceptionUtils.getThrowableErrorStackTrace(cause))); |
|||
return fallback; |
|||
} |
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.epmet.commons.tools.feign.fallback; |
|||
|
|||
import com.epmet.commons.tools.exception.ExceptionUtils; |
|||
import com.epmet.commons.tools.feign.CommonThirdFeignClient; |
|||
import feign.hystrix.FallbackFactory; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
@Component |
|||
@Slf4j |
|||
public class CommonThirdFeignClientFallBackFactory implements FallbackFactory<CommonThirdFeignClient> { |
|||
|
|||
private CommonThirdFeignClientFallback fallback = new CommonThirdFeignClientFallback(); |
|||
|
|||
@Override |
|||
public CommonThirdFeignClient create(Throwable cause) { |
|||
log.error(String.format("FeignClient调用发生异常,异常信息:%s", ExceptionUtils.getThrowableErrorStackTrace(cause))); |
|||
return fallback; |
|||
} |
|||
} |
@ -0,0 +1,24 @@ |
|||
package com.epmet.commons.tools.feign.fallback; |
|||
|
|||
import com.epmet.commons.tools.constant.ServiceConstant; |
|||
import com.epmet.commons.tools.dto.form.DingMiniInfoFormDTO; |
|||
import com.epmet.commons.tools.feign.CommonThirdFeignClient; |
|||
import com.epmet.commons.tools.redis.common.bean.DingMiniInfoCache; |
|||
import com.epmet.commons.tools.utils.ModuleUtils; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* |
|||
* @Author zxc |
|||
* @Description |
|||
* @Date |
|||
**/ |
|||
@Component |
|||
public class CommonThirdFeignClientFallback implements CommonThirdFeignClient { |
|||
|
|||
@Override |
|||
public Result<DingMiniInfoCache> getDingMiniInfo(DingMiniInfoFormDTO formDTO) { |
|||
return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "getDingMiniInfo", formDTO); |
|||
} |
|||
} |
@ -0,0 +1,58 @@ |
|||
package com.epmet.commons.tools.redis.common; |
|||
|
|||
import com.epmet.commons.tools.dto.form.DingMiniInfoFormDTO; |
|||
import com.epmet.commons.tools.exception.EpmetException; |
|||
import com.epmet.commons.tools.feign.CommonThirdFeignClient; |
|||
import com.epmet.commons.tools.redis.RedisKeys; |
|||
import com.epmet.commons.tools.redis.RedisUtils; |
|||
import com.epmet.commons.tools.redis.common.bean.DingMiniInfoCache; |
|||
import com.epmet.commons.tools.utils.ConvertUtils; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Component; |
|||
import org.springframework.util.CollectionUtils; |
|||
|
|||
import javax.annotation.PostConstruct; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2022/9/15 10:01 |
|||
* @DESC |
|||
*/ |
|||
@Slf4j |
|||
@Component |
|||
public class CustomerDingDingRedis { |
|||
|
|||
@Autowired |
|||
private CommonThirdFeignClient thirdFeignClient; |
|||
@Autowired |
|||
private RedisUtils redisUtils; |
|||
|
|||
private static CustomerDingDingRedis customerDingDingRedis; |
|||
|
|||
@PostConstruct |
|||
public void init() { |
|||
customerDingDingRedis = this; |
|||
customerDingDingRedis.thirdFeignClient = this.thirdFeignClient; |
|||
customerDingDingRedis.redisUtils = this.redisUtils; |
|||
} |
|||
|
|||
public static DingMiniInfoCache getDingMiniInfo(String miniAppId){ |
|||
String key = RedisKeys.getDingMiniInfoKey(miniAppId); |
|||
Map<String, Object> miniInfoMap = customerDingDingRedis.redisUtils.hGetAll(key); |
|||
if (!CollectionUtils.isEmpty(miniInfoMap)){ |
|||
return ConvertUtils.mapToEntity(miniInfoMap,DingMiniInfoCache.class); |
|||
} |
|||
Result<DingMiniInfoCache> dingMiniInfoResult = customerDingDingRedis.thirdFeignClient.getDingMiniInfo(new DingMiniInfoFormDTO(miniAppId)); |
|||
if (!dingMiniInfoResult.success()){ |
|||
throw new EpmetException("查询dingMiniInfo失败..."); |
|||
} |
|||
if (null == dingMiniInfoResult.getData()){ |
|||
return null; |
|||
} |
|||
return dingMiniInfoResult.getData(); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,52 @@ |
|||
package com.epmet.commons.tools.redis.common.bean; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @Author zxc |
|||
* @DateTime 2022/9/15 10:11 |
|||
* @DESC |
|||
*/ |
|||
@Data |
|||
public class DingMiniInfoCache implements Serializable { |
|||
|
|||
private static final long serialVersionUID = -6956910978074595334L; |
|||
|
|||
private String id; |
|||
|
|||
/** |
|||
* |
|||
*/ |
|||
private String suiteId; |
|||
|
|||
/** |
|||
* |
|||
*/ |
|||
private String appId; |
|||
|
|||
/** |
|||
* |
|||
*/ |
|||
private String miniAppId; |
|||
|
|||
/** |
|||
* |
|||
*/ |
|||
private String suiteName; |
|||
|
|||
/** |
|||
* |
|||
*/ |
|||
private String suiteKey; |
|||
|
|||
/** |
|||
* |
|||
*/ |
|||
private String suiteSecret; |
|||
|
|||
private String token; |
|||
|
|||
private String aesKey; |
|||
} |
@ -0,0 +1,155 @@ |
|||
package com.epmet.commons.tools.utils; |
|||
|
|||
import com.epmet.commons.tools.enums.IdCardTypeEnum; |
|||
import com.epmet.commons.tools.exception.EpmetException; |
|||
import com.epmet.commons.tools.exception.ExceptionUtils; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
import java.time.DateTimeException; |
|||
import java.time.LocalDate; |
|||
import java.time.Period; |
|||
import java.util.regex.Matcher; |
|||
import java.util.regex.Pattern; |
|||
|
|||
/** |
|||
* 唯一整件正则工具 |
|||
*/ |
|||
public class IdCardRegexUtils { |
|||
|
|||
/** |
|||
* 15位身份证号的正则表达式 |
|||
*/ |
|||
private static final Pattern PATTERN_15_ID = Pattern.compile("^\\d{6}(?<year>\\d{2})(?<month>0[1-9]|1[0-2])(?<day>[0-2][0-9]|3[0-1])\\d{2}(?<sex>\\d)$"); |
|||
/** |
|||
* 18位身份证号的正则表达式 |
|||
*/ |
|||
private static final Pattern PATTERN_18_ID = Pattern.compile("^\\d{6}(?<year>\\d{4})(?<month>0[1-9]|1[0-2])(?<day>[0-2][0-9]|3[0-1])\\d{2}(?<sex>\\d)[0-9a-xA-X]$"); |
|||
|
|||
/** |
|||
* 9位护照 |
|||
*/ |
|||
private static final Pattern PATTERN_9_PASSPORT = Pattern.compile("^[a-zA-Z0-9]{8,9}$"); |
|||
|
|||
private String inputText; |
|||
|
|||
private Matcher matcher; |
|||
|
|||
private IdCardTypeEnum idCardType; |
|||
|
|||
private IdCardRegexUtils(IdCardTypeEnum idCardType, Matcher matcher, String inputText) { |
|||
this.idCardType = idCardType; |
|||
this.matcher = matcher; |
|||
this.inputText = inputText; |
|||
} |
|||
|
|||
/** |
|||
* 正则解析结果 |
|||
*/ |
|||
@Data |
|||
@AllArgsConstructor |
|||
@NoArgsConstructor |
|||
public static class ParsedContent { |
|||
private String birthdayYear; |
|||
private String birthdayMonth; |
|||
private String birthdayDay; |
|||
private String sex; |
|||
private Integer age; |
|||
} |
|||
|
|||
/** |
|||
* desc:校验输入的证件号是否合法 |
|||
* @param input |
|||
* @return |
|||
*/ |
|||
public static boolean validateIdCard(String input){ |
|||
IdCardRegexUtils parse = IdCardRegexUtils.parse(input); |
|||
return parse != null; |
|||
} |
|||
|
|||
/** |
|||
* 解析正则 |
|||
* @param input |
|||
* @return |
|||
*/ |
|||
public static IdCardRegexUtils parse(String input) { |
|||
if (input == null || input.trim().length() == 0) { |
|||
return null; |
|||
} |
|||
|
|||
if (input.length() == 15) { |
|||
Matcher matcher = PATTERN_15_ID.matcher(input); |
|||
if (matcher.matches()) { |
|||
return new IdCardRegexUtils(IdCardTypeEnum.SFZH, matcher, input); |
|||
} |
|||
} |
|||
|
|||
if (input.length() == 18) { |
|||
Matcher matcher = PATTERN_18_ID.matcher(input); |
|||
if (matcher.matches()) { |
|||
return new IdCardRegexUtils(IdCardTypeEnum.SFZH, matcher, input); |
|||
} |
|||
} |
|||
|
|||
if (input.length() == 9 || input.length() == 8) { |
|||
Matcher matcher = PATTERN_9_PASSPORT.matcher(input); |
|||
if (matcher.matches()) { |
|||
return new IdCardRegexUtils(IdCardTypeEnum.PASSPORT, matcher, input); |
|||
} |
|||
} |
|||
return null; |
|||
} |
|||
|
|||
/** |
|||
* 获取解析结果 |
|||
* @return |
|||
*/ |
|||
public ParsedContent getParsedResult() { |
|||
if (matcher == null || idCardType == null) { |
|||
return null; |
|||
} |
|||
|
|||
if (IdCardTypeEnum.SFZH == idCardType) { |
|||
//是身份证号,可以解析
|
|||
String year; |
|||
if (inputText.length() == 15) { |
|||
// 15位身份证号,years前需要拼上19
|
|||
year = "19".concat(matcher.group("year")); |
|||
} else { |
|||
year = matcher.group("year"); |
|||
} |
|||
String month = matcher.group("month"); |
|||
String day = matcher.group("day"); |
|||
String sex = matcher.group("sex"); |
|||
|
|||
// ------- 年龄Start----------
|
|||
Integer age; |
|||
try { |
|||
LocalDate birthday = LocalDate.of(Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day)); |
|||
age = Period.between(birthday, LocalDate.now()).getYears(); |
|||
} catch (DateTimeException e) { |
|||
throw new EpmetException("身份证号解析年龄失败:" + ExceptionUtils.getErrorStackTrace(e)); |
|||
} |
|||
// ------- 年龄End----------
|
|||
return new ParsedContent(year, month, day, sex, age); |
|||
} |
|||
|
|||
// 其他类型暂时不可解析
|
|||
return null; |
|||
} |
|||
|
|||
/** |
|||
* 获取类型枚举 |
|||
* @return |
|||
*/ |
|||
public IdCardTypeEnum getTypeEnum() { |
|||
return idCardType; |
|||
} |
|||
|
|||
public static void main(String[] args) { |
|||
IdCardRegexUtils parse = IdCardRegexUtils.parse("370282198801303017"); |
|||
ParsedContent parsedResult = parse.getParsedResult(); |
|||
System.out.println(parsedResult); |
|||
} |
|||
} |
@ -0,0 +1,89 @@ |
|||
package com.epmet.commons.tools.utils; |
|||
|
|||
import com.epmet.commons.tools.constant.NumConstant; |
|||
|
|||
import java.util.HashMap; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* @Description |
|||
* @Author zhaoqifeng |
|||
* @Date 2022/9/14 14:40 |
|||
*/ |
|||
public class NameUtils { |
|||
/** |
|||
* 复姓(两字),国内现存81个。末尾添加三字以上的部分满姓 |
|||
*/ |
|||
private static final String[] SURNAME_NOW = {"百里", "北堂", "北野", "北宫", "辟闾", "孛尔", "淳于", "成公", "陈生", "褚师", |
|||
"端木", "东方", "东郭", "东野", "东门", "第五", "大狐", "段干", "段阳", "带曰", "第二", "东宫", "公孙", "公冶", "公羊", |
|||
"公良", "公西", "公孟", "高堂", "高阳", "公析", "公肩", "公坚", "郭公", "谷梁", "毌将", "公乘", "毌丘", "公户", "公广", |
|||
"公仪", "公祖", "皇甫", "黄龙", "胡母", "何阳", "夹谷", "九方", "即墨", "梁丘", "闾丘", "洛阳", "陵尹", "冷富", "龙丘", |
|||
"令狐", "林彭", "南宫", "南郭", "女娲", "南伯", "南容", "南门", "南野", "欧阳", "欧侯", "濮阳", "青阳", "漆雕", "亓官", |
|||
"渠丘", "壤驷", "上官", "少室", "少叔", "司徒", "司马", "司空", "司寇", "士孙", "申屠", "申徒", "申鲜", "申叔", "夙沙", |
|||
"叔先", "叔仲", "侍其", "叔孙", "澹台", "太史", "太叔", "太公", "屠岸", "唐古", "闻人", "巫马", "微生", "王孙", "无庸", |
|||
"夏侯", "西门", "信平", "鲜于", "轩辕", "相里", "新垣", "徐离", "羊舌", "羊角", "延陵", "於陵", "伊祁", "吾丘", "乐正", |
|||
"只斤", "诸葛", "颛孙", "仲孙", "仲长", "钟离", "宗政", "主父", "中叔", "左人", "左丘", "宰父", "长儿", "仉督", "单于", |
|||
"叱干", "叱利", "车非", "车公", "车侯", "车长", "车绵", "独孤", "大野", "独吉", "达奚", "达官", "达仲", "达品", "哥舒", |
|||
"哥夜", "哥翰", "哥汗", "赫连", "呼延", "贺兰", "黑齿", "斛律", "斛粟", "贺若", "贺奴", "贺远", "贺元", "夹谷", "吉胡", |
|||
"吉利", "吉家", "可频", "慕容", "万俟", "万红", "万中", "抹捻", "纳兰", "纳西", "纳吉", "纳罕", "纳塞", "纳博", "纳称", |
|||
"纳勉", "普周", "仆固", "仆散", "蒲察", "屈突", "屈卢", "钳耳", "是云", "索卢", "厍狄", "拓跋", "同蹄", "秃发", "完颜", |
|||
"完明", "完忠", "宇文", "尉迟", "耶律", "耶红", "也先", "耶鲜", "耶闻", "长孙", "长南", "长北", "长西", "长红", "长元", |
|||
"长秋", "长寸", "长李", "长云", "萨嘛喇","赫舍里","萨克达","钮祜禄","他塔喇","喜塔腊","库雅喇","瓜尔佳","舒穆禄","索绰络", |
|||
"叶赫那拉","依尔觉罗","额尔德特","讷殷富察","叶赫那兰","爱新觉罗","依尔根觉罗"}; |
|||
|
|||
/** |
|||
* 获取复姓,非单字姓氏。未匹配上则依旧返回单字姓氏 |
|||
* @param name |
|||
* @return |
|||
*/ |
|||
public static String getSurNameComplex(String name){ |
|||
for (String s : SURNAME_NOW) { |
|||
if (name.startsWith(s)) { |
|||
return name.substring(0, s.length()); |
|||
} |
|||
} |
|||
return name.substring(0,1); |
|||
} |
|||
|
|||
/** |
|||
* 获取复姓名,去除姓氏后名 |
|||
* @param name |
|||
* @return |
|||
*/ |
|||
public static String getNameComplex(String name){ |
|||
for (String s : SURNAME_NOW) { |
|||
if (name.startsWith(s)) { |
|||
return name.substring(s.length()); |
|||
} |
|||
} |
|||
return name.substring(1); |
|||
} |
|||
|
|||
/** |
|||
* 获取姓氏与姓名<br> |
|||
* 姓名在两字时,首字为姓。<br> |
|||
* 姓名大于两字时,优先匹配复姓。<br> |
|||
* 姓氏未匹配且姓名多于5字时,姓与名均在姓氏中,名为空;少于5字时则采用第一个字为姓。<br> |
|||
* @param name 姓名 |
|||
* @return map类型数据,姓氏为key值“X”,名字为value值“M” |
|||
*/ |
|||
public static Map<String, String> getSurName(String name) { |
|||
Map<String,String> mapData = new HashMap<>(NumConstant.TWO); |
|||
if (name.length() > NumConstant.ZERO && name.length() <= NumConstant.TWO){ |
|||
mapData.put("X", name.substring(NumConstant.ZERO, NumConstant.ONE)); |
|||
mapData.put("M", name.substring(NumConstant.ONE)); |
|||
} else if (name.length() > NumConstant.TWO) { |
|||
for (String s : SURNAME_NOW) {//遍历复姓数组
|
|||
if (name.startsWith(s)) { |
|||
mapData.put("X", s); |
|||
mapData.put("M", name.substring(s.length())); |
|||
return mapData; |
|||
} |
|||
} |
|||
//姓氏没有匹配时采用第一个字为姓
|
|||
mapData.put("X", name.substring(NumConstant.ZERO, NumConstant.ONE)); |
|||
mapData.put("M", name.substring(NumConstant.ONE)); |
|||
} |
|||
return mapData; |
|||
} |
|||
} |
@ -0,0 +1,42 @@ |
|||
package com.epmet.commons.tools.utils; |
|||
|
|||
import com.alibaba.fastjson.JSON; |
|||
import com.epmet.commons.tools.dto.result.YtHsjcResDTO; |
|||
import com.epmet.commons.tools.exception.EpmetErrorCode; |
|||
import com.epmet.commons.tools.exception.EpmetException; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
|
|||
import java.util.ArrayList; |
|||
|
|||
/** |
|||
* @Description |
|||
* @Author yzm |
|||
* @Date 2022/9/26 16:56 |
|||
*/ |
|||
@Slf4j |
|||
public class YtHsResUtils { |
|||
static String url = "https://10.2.2.60:8191/sjzt/server/hsjcxx?appkey=DR4jF5Be7sCsqDmCamq2tmYCl"; |
|||
|
|||
/** |
|||
* desc:图片同步扫描 |
|||
* |
|||
* @return |
|||
*/ |
|||
public static YtHsjcResDTO hsjc(String cardNo, Integer rowNum, Integer pageSize) { |
|||
try { |
|||
String param = String.format("&card_no=%s&ROWNUM=%s&PAGESIZE=%s", cardNo, rowNum, pageSize); |
|||
String apiUrl = url.concat(param); |
|||
Result<String> result = HttpClientManager.getInstance().sendPostByJSON(apiUrl, null); |
|||
if (result.success()) { |
|||
return JSON.parseObject(result.getData(), YtHsjcResDTO.class); |
|||
} |
|||
YtHsjcResDTO resultResult = new YtHsjcResDTO(); |
|||
resultResult.setData(new ArrayList<>()); |
|||
return resultResult; |
|||
} catch (Exception e) { |
|||
log.error(String.format("烟台核算检测结果查询异常cardNo:%s,异常信息:%s", cardNo, e.getMessage())); |
|||
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "获取核算检测结果api异常"+e.getMessage()); |
|||
} |
|||
} |
|||
} |
|||
|
@ -0,0 +1,51 @@ |
|||
package com.epmet.commons.tools.utils.poi.excel.converter; |
|||
|
|||
/** |
|||
* desc: |
|||
* |
|||
* @author: LiuJanJun |
|||
* @date: 2022/8/26 4:59 下午 |
|||
* @version: 1.0 |
|||
*/ |
|||
|
|||
import com.alibaba.excel.converters.Converter; |
|||
import com.alibaba.excel.enums.CellDataTypeEnum; |
|||
import com.alibaba.excel.metadata.GlobalConfiguration; |
|||
import com.alibaba.excel.metadata.data.WriteCellData; |
|||
import com.alibaba.excel.metadata.property.ExcelContentProperty; |
|||
|
|||
import java.text.SimpleDateFormat; |
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @Author: liujianjun |
|||
* @Date: 2022/7/19 |
|||
* @Description: yyyy-MM-dd easyExcel 日期转换 |
|||
*/ |
|||
public class EasyExcelDateConverter implements Converter<Date> { |
|||
|
|||
private static final String PATTERN_YYYY_MM_DD = "yyyy-MM-dd"; |
|||
|
|||
@Override |
|||
public Class<?> supportJavaTypeKey() { |
|||
return Converter.super.supportJavaTypeKey(); |
|||
} |
|||
|
|||
@Override |
|||
public CellDataTypeEnum supportExcelTypeKey() { |
|||
return Converter.super.supportExcelTypeKey(); |
|||
} |
|||
|
|||
@Override |
|||
public WriteCellData<?> convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { |
|||
SimpleDateFormat sdf = new SimpleDateFormat(PATTERN_YYYY_MM_DD); |
|||
String dateValue = sdf.format(value); |
|||
return new WriteCellData<>(dateValue); |
|||
} |
|||
|
|||
//@Override
|
|||
//public Date convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
|
|||
// SimpleDateFormat sdf = new SimpleDateFormat(PATTERN_YYYY_MM_DD);
|
|||
// return sdf.parse(cellData.getStringValue());
|
|||
//}
|
|||
} |
@ -0,0 +1,5 @@ |
|||
epmet: |
|||
oper-examine-resource-urls: |
|||
# 角色编辑 |
|||
- resourceUrl: /oper/access/operrole |
|||
resourceMethod: PUT |
@ -0,0 +1,17 @@ |
|||
package com.epmet.dataaggre.dao.epmetuser; |
|||
|
|||
import com.epmet.commons.mybatis.dao.BaseDao; |
|||
import com.epmet.dataaggre.entity.epmetuser.IcPointNucleicMonitoringEntity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* 核酸监测点 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2022-06-20 |
|||
*/ |
|||
@Mapper |
|||
public interface IcPointNucleicMonitoringDao extends BaseDao<IcPointNucleicMonitoringEntity> { |
|||
|
|||
|
|||
} |
@ -0,0 +1,17 @@ |
|||
package com.epmet.dataaggre.dao.epmetuser; |
|||
|
|||
import com.epmet.commons.mybatis.dao.BaseDao; |
|||
import com.epmet.dataaggre.entity.epmetuser.IcPointVaccinesInoculationEntity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* 疫苗接种点 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2022-06-20 |
|||
*/ |
|||
@Mapper |
|||
public interface IcPointVaccinesInoculationDao extends BaseDao<IcPointVaccinesInoculationEntity> { |
|||
|
|||
|
|||
} |
@ -0,0 +1,77 @@ |
|||
package com.epmet.dataaggre.entity.epmetuser; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
|
|||
import com.epmet.commons.mybatis.entity.BaseEpmetEntity; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
/** |
|||
* 核酸监测点 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2022-06-20 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper=false) |
|||
@TableName("ic_point_nucleic_monitoring") |
|||
public class IcPointNucleicMonitoringEntity extends BaseEpmetEntity { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 客户ID |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 所属组织ID |
|||
*/ |
|||
private String orgId; |
|||
|
|||
/** |
|||
* 所属组织名称 |
|||
*/ |
|||
private String orgName; |
|||
|
|||
/** |
|||
* 组织ID上级 |
|||
*/ |
|||
private String pid; |
|||
|
|||
/** |
|||
* 组织ID所有上级 |
|||
*/ |
|||
private String pids; |
|||
|
|||
/** |
|||
* 核酸监测点名称 |
|||
*/ |
|||
private String name; |
|||
|
|||
/** |
|||
* 服务时间 |
|||
*/ |
|||
private String serveTime; |
|||
|
|||
/** |
|||
* 咨询电话 |
|||
*/ |
|||
private String mobile; |
|||
|
|||
/** |
|||
* 监测点地址 |
|||
*/ |
|||
private String address; |
|||
|
|||
/** |
|||
* 经度 |
|||
*/ |
|||
private String longitude; |
|||
|
|||
/** |
|||
* 纬度 |
|||
*/ |
|||
private String latitude; |
|||
|
|||
} |
@ -0,0 +1,102 @@ |
|||
package com.epmet.dataaggre.entity.epmetuser; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
|
|||
import com.epmet.commons.mybatis.entity.BaseEpmetEntity; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
/** |
|||
* 疫苗接种点 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2022-06-20 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper=false) |
|||
@TableName("ic_point_vaccines_inoculation") |
|||
public class IcPointVaccinesInoculationEntity extends BaseEpmetEntity { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 客户ID |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 所属组织ID |
|||
*/ |
|||
private String orgId; |
|||
|
|||
/** |
|||
* 所属组织名称 |
|||
*/ |
|||
private String orgName; |
|||
|
|||
/** |
|||
* 组织ID上级 |
|||
*/ |
|||
private String pid; |
|||
|
|||
/** |
|||
* 组织ID所有上级 |
|||
*/ |
|||
private String pids; |
|||
|
|||
/** |
|||
* 疫苗接种点名称 |
|||
*/ |
|||
private String name; |
|||
|
|||
/** |
|||
* 接种日期 |
|||
*/ |
|||
private String inoculationDate; |
|||
|
|||
/** |
|||
* 接种上午开始时间 |
|||
*/ |
|||
private String moStartTime; |
|||
|
|||
/** |
|||
* 接种上午结束时间 |
|||
*/ |
|||
private String moEndTime; |
|||
|
|||
/** |
|||
* 接种下午开始时间 |
|||
*/ |
|||
private String afStartTime; |
|||
|
|||
/** |
|||
* 接种下午结束时间 |
|||
*/ |
|||
private String afEndTime; |
|||
|
|||
/** |
|||
* 暂无疫苗(1:是;2:否) |
|||
*/ |
|||
private String noAvailableVaccines; |
|||
|
|||
/** |
|||
* 咨询电话 |
|||
*/ |
|||
private String mobile; |
|||
|
|||
/** |
|||
* 接种点地址 |
|||
*/ |
|||
private String address; |
|||
|
|||
/** |
|||
* 经度 |
|||
*/ |
|||
private String longitude; |
|||
|
|||
/** |
|||
* 纬度 |
|||
*/ |
|||
private String latitude; |
|||
|
|||
} |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue