diff --git a/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/handler/FieldMetaObjectHandler.java b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/handler/FieldMetaObjectHandler.java index de796f3760..e4dde4f2fa 100644 --- a/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/handler/FieldMetaObjectHandler.java +++ b/epmet-commons/epmet-commons-mybatis/src/main/java/com/epmet/commons/mybatis/handler/FieldMetaObjectHandler.java @@ -20,12 +20,10 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.security.user.SecurityUser; import com.epmet.commons.tools.security.user.UserDetail; -import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.reflection.MetaObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import javax.swing.text.html.Option; import java.util.Date; import java.util.Optional; @@ -110,6 +108,27 @@ public class FieldMetaObjectHandler implements MetaObjectHandler { } return loginUserUtil.getLoginUserCustomerId(); } + /** + * @Description 获取用户ID + * @Param metaObject + * @Return {@link Object} + * @Author zhaoqifeng + * @Date 2021/9/16 10:04 + */ + public Object getUserIdByFieldValue(MetaObject metaObject) { + if (!metaObject.hasSetter(FieldConstant.USER_ID_HUMP)) { + // 如果该entity对象,没有userId属性,那么返回null; + return null; + } + + Object userId; + userId = getFieldValByName(FieldConstant.USER_ID_HUMP, metaObject); + if (userId != null && !userId.equals("")) { + // 看entity是否手动设置了,设置了就用设置的 + return userId; + } + return loginUserUtil.getLoginUserId(); + } public Object getCreatedTimeByFieldValue(MetaObject metaObject) { Object createdTime = null; diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java index d8cf9a8265..c5db9c6718 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java @@ -22,6 +22,11 @@ public class CustomerStaffInfoCacheResult implements Serializable { */ private String agencyId; + /** + * 工作人员所属组织ID的pids + */ + private String agencyPIds; + /** * 工作人员所属组织名称 */ @@ -57,6 +62,11 @@ public class CustomerStaffInfoCacheResult implements Serializable { */ private String headPhoto; + /** + * 工作人员是从哪中组织添加的 组织Id + */ + private String fromOrgId; + /** * 工作人员是从哪中组织类型添加的 3个值:agency,grid,dept * @see com.epmet.commons.tools.enums.OrgTypeEnum diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 0196f02f44..6fe4130225 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -534,4 +534,17 @@ public class RedisKeys { public static String getGridInfoKey(String gridId) { return rootPrefix.concat("gov:grid:").concat(gridId); } + + /** + * @description 调查问卷accessKey + * + * @param userId + * @param qKey + * @return + * @author wxz + * @date 2021.09.23 17:38:37 + */ + public static String getQuestionnaireAccessKey(String userId, String qKey) { + return rootPrefix.concat("questionnaire:accesskey:").concat(userId).concat(":").concat(qKey); + } } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java index 577bdf3910..98adecdc97 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java @@ -22,6 +22,11 @@ public class CustomerStaffInfoCache implements Serializable { */ private String agencyId; + /** + * 工作人员所属组织ID的pids + */ + private String agencyPIds; + /** * 工作人员所属组织名称 */ diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/GridInfoCache.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/GridInfoCache.java deleted file mode 100644 index 2900180581..0000000000 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/GridInfoCache.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.epmet.commons.tools.redis.common.bean; - -import lombok.Data; - -@Data -public class GridInfoCache { - private String gridId; - private String gridNamePath; - private String customerId; - private String pid; - private String pids; -} diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index 1e9334b0b0..ee2c68962d 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -233,6 +233,9 @@ lb://epmet-openapi-adv-server + + lb://tduck-api + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd @@ -364,6 +367,9 @@ lb://epmet-openapi-adv-server + + lb://tduck-api + https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd @@ -461,6 +467,8 @@ lb://epmet-ext-server lb://data-aggregator-server + + lb://tduck-api lb://epmet-openapi-adv-server @@ -561,6 +569,8 @@ lb://epmet-openapi-adv-server + + lb://tduck-api https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 diff --git a/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java b/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java index 538467d2e1..ee9125db57 100644 --- a/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java +++ b/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java @@ -105,10 +105,10 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory().error(e.getCode(), e.getMessage())); } catch (Exception e) { - logger.error("CpAuthGatewayFilterFactory认证出错,错误信息:{}", ExceptionUtils.getErrorStackTrace(e)); + logger.error("CpAuthGatewayFilterFactory认证出错Exception,错误信息:{}", ExceptionUtils.getErrorStackTrace(e)); return response(exchange, new Result<>().error(e.getMessage())); } diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index 4f65034c7d..ca78ab64aa 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -336,12 +336,20 @@ spring: # 宣传服务 - id: epmet-openapi-adv-server uri: @gateway.routes.epmet-openapi-adv-server.url@ - order: 35 + order: 36 predicates: - Path=${server.servlet.context-path}/adv/** filters: - StripPrefix=1 - CpAuth=true + - id: tduck-api + uri: @gateway.routes.tduck-api.url@ + order: 37 + predicates: + - Path=${server.servlet.context-path}/tduck-api/** + filters: + - StripPrefix=1 + - CpAuth=true nacos: discovery: server-addr: @nacos.server-addr@ @@ -472,6 +480,7 @@ epmet: - /epmetuser/customerstaff/customerlist - /gov/project/project/platformcallback - /oper/customize/customerstartpage/homestartpage + - /tduck-api/** # 外部应用认证,使用AccessToken等头进行认证 externalOpenUrls: diff --git a/epmet-module/data-aggregator/data-aggregator-client/pom.xml b/epmet-module/data-aggregator/data-aggregator-client/pom.xml index 4e8beca881..7f6f4cd2ff 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/pom.xml +++ b/epmet-module/data-aggregator/data-aggregator-client/pom.xml @@ -17,6 +17,12 @@ epmet-commons-tools 2.0.0 + + com.baomidou + mybatis-plus-annotation + 3.2.0 + compile + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java index dd9ab18035..8ae93cc5d4 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java @@ -32,5 +32,9 @@ public interface DataSourceConstant { String EVALUATION_INDEX = "evaluationIndex"; String OPERCUSTOMIZE="opercustomize"; + String EPMET_MESSAGE="epmetmessage"; + + String EPMET_T_DUCK = "epmettduck"; + String EPMETTDUCK="epmettduck"; } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/TDuckConstant.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/TDuckConstant.java new file mode 100644 index 0000000000..87ef2de7cb --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/TDuckConstant.java @@ -0,0 +1,17 @@ +package com.epmet.dataaggre.constant; + +/** + * @Author zxc + * @DateTime 2021/9/23 4:06 下午 + * @DESC + */ +public interface TDuckConstant { + + String CLIENT_GOV = "gov"; + String CLIENT_RESI = "resi"; + + String ORG_TYPE_AGENCY = "agency"; + String ORG_TYPE_GRID = "grid"; + String ORG_TYPE_DEPT = "dept"; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/AcUserAuthorizeDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/AcUserAuthorizeDTO.java new file mode 100644 index 0000000000..3db0c9939d --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/AcUserAuthorizeDTO.java @@ -0,0 +1,85 @@ +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 第三方用户授权信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class AcUserAuthorizeDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 第三方平台类型 + */ + private Integer type; + + /** + * 平台AppId + */ + private String appId; + + /** + * 平台OpenId + */ + private String openId; + + /** + * 平台用户名 + */ + private String userName; + + /** + * 用户Id + */ + private String userId; + + /** + * 平台用户信息 + */ + private String userInfo; + + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/AcUserDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/AcUserDTO.java new file mode 100644 index 0000000000..a1bb83f55b --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/AcUserDTO.java @@ -0,0 +1,121 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 用户 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class AcUserDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 姓名 + */ + private String name; + + /** + * 头像 + */ + private String avatar; + + /** + * 性别0未知 1男2女 + */ + private Integer gender; + + /** + * 邮箱 + */ + private String email; + + /** + * 手机号 + */ + private String phoneNumber; + + /** + * 密码 + */ + private String password; + + /** + * 注册渠道 + */ + private String regChannel; + + /** + * 最后登录渠道 + */ + private Integer lastLoginChannel; + + /** + * 最后登录时间 + */ + private Date lastLoginTime; + + /** + * 最后登录Ip + */ + private String lastLoginIp; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/InputMapDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/InputMapDTO.java new file mode 100644 index 0000000000..befdf3ae93 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/InputMapDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dataaggre.dto.epmettduck; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @Description TODO + * @Author yinzuomei + * @Date 2021/9/16 11:34 下午 + */ +@Data +public class InputMapDTO implements Serializable { + private BigDecimal longitude; + private BigDecimal latitude; + private String address; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrProjectTemplateCategoryDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrProjectTemplateCategoryDTO.java new file mode 100644 index 0000000000..8c0956058f --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrProjectTemplateCategoryDTO.java @@ -0,0 +1,85 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 项目模板分类 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class PrProjectTemplateCategoryDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 主题名称 + */ + private String name; + + /** + * 排序 + */ + private Integer sort; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrProjectTemplateDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrProjectTemplateDTO.java new file mode 100644 index 0000000000..1b995189c6 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrProjectTemplateDTO.java @@ -0,0 +1,111 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 项目表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class PrProjectTemplateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 模板唯一标识 + */ + private String key; + + /** + * 封面图 + */ + private String coverImg; + + /** + * 项目名称 + */ + private String name; + + /** + * 项目描述 + */ + private String describe; + + /** + * 喜欢数 + */ + private Integer likeCount; + + /** + * 项目类型 + */ + private String categoryId; + + /** + * 状态 + */ + private Integer status; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrProjectTemplateItemDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrProjectTemplateItemDTO.java new file mode 100644 index 0000000000..2174d4f39d --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrProjectTemplateItemDTO.java @@ -0,0 +1,141 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class PrProjectTemplateItemDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 项目key + */ + private String projectKey; + + /** + * 表单项Id + */ + private String formItemId; + + /** + * 表单项类型 + */ + private String type; + + /** + * 表单项标题 + */ + private String label; + + /** + * 是否显示标签 + */ + private Integer showLabel; + + /** + * 表单项默认值 + */ + private String defaultValue; + + /** + * 是否必填 + */ + private Integer required; + + /** + * 输入型提示文字 + */ + private String placeholder; + + /** + * 排序 + */ + private Long sort; + + /** + * 栅格宽度 + */ + private Integer span; + + /** + * 扩展字段 表单项独有字段 + */ + private String expand; + + /** + * 正则表达式 + */ + private String regList; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 展示类型组件 + */ + private Integer isDisplayType; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrProjectThemeDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrProjectThemeDTO.java new file mode 100644 index 0000000000..8bf8538c2a --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrProjectThemeDTO.java @@ -0,0 +1,101 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 项目主题外观模板 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class PrProjectThemeDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 主题名称 + */ + private String name; + + /** + * 主题风格 + + */ + private String style; + + /** + * 头部图片 + */ + private String headImgUrl; + + /** + * 颜色代码 + */ + private String color; + + /** + * 按钮颜色 + */ + private String btnsColor; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrPublishRangeDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrPublishRangeDTO.java new file mode 100644 index 0000000000..944965d1ec --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrPublishRangeDTO.java @@ -0,0 +1,96 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 项目发布范围表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class PrPublishRangeDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 项目key + */ + private String projectKey; + + /** + * 范围组织ids,格式与组织维度一致 冒号隔开 即选中节点的全路径id + */ + private String orgIds; + + /** + * 最后发布组织的ID + */ + private String orgId; + + /** + * 最后发布组织的类型;department,agency;grid + */ + private String orgType; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrResultExtDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrResultExtDTO.java new file mode 100644 index 0000000000..4f0ade42a5 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrResultExtDTO.java @@ -0,0 +1,101 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 问卷填写附属信息表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class PrResultExtDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 姓名 + */ + private String userId; + + /** + * 结果Id + */ + private String resultId; + + /** + * 工作端小程序:gov、居民端小程序:resi、运营端:oper、其他:other + */ + private String userType; + + /** + * 在哪个组织填写的 + */ + private String fromOrgId; + + /** + * 组织:agency;部门:department;网格:grid + */ + private String fromOrgType; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectDTO.java new file mode 100644 index 0000000000..7f9bba34cb --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectDTO.java @@ -0,0 +1,121 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 项目表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class PrUserProjectDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户id + */ + private String customerId; + + /** + * 项目code + */ + private String key; + + /** + * 来源Id + */ + private String sourceId; + + /** + * 来源类型 + */ + private Integer sourceType; + + /** + * 项目名称 + */ + private String name; + + /** + * 项目描述 + */ + private String describe; + + /** + * 用户ID + */ + private String userId; + + /** + * 项目类型 + */ + private Integer type; + + /** + * 状态 + */ + private Integer status; + + /** + * 适用于哪个端 resi:居民端用户;gov:工作端用户;运营端用户:oper + */ + private String client; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectItemDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectItemDTO.java new file mode 100644 index 0000000000..614236b09c --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectItemDTO.java @@ -0,0 +1,141 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class PrUserProjectItemDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 项目key + */ + private String projectKey; + + /** + * 表单项Id + */ + private String formItemId; + + /** + * 表单项类型 + */ + private String type; + + /** + * 表单项标题 + */ + private String label; + + /** + * 展示类型组件 + */ + private Integer isDisplayType; + + /** + * 是否显示标签 + */ + private Integer showLabel; + + /** + * 表单项默认值 + */ + private String defaultValue; + + /** + * 是否必填 + */ + private Integer required; + + /** + * 输入型提示文字 + */ + private String placeholder; + + /** + * 排序 + */ + private Long sort; + + /** + * 栅格宽度 + */ + private Integer span; + + /** + * 扩展字段 表单项独有字段 + */ + private String expand; + + /** + * 正则表达式 + */ + private String regList; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectLogicDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectLogicDTO.java new file mode 100644 index 0000000000..901a8b41ba --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectLogicDTO.java @@ -0,0 +1,96 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 项目逻辑 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class PrUserProjectLogicDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 逻辑Id + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 项目key + */ + private String projectKey; + + /** + * 问题Id + */ + private String formItemId; + + /** + * 条件选项 + */ + private Integer expression; + + /** + * 条件列表 + */ + private String conditionList; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectResultDTO.java new file mode 100644 index 0000000000..dd81d962fc --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectResultDTO.java @@ -0,0 +1,141 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class PrUserProjectResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 项目key + */ + private String projectKey; + + /** + * 序号 + */ + private Integer serialNumber; + + /** + * 填写结果 + */ + private String originalData; + + /** + * 填写结果 + */ + private String processData; + + /** + * 提交ua + */ + private String submitUa; + + /** + * 提交系统 + */ + private String submitOs; + + /** + * 提交浏览器 + */ + private String submitBrowser; + + /** + * 请求ip + */ + private String submitRequestIp; + + /** + * 提交地址 + */ + private String submitAddress; + + /** + * 完成时间 毫秒 + */ + private Integer completeTime; + + /** + * 用户Id + */ + private String userId; + + /** + * 微信openId + */ + private String wxOpenId; + + /** + * 微信用户信息 + */ + private String wxUserInfo; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectSettingDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectSettingDTO.java new file mode 100644 index 0000000000..bb44c7e351 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectSettingDTO.java @@ -0,0 +1,186 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class PrUserProjectSettingDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 项目key + */ + private String projectKey; + + /** + * 提交提示图片 + */ + private String submitPromptImg; + + /** + * 提交提示文字 + */ + private String submitPromptText; + + /** + * 提交跳转连接 + */ + private String submitJumpUrl; + + /** + * 公开提交结果 + */ + private Integer isPublicResult; + + /** + * 只在微信填写 + */ + private Integer isWxWrite; + + /** + * + */ + private Integer isWxWriteOnce; + + /** + * 每人只能填写一次 + */ + private Integer isEveryoneWriteOnce; + + /** + * 每人每天只能填写一次 + */ + private Integer isEveryoneDayWriteOnce; + + /** + * 填写之后提示 + */ + private String writeOncePromptText; + + /** + * 新反馈通知邮件 + */ + private String newWriteNotifyEmail; + + /** + * 新反馈通知微信 + */ + private String newWriteNotifyWx; + + /** + * 记录微信用户个人信息 + */ + private Integer isRecordWxUser; + + /** + * 定时收集开始时间 + */ + private Date timedCollectionBeginTime; + + /** + * 定时收集结束时间 + */ + private Date timedCollectionEndTime; + + /** + * 定时未启动提示文字 + */ + private String timedNotEnabledPromptText; + + /** + * 定时停用会提示文字 + */ + private String timedDeactivatePromptText; + + /** + * 定时定量数量 + */ + private Integer timedQuantitativeQuantity; + + /** + * 定时定量完成提示 + */ + private String timedEndPromptText; + + /** + * 分享图片 + */ + private String shareImg; + + /** + * 分享标题 + */ + private String shareTitle; + + /** + * 分享描述 + */ + private String shareDesc; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectThemeDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectThemeDTO.java new file mode 100644 index 0000000000..e42dd917fc --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrUserProjectThemeDTO.java @@ -0,0 +1,126 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class PrUserProjectThemeDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 项目key + */ + private String projectKey; + + /** + * 主题Id + */ + private String themeId; + + /** + * 提交按钮文字 + */ + private String submitBtnText; + + /** + * logo图片 + */ + private String logoImg; + + /** + * logo位置 + */ + private String logoPosition; + + /** + * 背景颜色 + */ + private String backgroundColor; + + /** + * 背景图片 + */ + private String backgroundImg; + + /** + * 是否显示标题 + */ + private Integer showTitle; + + /** + * 是否显示描述语 + */ + private Integer showDescribe; + + /** + * 显示序号 + */ + private Integer showNumber; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrVistRecordDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrVistRecordDTO.java new file mode 100644 index 0000000000..7e747c2680 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/PrVistRecordDTO.java @@ -0,0 +1,91 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 用户访问问卷记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class PrVistRecordDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 姓名 + */ + private String userId; + + /** + * 工作端小程序:gov、居民端小程序:resi、运营端:oper、其他:other + */ + private String userType; + + /** + * 项目key + */ + private String projectKey; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/ProjectItemTypeEnum.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/ProjectItemTypeEnum.java new file mode 100644 index 0000000000..8083aeb077 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/ProjectItemTypeEnum.java @@ -0,0 +1,75 @@ +package com.epmet.dataaggre.dto.epmettduck; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.epmet.dataaggre.dto.epmettduck.struct.*; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @Author zxc + * @DateTime 2021/9/16 2:28 下午 + * @DESC + */ +@AllArgsConstructor +@Getter +public enum ProjectItemTypeEnum { + + //联系人组件: + INPUT("INPUT", "单行文本", InputExpandStruct.class), + TEXTAREA("TEXTAREA", "多行文本", TextareaExpandStruct.class), + PASSWORD_INPUT("PASSWORD_INPUT", "密码输入", null), + NUMBER_INPUT("NUMBER_INPUT", "数字输入", NumberExpandStruct.class), + SELECT("SELECT", "下拉框", SelectExpandStruct.class), + CASCADER("CASCADER", "级联选择", CascaderExpandStruct.class), + RADIO("RADIO", "单选框", RadioExpandStruct.class), + CHECKBOX("CHECKBOX", "多选框", CheckboxExpandStruct.class), + SWITCH("SWITCH", "开关", SwitchExpandStruct.class), + TIME("TIME", "时间选择", TimeExpandStruct.class), + TIME_RANGE("TIME_RANGE", "时间范围", TimeRangeExpandStruct.class), + DATE("DATE", "日期选择", DateExpandStruct.class), + DATE_RANGE("DATE_RANGE", "日期范围", DateRangeExpandStruct.class), + RATE("RATE", "评分", RateExpandStruct.class), + PROVINCE_CITY("PROVINCE_CITY", "省市联动", EmptyExpandStruct.class), + INPUT_MAP("INPUT_MAP", "地理位置", EmptyExpandStruct.class), + + // 以下不分析 + PHONE_VERIFICATION("PHONE_VERIFICATION", "手机号验证", EmptyExpandStruct.class), + SLIDER("SLIDER", "滑块", SliderExpandStruct.class), + COLOR("COLOR", "颜色", ColorExpandStruct.class), + UPLOAD("UPLOAD", "文件上传组件", UploadExpandStruct.class), + IMAGE("IMAGE", "图片展示", ImageExpandStruct.class), + IMAGE_SELECT("IMAGE_SELECT", "图片选择", ImageSelectExpandStruct.class), + IMAGE_CAROUSEL("IMAGE_CAROUSEL", "图片轮播", ImageCarouselExpandStruct.class), + DESC_TEXT("DESC_TEXT", "文字描述", DescTextExpandStruct.class), + SIGN_PAD("SIGN_PAD", "手写签名", SignPadExpandStruct.class), + PAGINATION("PAGINATION", "分页", PaginationExpandStruct.class), + DIVIDER("DIVIDER", "分割线", DividerExpandStruct.class); + + @EnumValue + @JsonValue + private String value; + + private String desc; + /** + * 扩展属性类 + */ + private Class expandClass; + + /** + * 枚举入参注解 + * + * @param value + * @return + */ + @JsonCreator + public static ProjectItemTypeEnum getByValue(String value) { + for (ProjectItemTypeEnum typeEnum : values()) { + if (typeEnum.getValue().equals(value)) { + return typeEnum; + } + } + return null; + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/WxMpUserDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/WxMpUserDTO.java new file mode 100644 index 0000000000..e50b5fffab --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/WxMpUserDTO.java @@ -0,0 +1,126 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.epmettduck; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 微信公众号用户 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +public class WxMpUserDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 公众号AppId + */ + private String appid; + + /** + * 昵称 + */ + private String nickname; + + /** + * 性别 + */ + private Integer sex; + + /** + * 头像 + */ + private String headImgUrl; + + /** + * + */ + private String unionId; + + /** + * + */ + private String openId; + + /** + * 国家 + */ + private String country; + + /** + * 省 + */ + private String province; + + /** + * 城市 + */ + private String city; + + /** + * 是否关注 + */ + private Integer isSubscribe; + + /** + * 用户Id + */ + private String userId; + + /** + * 删除标识 1删除;0未删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/ItemResDetailFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/ItemResDetailFormDTO.java new file mode 100644 index 0000000000..a107080eea --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/ItemResDetailFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dataaggre.dto.epmettduck.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Description 问卷-数据分析-查看详情 + * @Author yinzuomei + * @Date 2021/9/22 1:29 下午 + */ +@Data +public class ItemResDetailFormDTO extends ProjectKeyCommonDTO{ + + @NotBlank(message = "formItemId不能为空",groups = AddUserInternalGroup.class) + private String formItemId; + /** + * 表单项类型 + */ + @NotBlank(message = "type不能为空",groups = AddUserInternalGroup.class) + private String type; + + + /** + * 09.22目前产品没要求分页 + */ + //@NotNull(message = "pageNo不能为空",groups = AddUserInternalGroup.class) + //private Integer pageNo; + //@NotNull(message = "pageSize不能为空",groups = AddUserInternalGroup.class) + //private Integer pageSize; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/ProjectKeyCommonDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/ProjectKeyCommonDTO.java new file mode 100644 index 0000000000..9ed0db927c --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/ProjectKeyCommonDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dataaggre.dto.epmettduck.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description projectKey通用 + * @Author yinzuomei + * @Date 2021/9/16 1:32 下午 + */ +@Data +public class ProjectKeyCommonDTO implements Serializable { + public interface AddUserInternalGroup { + } + /** + * 问卷id, 对应pr_user_project.key + */ + @NotBlank(message = "projectKey不能为空",groups = AddUserInternalGroup.class) + private String projectKey; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/TDuckDetailFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/TDuckDetailFormDTO.java new file mode 100644 index 0000000000..3a9b934b69 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/TDuckDetailFormDTO.java @@ -0,0 +1,38 @@ +package com.epmet.dataaggre.dto.epmettduck.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/9/16 2:00 下午 + * @DESC + */ +@Data +public class TDuckDetailFormDTO implements Serializable { + + private static final long serialVersionUID = 3793280475377993346L; + + public interface TDuckDetailForm{} + public interface PermissionValidate{} + + /** + * 项目key + */ + @NotBlank(message = "项目key不能为空",groups = { TDuckDetailForm.class, PermissionValidate.class }) + private String key; + /** + * 是否显示类型 + */ + @NotNull(message = "是否显示类型不能为空",groups = TDuckDetailForm.class) + private Boolean displayType; + + /** 当前操作人所在的组织的类型(grid:网格,agency:单位) */ + private String orgType; + + /** 当前操作人所在的组织的ID(当orgType为grid的时候必填,为agency的时候留空) */ + private String orgId; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/TDuckHeaderInfoFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/TDuckHeaderInfoFormDTO.java new file mode 100644 index 0000000000..2e0a1a953f --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/TDuckHeaderInfoFormDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dataaggre.dto.epmettduck.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/9/17 10:47 上午 + * @DESC + */ +@Data +public class TDuckHeaderInfoFormDTO implements Serializable { + + private static final long serialVersionUID = 3624352114576287768L; + + public interface TDuckHeaderInfoForm{} + + @NotBlank(message = "projectKey不能为空",groups = TDuckHeaderInfoForm.class) + private String projectKey; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/TDuckListFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/TDuckListFormDTO.java new file mode 100644 index 0000000000..83fc43fd6f --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/TDuckListFormDTO.java @@ -0,0 +1,43 @@ +package com.epmet.dataaggre.dto.epmettduck.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/9/17 10:47 上午 + * @DESC + */ +@Data +public class TDuckListFormDTO implements Serializable { + + private static final long serialVersionUID = 3624352114576287768L; + + public interface TDuckListForm{} + + /** + * 1:未发布,2:收集中,3:已结束 + */ + @NotNull(message = "问卷调查状态不能为空",groups = TDuckListForm.class) + private Integer status; + + @NotNull(message = "pageNo不能为空",groups = TDuckListForm.class) + private Integer pageNo; + + @NotNull(message = "pageSize不能为空",groups = TDuckListForm.class) + private Integer pageSize; + + private String orgId; + + private String orgType; + + @NotBlank(message = "client不能为空",groups = TDuckListForm.class) + private String client; + + private String userId; + + private String customerId; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/AnalysisReportResDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/AnalysisReportResDTO.java new file mode 100644 index 0000000000..e532068afa --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/AnalysisReportResDTO.java @@ -0,0 +1,68 @@ +package com.epmet.dataaggre.dto.epmettduck.result; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; +import java.util.Map; + +/** + * @Description TODO + * @Author yinzuomei + * @Date 2021/9/16 5:30 下午 + */ +@Data +public class AnalysisReportResDTO implements Serializable { + private static final long serialVersionUID = -1637286883477938648L; + + /** + * 项目key + */ + private String projectKey; + + /** + * 表单项类型 + */ + private String type; + + /** + * 表单项标题 + */ + private String label; + + /** + * 表单项Id + */ + private String formItemId; + + /** + * 展示类型组件 + */ + private Integer isDisplayType; + + /** + * 是否显示标签 + */ + private Integer showLabel; + + /** + * 是否必填 + */ + private Integer required; + + /** + * 排序 + */ + private Long sort; + + private Map detail; + + /** + * 扩展字段 表单项独有字段 + */ + @JsonIgnore + private String expand; + + private String moduleType; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/CascaderDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/CascaderDTO.java new file mode 100644 index 0000000000..3b5888a543 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/CascaderDTO.java @@ -0,0 +1,40 @@ +package com.epmet.dataaggre.dto.epmettduck.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 级联选择组件答案参数格式 + * @Author yinzuomei + * @Date 2021/9/18 3:40 下午 + */ +@Data +public class CascaderDTO implements Serializable { + /** + * 当前选择的选项id + */ + private Integer id; + /** + * 选项名 + */ + private String label; + + /** + * 选项名 + */ + private String value; + + /** + * pid + */ + private Integer pid; + + /** + * 全路径名字 + */ + private List labels; + public String pathName; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/ConcatTableHeaderDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/ConcatTableHeaderDTO.java new file mode 100644 index 0000000000..b44f736854 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/ConcatTableHeaderDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dataaggre.dto.epmettduck.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 表头 + * @Author yinzuomei + * @Date 2021/9/22 3:41 下午 + */ +@Data +public class ConcatTableHeaderDTO implements Serializable { + private static final long serialVersionUID = -1133629000511948034L; + + /** + * 显示名称 + */ + private String label; + /** + * 表单项Id + */ + private String formItemId; + + private String type; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/GetRangeResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/GetRangeResultDTO.java new file mode 100644 index 0000000000..d1ea08f6fe --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/GetRangeResultDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dataaggre.dto.epmettduck.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/9/18 14:41 + */ +@Data +public class GetRangeResultDTO implements Serializable { + private static final long serialVersionUID = 3208245365454855156L; + /** + * 适用于哪个端 resi:居民端用户;gov:工作端用户 + */ + private String client; + /** + * 发布范围组织列表 + */ + private List orgList; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/ItemResDetailConcatResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/ItemResDetailConcatResultDTO.java new file mode 100644 index 0000000000..8bb7fb8ccc --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/ItemResDetailConcatResultDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dataaggre.dto.epmettduck.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * @Description 联系人组件 + * @Author yinzuomei + * @Date 2021/9/22 2:54 下午 + */ +@Data +public class ItemResDetailConcatResultDTO implements Serializable { + private static final long serialVersionUID = -3695200094740706700L; + private List tableHeaderList; + private List> dataMap; + //private List> dataList; + + public ItemResDetailConcatResultDTO(){ + this.tableHeaderList=new ArrayList<>(); + this.dataMap=new ArrayList<>(); + } +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/OptionDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/OptionDTO.java new file mode 100644 index 0000000000..c1d64bba1e --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/OptionDTO.java @@ -0,0 +1,29 @@ +package com.epmet.dataaggre.dto.epmettduck.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @Author yinzuomei + * @Date 2021/9/17 3:25 下午 + */ +@Data +public class OptionDTO implements Serializable { + /** + * 选项题目 + */ + private String label; + + /** + * 答案值 + */ + private Integer value; + + /** + * 多少个人选择此答案 + */ + private Integer currentCount=0; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/PermissionValidateResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/PermissionValidateResultDTO.java new file mode 100644 index 0000000000..45897428d9 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/PermissionValidateResultDTO.java @@ -0,0 +1,9 @@ +package com.epmet.dataaggre.dto.epmettduck.result; + +import lombok.Data; + +@Data +public class PermissionValidateResultDTO { + private Boolean permitted; + private String accessKey; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/ProjectProfileResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/ProjectProfileResultDTO.java new file mode 100644 index 0000000000..c5df187969 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/ProjectProfileResultDTO.java @@ -0,0 +1,39 @@ +package com.epmet.dataaggre.dto.epmettduck.result; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description 统计图标,上面的一行 + * @Author yinzuomei + * @Date 2021/9/16 2:10 下午 + */ +@Data +public class ProjectProfileResultDTO implements Serializable { + private static final long serialVersionUID = -6087175682515652086L; + + /** + * 问卷id, 对应pr_user_project.key + */ + private String projectKey; + + /** + * 采集数量 + */ + private Integer collectionTotal; + + //CREATE(1, "未发布"), + //RELEASE(2, "收集中"), + //STOP(3, "停止发布"); + private Integer status; + + /** + * 采集数量 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/RedPointResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/RedPointResultDTO.java new file mode 100644 index 0000000000..38654cfd7c --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/RedPointResultDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dataaggre.dto.epmettduck.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/9/23 10:03 + */ +@Data +public class RedPointResultDTO implements Serializable { + private static final long serialVersionUID = -2230123089546481389L; + /** + * redPoint + */ + private String redPoint; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/TDuckListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/TDuckListResultDTO.java new file mode 100644 index 0000000000..ee412e8ad3 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/TDuckListResultDTO.java @@ -0,0 +1,114 @@ +package com.epmet.dataaggre.dto.epmettduck.result; + +import com.epmet.commons.tools.constant.NumConstant; +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/9/17 10:47 上午 + * @DESC + */ +@Data +public class TDuckListResultDTO implements Serializable { + + private static final long serialVersionUID = 3624352114576287768L; + + /** + * 客户id + */ + private String customerId; + + /** + * 项目code + */ + private String key; + + /** + * 来源Id + */ + private String sourceId; + + /** + * 来源类型 + */ + private Integer sourceType; + + /** + * 项目名称 + */ + private String name; + + /** + * 项目描述 + */ + private String describe; + + /** + * 用户ID + */ + private String userId; + + /** + * 项目类型 + */ + private Integer type; + + /** + * 状态 + */ + private Integer status; + + /** + * 适用于哪个端 resi:居民端用户;gov:工作端用户;运营端用户:oper + */ + private String client; + + private String createdTime; + + /** + * 是否填写问卷,true:是,false:否 + */ + private Boolean fillStatus; + + /** + * 是否还能填写问卷,能:true,不能:false + */ + private Boolean isFillQuestion; + + /** + * 回收状态 0:未回收;1已回收 + */ + private Integer recycled; + + /** + * 组织名 + */ + private String orgName; + + private String createdBy; + + @JsonIgnore + private Integer isEveryoneWriteOnceUid; + + public TDuckListResultDTO() { + this.customerId = ""; + this.key = ""; + this.sourceId = ""; + this.sourceType = NumConstant.ONE; + this.name = ""; + this.describe = ""; + this.userId = ""; + this.type = NumConstant.ONE; + this.status = NumConstant.ONE; + this.client = ""; + this.createdTime = ""; + this.fillStatus = false; + this.isFillQuestion = true; + this.orgName = ""; + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/struct/CascaderExpandStruct.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/struct/CascaderExpandStruct.java new file mode 100644 index 0000000000..7961fdbf5d --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/struct/CascaderExpandStruct.java @@ -0,0 +1,50 @@ +package com.epmet.dataaggre.dto.epmettduck.struct; + +import lombok.Data; + +import java.util.List; + +/** + * @author : smalljop + * @description : 级联选择 + * @create : 2020-11-19 15:13 + **/ +@Data +public class CascaderExpandStruct { + /** + * 选项 + */ + private List

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 第三方用户授权信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ac_user_authorize") +public class AcUserAuthorizeEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 第三方平台类型 + */ + private Integer type; + + /** + * 平台AppId + */ + private String appId; + + /** + * 平台OpenId + */ + private String openId; + + /** + * 平台用户名 + */ + private String userName; + + /** + * 用户Id + */ + private String userId; + + /** + * 平台用户信息 + */ + private String userInfo; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/AcUserEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/AcUserEntity.java new file mode 100644 index 0000000000..3b6f74e8ab --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/AcUserEntity.java @@ -0,0 +1,97 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 用户 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ac_user") +public class AcUserEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 姓名 + */ + private String name; + + /** + * 头像 + */ + private String avatar; + + /** + * 性别0未知 1男2女 + */ + private Integer gender; + + /** + * 邮箱 + */ + private String email; + + /** + * 手机号 + */ + private String phoneNumber; + + /** + * 密码 + */ + private String password; + + /** + * 注册渠道 + */ + private String regChannel; + + /** + * 最后登录渠道 + */ + private Integer lastLoginChannel; + + /** + * 最后登录时间 + */ + private Date lastLoginTime; + + /** + * 最后登录Ip + */ + private String lastLoginIp; + + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrProjectTemplateCategoryEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrProjectTemplateCategoryEntity.java new file mode 100644 index 0000000000..c575a16456 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrProjectTemplateCategoryEntity.java @@ -0,0 +1,62 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 项目模板分类 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("pr_project_template_category") +public class PrProjectTemplateCategoryEntity extends BaseEpmetEntity{ + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 主题名称 + */ + private String name; + + /** + * 排序 + */ + private Integer sort; + + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrProjectTemplateEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrProjectTemplateEntity.java new file mode 100644 index 0000000000..6d87744261 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrProjectTemplateEntity.java @@ -0,0 +1,87 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 项目表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("pr_project_template") +public class PrProjectTemplateEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 模板唯一标识 + */ + private String key; + + /** + * 封面图 + */ + private String coverImg; + + /** + * 项目名称 + */ + private String name; + + /** + * 项目描述 + */ + private String describe; + + /** + * 喜欢数 + */ + private Integer likeCount; + + /** + * 项目类型 + */ + private String categoryId; + + /** + * 状态 + */ + private Integer status; + + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrProjectTemplateItemEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrProjectTemplateItemEntity.java new file mode 100644 index 0000000000..4b109d6df9 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrProjectTemplateItemEntity.java @@ -0,0 +1,116 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("pr_project_template_item") +public class PrProjectTemplateItemEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 项目key + */ + private String projectKey; + + /** + * 表单项Id + */ + private String formItemId; + + /** + * 表单项类型 + */ + private String type; + + /** + * 表单项标题 + */ + private String label; + + /** + * 是否显示标签 + */ + private Integer showLabel; + + /** + * 表单项默认值 + */ + private String defaultValue; + + /** + * 是否必填 + */ + private Integer required; + + /** + * 输入型提示文字 + */ + private String placeholder; + + /** + * 排序 + */ + private Long sort; + + /** + * 栅格宽度 + */ + private Integer span; + + /** + * 扩展字段 表单项独有字段 + */ + private String expand; + + /** + * 正则表达式 + */ + private String regList; + + /** + * 展示类型组件 + */ + private Integer isDisplayType; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrProjectThemeEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrProjectThemeEntity.java new file mode 100644 index 0000000000..b3790a9b43 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrProjectThemeEntity.java @@ -0,0 +1,77 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 项目主题外观模板 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("pr_project_theme") +public class PrProjectThemeEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 主题名称 + */ + private String name; + + /** + * 主题风格 + + */ + private String style; + + /** + * 头部图片 + */ + private String headImgUrl; + + /** + * 颜色代码 + */ + private String color; + + /** + * 按钮颜色 + */ + private String btnsColor; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrPublishRangeEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrPublishRangeEntity.java new file mode 100644 index 0000000000..c69e65d3f1 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrPublishRangeEntity.java @@ -0,0 +1,71 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 项目发布范围表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("pr_publish_range") +public class PrPublishRangeEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 项目key + */ + private String projectKey; + + /** + * 范围组织ids,格式与组织维度一致 冒号隔开 即选中节点的全路径id + */ + private String orgIds; + + /** + * 最后发布组织的ID + */ + private String orgId; + + /** + * 最后发布组织的类型;department,agency;grid + */ + private String orgType; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrResultExtEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrResultExtEntity.java new file mode 100644 index 0000000000..00029fd51b --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrResultExtEntity.java @@ -0,0 +1,76 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 问卷填写附属信息表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("pr_result_ext") +public class PrResultExtEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 姓名 + */ + private String userId; + + /** + * 结果Id + */ + private String resultId; + + /** + * 工作端小程序:gov、居民端小程序:resi、运营端:oper、其他:other + */ + private String userType; + + /** + * 在哪个组织填写的 + */ + private String fromOrgId; + + /** + * 组织:agency;部门:department;网格:grid + */ + private String fromOrgType; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectEntity.java new file mode 100644 index 0000000000..5d06a44213 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectEntity.java @@ -0,0 +1,99 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 项目表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("pr_user_project") +public class PrUserProjectEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户id + */ + private String customerId; + + /** + * 项目code + */ + @TableField("`key`") + private String key; + + /** + * 来源Id + */ + private String sourceId; + + /** + * 来源类型 + */ + private Integer sourceType; + + /** + * 项目名称 + */ + private String name; + + /** + * 项目描述 + */ + @TableField("`describe`") + private String describe; + + /** + * 用户ID + */ + private String userId; + + /** + * 项目类型 + */ + private Integer type; + + /** + * 状态 + */ + private Integer status; + + /** + * 适用于哪个端 resi:居民端用户;gov:工作端用户;运营端用户:oper + */ + private String client; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectItemEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectItemEntity.java new file mode 100644 index 0000000000..e3ce844e69 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectItemEntity.java @@ -0,0 +1,133 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import com.epmet.dataaggre.dto.epmettduck.ProjectItemTypeEnum; +import com.epmet.dataaggre.dto.epmettduck.struct.ItemDefaultValueStruct; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import lombok.experimental.FieldNameConstants; +import org.apache.ibatis.type.EnumTypeHandler; + +import java.util.List; +import java.util.Map; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@Accessors(chain = true) +@TableName(value = "pr_user_project_item", autoResultMap = true) +@FieldNameConstants +public class PrUserProjectItemEntity extends BaseEpmetEntity{ + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 项目key + */ + private String projectKey; + + /** + * 表单项Id + */ + private String formItemId; + + /** + * 表单项类型 + */ + @TableField(typeHandler = EnumTypeHandler.class) + private ProjectItemTypeEnum type; + + /** + * 表单项标题 + */ + private String label; + + /** + * 展示类型组件 + */ + @TableField("is_display_type") + private Integer displayType; + + /** + * 是否显示标签 + */ + private Boolean showLabel; + + /** + * 表单项默认值 + */ + @TableField(value = "default_value",typeHandler = JacksonTypeHandler.class) + private ItemDefaultValueStruct defaultValue; + + /** + * 是否必填 + */ + private Boolean required; + + /** + * 输入型提示文字 + */ + private String placeholder; + + /** + * 排序 + */ + private Long sort; + + /** + * 栅格宽度 + */ + private Integer span; + + /** + * 扩展字段 表单项独有字段 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private Map expand; + + /** + * 正则表达式 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List> regList; + + /** + * 组件类型:联系人组件:concat;输入型组件:input;图片型组件:image;辅助型组件:assist;选择性组件:choose + */ + private String moduleType; + /** + * 与type一致,手机号:phone;邮箱:email;身份证号:idCard。。。。详见数据库 + */ + private String itemKey; +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectLogicEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectLogicEntity.java new file mode 100644 index 0000000000..7c565fed9e --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectLogicEntity.java @@ -0,0 +1,71 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 项目逻辑 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("pr_user_project_logic") +public class PrUserProjectLogicEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 逻辑Id + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 项目key + */ + private String projectKey; + + /** + * 问题Id + */ + private String formItemId; + + /** + * 条件选项 + */ + private Integer expression; + + /** + * 条件列表 + */ + private String conditionList; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectResultEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectResultEntity.java new file mode 100644 index 0000000000..9f46a03222 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectResultEntity.java @@ -0,0 +1,116 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("pr_user_project_result") +public class PrUserProjectResultEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 项目key + */ + private String projectKey; + + /** + * 序号 + */ + private Integer serialNumber; + + /** + * 填写结果 + */ + private String originalData; + + /** + * 填写结果 + */ + private String processData; + + /** + * 提交ua + */ + private String submitUa; + + /** + * 提交系统 + */ + private String submitOs; + + /** + * 提交浏览器 + */ + private String submitBrowser; + + /** + * 请求ip + */ + private String submitRequestIp; + + /** + * 提交地址 + */ + private String submitAddress; + + /** + * 完成时间 毫秒 + */ + private Integer completeTime; + + /** + * 用户Id + */ + private String userId; + + /** + * 微信openId + */ + private String wxOpenId; + + /** + * 微信用户信息 + */ + private String wxUserInfo; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectSettingEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectSettingEntity.java new file mode 100644 index 0000000000..d4b352e21b --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectSettingEntity.java @@ -0,0 +1,161 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("pr_user_project_setting") +public class PrUserProjectSettingEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 项目key + */ + private String projectKey; + + /** + * 提交提示图片 + */ + private String submitPromptImg; + + /** + * 提交提示文字 + */ + private String submitPromptText; + + /** + * 提交跳转连接 + */ + private String submitJumpUrl; + + /** + * 公开提交结果 + */ + private Integer isPublicResult; + + /** + * 只在微信填写 + */ + private Integer isWxWrite; + + /** + * + */ + private Integer isWxWriteOnce; + + /** + * 每人只能填写一次 + */ + private Integer isEveryoneWriteOnce; + + /** + * 每人每天只能填写一次 + */ + private Integer isEveryoneDayWriteOnce; + + /** + * 填写之后提示 + */ + private String writeOncePromptText; + + /** + * 新反馈通知邮件 + */ + private String newWriteNotifyEmail; + + /** + * 新反馈通知微信 + */ + private String newWriteNotifyWx; + + /** + * 记录微信用户个人信息 + */ + private Integer isRecordWxUser; + + /** + * 定时收集开始时间 + */ + private Date timedCollectionBeginTime; + + /** + * 定时收集结束时间 + */ + private Date timedCollectionEndTime; + + /** + * 定时未启动提示文字 + */ + private String timedNotEnabledPromptText; + + /** + * 定时停用会提示文字 + */ + private String timedDeactivatePromptText; + + /** + * 定时定量数量 + */ + private Integer timedQuantitativeQuantity; + + /** + * 定时定量完成提示 + */ + private String timedEndPromptText; + + /** + * 分享图片 + */ + private String shareImg; + + /** + * 分享标题 + */ + private String shareTitle; + + /** + * 分享描述 + */ + private String shareDesc; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectThemeEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectThemeEntity.java new file mode 100644 index 0000000000..db6d6192a8 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrUserProjectThemeEntity.java @@ -0,0 +1,101 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("pr_user_project_theme") +public class PrUserProjectThemeEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 项目key + */ + private String projectKey; + + /** + * 主题Id + */ + private String themeId; + + /** + * 提交按钮文字 + */ + private String submitBtnText; + + /** + * logo图片 + */ + private String logoImg; + + /** + * logo位置 + */ + private String logoPosition; + + /** + * 背景颜色 + */ + private String backgroundColor; + + /** + * 背景图片 + */ + private String backgroundImg; + + /** + * 是否显示标题 + */ + private Integer showTitle; + + /** + * 是否显示描述语 + */ + private Integer showDescribe; + + /** + * 显示序号 + */ + private Integer showNumber; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrVistRecordEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrVistRecordEntity.java new file mode 100644 index 0000000000..00864276e1 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/PrVistRecordEntity.java @@ -0,0 +1,66 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 用户访问问卷记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("pr_vist_record") +public class PrVistRecordEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 姓名 + */ + private String userId; + + /** + * 工作端小程序:gov、居民端小程序:resi、运营端:oper、其他:other + */ + private String userType; + + /** + * 项目key + */ + private String projectKey; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/WxMpUserEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/WxMpUserEntity.java new file mode 100644 index 0000000000..e51905536c --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmettduck/WxMpUserEntity.java @@ -0,0 +1,101 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmettduck; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 微信公众号用户 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("wx_mp_user") +public class WxMpUserEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 公众号AppId + */ + private String appid; + + /** + * 昵称 + */ + private String nickname; + + /** + * 性别 + */ + private Integer sex; + + /** + * 头像 + */ + private String headImgUrl; + + /** + * + */ + private String unionId; + + /** + * + */ + private String openId; + + /** + * 国家 + */ + private String country; + + /** + * 省 + */ + private String province; + + /** + * 城市 + */ + private String city; + + /** + * 是否关注 + */ + private Integer isSubscribe; + + /** + * 用户Id + */ + private String userId; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/QuestionnaireService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/QuestionnaireService.java new file mode 100644 index 0000000000..c23f7f1245 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/QuestionnaireService.java @@ -0,0 +1,9 @@ +package com.epmet.dataaggre.service; + +import com.epmet.dataaggre.dto.epmettduck.result.PermissionValidateResultDTO; + +public interface QuestionnaireService { + PermissionValidateResultDTO resiPermissionValidate(String projectKey, String userId, String gridId); + + PermissionValidateResultDTO govPermissionValidate(String projectKey, String staffId, String customerId); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/AcUserAuthorizeService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/AcUserAuthorizeService.java new file mode 100644 index 0000000000..84b2002e8a --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/AcUserAuthorizeService.java @@ -0,0 +1,78 @@ +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.epmettduck.AcUserAuthorizeDTO; +import com.epmet.dataaggre.entity.epmettduck.AcUserAuthorizeEntity; + +import java.util.List; +import java.util.Map; + +/** + * 第三方用户授权信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface AcUserAuthorizeService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-09-15 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-09-15 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return AcUserAuthorizeDTO + * @author generator + * @date 2021-09-15 + */ + AcUserAuthorizeDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void save(AcUserAuthorizeDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void update(AcUserAuthorizeDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-09-15 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/AcUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/AcUserService.java new file mode 100644 index 0000000000..3ab7e664e9 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/AcUserService.java @@ -0,0 +1,78 @@ +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.epmettduck.AcUserDTO; +import com.epmet.dataaggre.entity.epmettduck.AcUserEntity; + +import java.util.List; +import java.util.Map; + +/** + * 用户 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface AcUserService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-09-15 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-09-15 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return AcUserDTO + * @author generator + * @date 2021-09-15 + */ + AcUserDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void save(AcUserDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void update(AcUserDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-09-15 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrProjectTemplateCategoryService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrProjectTemplateCategoryService.java new file mode 100644 index 0000000000..360af280e9 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrProjectTemplateCategoryService.java @@ -0,0 +1,14 @@ +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.dataaggre.entity.epmettduck.PrProjectTemplateCategoryEntity; + +/** + * 项目模板分类 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface PrProjectTemplateCategoryService { + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrProjectTemplateItemService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrProjectTemplateItemService.java new file mode 100644 index 0000000000..26803febd3 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrProjectTemplateItemService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.epmettduck.PrProjectTemplateItemDTO; +import com.epmet.dataaggre.entity.epmettduck.PrProjectTemplateItemEntity; + +import java.util.List; +import java.util.Map; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface PrProjectTemplateItemService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-09-15 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-09-15 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return PrProjectTemplateItemDTO + * @author generator + * @date 2021-09-15 + */ + PrProjectTemplateItemDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void save(PrProjectTemplateItemDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void update(PrProjectTemplateItemDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-09-15 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrProjectTemplateService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrProjectTemplateService.java new file mode 100644 index 0000000000..52b6f23deb --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrProjectTemplateService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.epmettduck.PrProjectTemplateDTO; +import com.epmet.dataaggre.entity.epmettduck.PrProjectTemplateEntity; + +import java.util.List; +import java.util.Map; + +/** + * 项目表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface PrProjectTemplateService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-09-15 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-09-15 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return PrProjectTemplateDTO + * @author generator + * @date 2021-09-15 + */ + PrProjectTemplateDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void save(PrProjectTemplateDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void update(PrProjectTemplateDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-09-15 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrProjectThemeService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrProjectThemeService.java new file mode 100644 index 0000000000..5144ceb67a --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrProjectThemeService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.epmettduck.PrProjectThemeDTO; +import com.epmet.dataaggre.entity.epmettduck.PrProjectThemeEntity; + +import java.util.List; +import java.util.Map; + +/** + * 项目主题外观模板 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface PrProjectThemeService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-09-15 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-09-15 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return PrProjectThemeDTO + * @author generator + * @date 2021-09-15 + */ + PrProjectThemeDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void save(PrProjectThemeDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void update(PrProjectThemeDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-09-15 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrPublishRangeService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrPublishRangeService.java new file mode 100644 index 0000000000..66a2dbb79e --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrPublishRangeService.java @@ -0,0 +1,123 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.epmettduck.PrPublishRangeDTO; +import com.epmet.dataaggre.entity.epmettduck.PrPublishRangeEntity; + +import java.util.List; +import java.util.Map; + +/** + * 项目发布范围表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface PrPublishRangeService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-09-15 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-09-15 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return PrPublishRangeDTO + * @author generator + * @date 2021-09-15 + */ + PrPublishRangeDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void save(PrPublishRangeDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void update(PrPublishRangeDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-09-15 + */ + void delete(String[] ids); + + /** + * @Description 发布范围组织列表 + * @Param projectKey + * @Return {@link List< String>} + * @Author zhaoqifeng + * @Date 2021/9/18 15:28 + */ + List getRangeOrgList(String projectKey); + + /** + * @description 使用projectKey查询发布范围entity + * + * @param projectKey + * @return + * @author wxz + * @date 2021.09.23 23:04:23 + */ + List getPublishRangeEntity(String projectKey); + + /** + * @Description 获取组织范围内的问卷 + * @Param orgList + * @Return {@link List< PrPublishRangeDTO>} + * @Author zhaoqifeng + * @Date 2021/9/23 10:27 + */ + List getListByOrg(List orgList); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrResultExtService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrResultExtService.java new file mode 100644 index 0000000000..98f7e0b713 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrResultExtService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.epmettduck.PrResultExtDTO; +import com.epmet.dataaggre.entity.epmettduck.PrResultExtEntity; + +import java.util.List; +import java.util.Map; + +/** + * 问卷填写附属信息表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface PrResultExtService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-09-15 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-09-15 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return PrResultExtDTO + * @author generator + * @date 2021-09-15 + */ + PrResultExtDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void save(PrResultExtDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void update(PrResultExtDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-09-15 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectItemService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectItemService.java new file mode 100644 index 0000000000..74d1ddd332 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectItemService.java @@ -0,0 +1,28 @@ +package com.epmet.dataaggre.service.epmettduck; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.epmettduck.PrUserProjectItemDTO; +import com.epmet.dataaggre.dto.epmettduck.form.TDuckDetailFormDTO; +import com.epmet.dataaggre.entity.epmettduck.PrUserProjectItemEntity; + +import java.util.List; +import java.util.Map; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface PrUserProjectItemService extends IService { + + /** + * @Description 问卷调查详情 + * @Param formDTO + * @author zxc + * @date 2021/9/16 2:51 下午 + */ + List queryProjectItem(TDuckDetailFormDTO formDTO); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectLogicService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectLogicService.java new file mode 100644 index 0000000000..5440d9a334 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectLogicService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.epmettduck.PrUserProjectLogicDTO; +import com.epmet.dataaggre.entity.epmettduck.PrUserProjectLogicEntity; + +import java.util.List; +import java.util.Map; + +/** + * 项目逻辑 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface PrUserProjectLogicService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-09-15 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-09-15 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return PrUserProjectLogicDTO + * @author generator + * @date 2021-09-15 + */ + PrUserProjectLogicDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void save(PrUserProjectLogicDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void update(PrUserProjectLogicDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-09-15 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectResultService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectResultService.java new file mode 100644 index 0000000000..aaa8a131e6 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectResultService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.epmettduck.PrUserProjectResultDTO; +import com.epmet.dataaggre.entity.epmettduck.PrUserProjectResultEntity; + +import java.util.List; +import java.util.Map; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface PrUserProjectResultService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-09-15 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-09-15 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return PrUserProjectResultDTO + * @author generator + * @date 2021-09-15 + */ + PrUserProjectResultDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void save(PrUserProjectResultDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void update(PrUserProjectResultDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-09-15 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectService.java new file mode 100644 index 0000000000..93e437a043 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectService.java @@ -0,0 +1,187 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dataaggre.dto.epmettduck.PrUserProjectDTO; +import com.epmet.dataaggre.dto.epmettduck.form.ItemResDetailFormDTO; +import com.epmet.dataaggre.dto.epmettduck.form.ProjectKeyCommonDTO; +import com.epmet.dataaggre.dto.epmettduck.form.TDuckHeaderInfoFormDTO; +import com.epmet.dataaggre.dto.epmettduck.form.TDuckListFormDTO; +import com.epmet.dataaggre.dto.epmettduck.result.*; +import com.epmet.dataaggre.entity.epmettduck.PrUserProjectEntity; + +import java.util.List; +import java.util.Map; + +/** + * 项目表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface PrUserProjectService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-09-15 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-09-15 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return PrUserProjectDTO + * @author generator + * @date 2021-09-15 + */ + PrUserProjectDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void save(PrUserProjectDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void update(PrUserProjectDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-09-15 + */ + void delete(String[] ids); + + /** + * 问卷概要 + * + * @param projectKey + * @return com.epmet.dataaggre.dto.epmettduck.result.ProjectProfileResultDTO + * @author yinzuomei + * @date 2021/9/16 2:54 下午 + */ + ProjectProfileResultDTO queryProjectProfile(String projectKey); + + /** + * @Description 问卷调查列表 + * @Param formDTO + * @author zxc + * @date 2021/9/18 10:29 上午 + */ + List queryProjectList(TDuckListFormDTO formDTO); + + /** + * 分析报告 + * + * @param projectKey + * @return com.epmet.dataaggre.dto.epmettduck.result.AnalysisReportResDTO + * @author yinzuomei + * @date 2021/9/16 5:57 下午 + */ + List queryAnalysisReport(String projectKey); + + /** + * @Description 查询问卷调查的头部信息 + * @Param formDTO + * @author zxc + * @date 2021/9/18 10:35 上午 + */ + PrUserProjectEntity headerInfo(TDuckHeaderInfoFormDTO formDTO); + + /** + * @Description 获取发布范围 + * @Param projectKey + * @Return {@link GetRangeResultDTO} + * @Author zhaoqifeng + * @Date 2021/9/18 15:18 + */ + GetRangeResultDTO getRange(String projectKey); + + /** + * 查看详情 + * 1、联系人组件统一用一个统计显示多少条,点击查看更多显示汇总列表,如有非必填项没有填写显示空(手机号验证不需要统计) + * 2、单行文本、多行文本、时间选择、时间范围、日期选择、日期范围,统计填写人数,点击查看列表 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/9/22 1:37 下午 + */ + List queryItemResDetail(ItemResDetailFormDTO formDTO); + + /** + * 联系人组件 + * + * @param formDTO + * @return com.epmet.dataaggre.dto.epmettduck.result.ItemResDetailConcatResultDTO + * @author yinzuomei + * @date 2021/9/22 2:57 下午 + */ + ItemResDetailConcatResultDTO queryItemResDetailConcat(ProjectKeyCommonDTO formDTO); + + /** + * 有新的问卷显示小红点 + * @Param tokenDto + * @Return {@link RedPointResultDTO} + * @Author zhaoqifeng + * @Date 2021/9/23 10:05 + */ + RedPointResultDTO redPoint(TokenDto tokenDto); + + /** + * @description 根据key查询问卷 + * + * @param key + * @return + * @author wxz + * @date 2021.09.23 22:25:57 + */ + PrUserProjectEntity getProjectEntityBykey(String key); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectSettingService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectSettingService.java new file mode 100644 index 0000000000..67111d9eb4 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectSettingService.java @@ -0,0 +1,78 @@ +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.epmettduck.PrUserProjectSettingDTO; +import com.epmet.dataaggre.entity.epmettduck.PrUserProjectSettingEntity; + +import java.util.List; +import java.util.Map; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface PrUserProjectSettingService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-09-15 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-09-15 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return PrUserProjectSettingDTO + * @author generator + * @date 2021-09-15 + */ + PrUserProjectSettingDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void save(PrUserProjectSettingDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void update(PrUserProjectSettingDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-09-15 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectThemeService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectThemeService.java new file mode 100644 index 0000000000..48fc3f1d63 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrUserProjectThemeService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.epmettduck.PrUserProjectThemeDTO; +import com.epmet.dataaggre.entity.epmettduck.PrUserProjectThemeEntity; + +import java.util.List; +import java.util.Map; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface PrUserProjectThemeService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-09-15 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-09-15 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return PrUserProjectThemeDTO + * @author generator + * @date 2021-09-15 + */ + PrUserProjectThemeDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void save(PrUserProjectThemeDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void update(PrUserProjectThemeDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-09-15 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrVistRecordService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrVistRecordService.java new file mode 100644 index 0000000000..691e4cdc95 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/PrVistRecordService.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.epmettduck.PrVistRecordDTO; +import com.epmet.dataaggre.entity.epmettduck.PrVistRecordEntity; + +import java.util.List; +import java.util.Map; + +/** + * 用户访问问卷记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface PrVistRecordService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-09-15 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-09-15 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return PrVistRecordDTO + * @author generator + * @date 2021-09-15 + */ + PrVistRecordDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void save(PrVistRecordDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void update(PrVistRecordDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-09-15 + */ + void delete(String[] ids); + + /** + * @Description 获取最新访问记录 + * @Param staffId + * @Return {@link PrVistRecordDTO} + * @Author zhaoqifeng + * @Date 2021/9/23 14:16 + */ + PrVistRecordDTO getNewestRecord(String staffId); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/WxMpUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/WxMpUserService.java new file mode 100644 index 0000000000..b65983748c --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/WxMpUserService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dataaggre.dto.epmettduck.WxMpUserDTO; +import com.epmet.dataaggre.entity.epmettduck.WxMpUserEntity; + +import java.util.List; +import java.util.Map; + +/** + * 微信公众号用户 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +public interface WxMpUserService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-09-15 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-09-15 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return WxMpUserDTO + * @author generator + * @date 2021-09-15 + */ + WxMpUserDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void save(WxMpUserDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-09-15 + */ + void update(WxMpUserDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-09-15 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/AcUserAuthorizeServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/AcUserAuthorizeServiceImpl.java new file mode 100644 index 0000000000..2887bd8ecf --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/AcUserAuthorizeServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmettduck.AcUserAuthorizeDao; +import com.epmet.dataaggre.dto.epmettduck.AcUserAuthorizeDTO; +import com.epmet.dataaggre.entity.epmettduck.AcUserAuthorizeEntity; +import com.epmet.dataaggre.service.epmettduck.AcUserAuthorizeService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 第三方用户授权信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class AcUserAuthorizeServiceImpl extends BaseServiceImpl implements AcUserAuthorizeService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, AcUserAuthorizeDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, AcUserAuthorizeDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public AcUserAuthorizeDTO get(String id) { + AcUserAuthorizeEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, AcUserAuthorizeDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(AcUserAuthorizeDTO dto) { + AcUserAuthorizeEntity entity = ConvertUtils.sourceToTarget(dto, AcUserAuthorizeEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(AcUserAuthorizeDTO dto) { + AcUserAuthorizeEntity entity = ConvertUtils.sourceToTarget(dto, AcUserAuthorizeEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/AcUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/AcUserServiceImpl.java new file mode 100644 index 0000000000..c53ce7da8e --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/AcUserServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmettduck.AcUserDao; +import com.epmet.dataaggre.dto.epmettduck.AcUserDTO; +import com.epmet.dataaggre.entity.epmettduck.AcUserEntity; +import com.epmet.dataaggre.service.epmettduck.AcUserService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 用户 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class AcUserServiceImpl extends BaseServiceImpl implements AcUserService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, AcUserDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, AcUserDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public AcUserDTO get(String id) { + AcUserEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, AcUserDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(AcUserDTO dto) { + AcUserEntity entity = ConvertUtils.sourceToTarget(dto, AcUserEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(AcUserDTO dto) { + AcUserEntity entity = ConvertUtils.sourceToTarget(dto, AcUserEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrProjectTemplateCategoryServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrProjectTemplateCategoryServiceImpl.java new file mode 100644 index 0000000000..bf82320282 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrProjectTemplateCategoryServiceImpl.java @@ -0,0 +1,37 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.service.epmettduck.PrProjectTemplateCategoryService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * 项目模板分类 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class PrProjectTemplateCategoryServiceImpl implements PrProjectTemplateCategoryService { + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrProjectTemplateItemServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrProjectTemplateItemServiceImpl.java new file mode 100644 index 0000000000..a903234d27 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrProjectTemplateItemServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmettduck.PrProjectTemplateItemDao; +import com.epmet.dataaggre.dto.epmettduck.PrProjectTemplateItemDTO; +import com.epmet.dataaggre.entity.epmettduck.PrProjectTemplateItemEntity; +import com.epmet.dataaggre.service.epmettduck.PrProjectTemplateItemService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class PrProjectTemplateItemServiceImpl extends BaseServiceImpl implements PrProjectTemplateItemService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, PrProjectTemplateItemDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, PrProjectTemplateItemDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public PrProjectTemplateItemDTO get(String id) { + PrProjectTemplateItemEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, PrProjectTemplateItemDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(PrProjectTemplateItemDTO dto) { + PrProjectTemplateItemEntity entity = ConvertUtils.sourceToTarget(dto, PrProjectTemplateItemEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(PrProjectTemplateItemDTO dto) { + PrProjectTemplateItemEntity entity = ConvertUtils.sourceToTarget(dto, PrProjectTemplateItemEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrProjectTemplateServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrProjectTemplateServiceImpl.java new file mode 100644 index 0000000000..29eabe1520 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrProjectTemplateServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmettduck.PrProjectTemplateDao; +import com.epmet.dataaggre.dto.epmettduck.PrProjectTemplateDTO; +import com.epmet.dataaggre.entity.epmettduck.PrProjectTemplateEntity; +import com.epmet.dataaggre.service.epmettduck.PrProjectTemplateService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 项目表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class PrProjectTemplateServiceImpl extends BaseServiceImpl implements PrProjectTemplateService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, PrProjectTemplateDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, PrProjectTemplateDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public PrProjectTemplateDTO get(String id) { + PrProjectTemplateEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, PrProjectTemplateDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(PrProjectTemplateDTO dto) { + PrProjectTemplateEntity entity = ConvertUtils.sourceToTarget(dto, PrProjectTemplateEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(PrProjectTemplateDTO dto) { + PrProjectTemplateEntity entity = ConvertUtils.sourceToTarget(dto, PrProjectTemplateEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrProjectThemeServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrProjectThemeServiceImpl.java new file mode 100644 index 0000000000..07345640c1 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrProjectThemeServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmettduck.PrProjectThemeDao; +import com.epmet.dataaggre.dto.epmettduck.PrProjectThemeDTO; +import com.epmet.dataaggre.entity.epmettduck.PrProjectThemeEntity; +import com.epmet.dataaggre.service.epmettduck.PrProjectThemeService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 项目主题外观模板 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class PrProjectThemeServiceImpl extends BaseServiceImpl implements PrProjectThemeService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, PrProjectThemeDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, PrProjectThemeDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public PrProjectThemeDTO get(String id) { + PrProjectThemeEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, PrProjectThemeDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(PrProjectThemeDTO dto) { + PrProjectThemeEntity entity = ConvertUtils.sourceToTarget(dto, PrProjectThemeEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(PrProjectThemeDTO dto) { + PrProjectThemeEntity entity = ConvertUtils.sourceToTarget(dto, PrProjectThemeEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrPublishRangeServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrPublishRangeServiceImpl.java new file mode 100644 index 0000000000..6865f8764e --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrPublishRangeServiceImpl.java @@ -0,0 +1,160 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmettduck.PrPublishRangeDao; +import com.epmet.dataaggre.dto.epmettduck.PrPublishRangeDTO; +import com.epmet.dataaggre.entity.epmettduck.PrPublishRangeEntity; +import com.epmet.dataaggre.service.epmettduck.PrPublishRangeService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 项目发布范围表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class PrPublishRangeServiceImpl extends BaseServiceImpl implements PrPublishRangeService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, PrPublishRangeDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, PrPublishRangeDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public PrPublishRangeDTO get(String id) { + PrPublishRangeEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, PrPublishRangeDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(PrPublishRangeDTO dto) { + PrPublishRangeEntity entity = ConvertUtils.sourceToTarget(dto, PrPublishRangeEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(PrPublishRangeDTO dto) { + PrPublishRangeEntity entity = ConvertUtils.sourceToTarget(dto, PrPublishRangeEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * @param projectKey + * @Description 发布范围组织列表 + * @Param projectKey + * @Return {@link List< String>} + * @Author zhaoqifeng + * @Date 2021/9/18 15:28 + */ + @Override + public List getRangeOrgList(String projectKey) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PrPublishRangeEntity::getProjectKey, projectKey); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyList(); + } + return list.stream().map(PrPublishRangeEntity::getOrgId).collect(Collectors.toList()); + } + + @Override + public List getPublishRangeEntity(String projectKey) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PrPublishRangeEntity::getProjectKey, projectKey); + return baseDao.selectList(wrapper); + } + + /** + * @param orgList + * @Description 获取组织范围内的问卷 + * @Param orgList + * @Return {@link List< PrPublishRangeDTO>} + * @Author zhaoqifeng + * @Date 2021/9/23 10:27 + */ + @Override + public List getListByOrg(List orgList) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.and(w -> { + for (int i = 0; i < orgList.size(); i++) { + if (NumConstant.ZERO == i) { + w.like(PrPublishRangeEntity :: getOrgId, orgList.get(i)); + } else { + w.or().like(PrPublishRangeEntity :: getOrgId, orgList.get(i)); + } + } + }); + wrapper.orderByDesc(PrPublishRangeEntity::getCreatedTime); + List list = baseDao.selectList(wrapper); + return ConvertUtils.sourceToTarget(list, PrPublishRangeDTO.class); + } + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrResultExtServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrResultExtServiceImpl.java new file mode 100644 index 0000000000..00bff5e49e --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrResultExtServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmettduck.PrResultExtDao; +import com.epmet.dataaggre.dto.epmettduck.PrResultExtDTO; +import com.epmet.dataaggre.entity.epmettduck.PrResultExtEntity; +import com.epmet.dataaggre.service.epmettduck.PrResultExtService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 问卷填写附属信息表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class PrResultExtServiceImpl extends BaseServiceImpl implements PrResultExtService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, PrResultExtDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, PrResultExtDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public PrResultExtDTO get(String id) { + PrResultExtEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, PrResultExtDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(PrResultExtDTO dto) { + PrResultExtEntity entity = ConvertUtils.sourceToTarget(dto, PrResultExtEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(PrResultExtDTO dto) { + PrResultExtEntity entity = ConvertUtils.sourceToTarget(dto, PrResultExtEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectItemServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectItemServiceImpl.java new file mode 100644 index 0000000000..3078d9221c --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectItemServiceImpl.java @@ -0,0 +1,64 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmettduck.PrUserProjectItemDao; +import com.epmet.dataaggre.dto.epmettduck.form.TDuckDetailFormDTO; +import com.epmet.dataaggre.entity.epmettduck.PrUserProjectItemEntity; +import com.epmet.dataaggre.service.epmettduck.PrUserProjectItemService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Service +@Slf4j +@DataSource(DataSourceConstant.EPMET_T_DUCK) +public class PrUserProjectItemServiceImpl extends ServiceImpl implements PrUserProjectItemService { + + /** + * @Description 问卷调查详情 + * @Param formDTO + * @author zxc + * @date 2021/9/16 2:51 下午 + */ + @Override + public List queryProjectItem(TDuckDetailFormDTO formDTO) { + List itemEntityList = list(Wrappers.lambdaQuery() + .eq(PrUserProjectItemEntity::getProjectKey, formDTO.getKey()) + .eq(PrUserProjectItemEntity::getDisplayType,formDTO.getDisplayType()) + .orderByAsc(PrUserProjectItemEntity::getSort) + ); + if (CollectionUtils.isEmpty(itemEntityList)){ + return new ArrayList<>(); + } + return itemEntityList; + } +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectLogicServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectLogicServiceImpl.java new file mode 100644 index 0000000000..052d9252a6 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectLogicServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmettduck.PrUserProjectLogicDao; +import com.epmet.dataaggre.dto.epmettduck.PrUserProjectLogicDTO; +import com.epmet.dataaggre.entity.epmettduck.PrUserProjectLogicEntity; +import com.epmet.dataaggre.service.epmettduck.PrUserProjectLogicService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 项目逻辑 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class PrUserProjectLogicServiceImpl extends BaseServiceImpl implements PrUserProjectLogicService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, PrUserProjectLogicDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, PrUserProjectLogicDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public PrUserProjectLogicDTO get(String id) { + PrUserProjectLogicEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, PrUserProjectLogicDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(PrUserProjectLogicDTO dto) { + PrUserProjectLogicEntity entity = ConvertUtils.sourceToTarget(dto, PrUserProjectLogicEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(PrUserProjectLogicDTO dto) { + PrUserProjectLogicEntity entity = ConvertUtils.sourceToTarget(dto, PrUserProjectLogicEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectResultServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectResultServiceImpl.java new file mode 100644 index 0000000000..884b2f2384 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectResultServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmettduck.PrUserProjectResultDao; +import com.epmet.dataaggre.dto.epmettduck.PrUserProjectResultDTO; +import com.epmet.dataaggre.entity.epmettduck.PrUserProjectResultEntity; +import com.epmet.dataaggre.service.epmettduck.PrUserProjectResultService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class PrUserProjectResultServiceImpl extends BaseServiceImpl implements PrUserProjectResultService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, PrUserProjectResultDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, PrUserProjectResultDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public PrUserProjectResultDTO get(String id) { + PrUserProjectResultEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, PrUserProjectResultDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(PrUserProjectResultDTO dto) { + PrUserProjectResultEntity entity = ConvertUtils.sourceToTarget(dto, PrUserProjectResultEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(PrUserProjectResultDTO dto) { + PrUserProjectResultEntity entity = ConvertUtils.sourceToTarget(dto, PrUserProjectResultEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java new file mode 100644 index 0000000000..bc905870e8 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java @@ -0,0 +1,811 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.dto.form.IdAndNameDTO; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.constant.TDuckConstant; +import com.epmet.dataaggre.dao.epmettduck.PrUserProjectDao; +import com.epmet.dataaggre.dao.epmettduck.PrUserProjectResultDao; +import com.epmet.dataaggre.dto.epmettduck.PrPublishRangeDTO; +import com.epmet.dataaggre.dto.epmettduck.PrUserProjectDTO; +import com.epmet.dataaggre.dto.epmettduck.PrVistRecordDTO; +import com.epmet.dataaggre.dto.epmettduck.ProjectItemTypeEnum; +import com.epmet.dataaggre.dto.epmettduck.form.ItemResDetailFormDTO; +import com.epmet.dataaggre.dto.epmettduck.form.ProjectKeyCommonDTO; +import com.epmet.dataaggre.dto.epmettduck.form.TDuckHeaderInfoFormDTO; +import com.epmet.dataaggre.dto.epmettduck.form.TDuckListFormDTO; +import com.epmet.dataaggre.dto.epmettduck.result.*; +import com.epmet.dataaggre.dto.epmettduck.struct.*; +import com.epmet.dataaggre.entity.epmettduck.PrUserProjectEntity; +import com.epmet.dataaggre.entity.epmettduck.PrUserProjectResultEntity; +import com.epmet.dataaggre.service.epmettduck.PrPublishRangeService; +import com.epmet.dataaggre.service.epmettduck.PrUserProjectService; +import com.epmet.dataaggre.service.epmettduck.PrVistRecordService; +import com.epmet.dataaggre.service.govorg.GovOrgService; +import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.form.CustomerGridFormDTO; +import com.epmet.feign.GovOrgOpenFeignClient; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * 项目表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class PrUserProjectServiceImpl extends BaseServiceImpl implements PrUserProjectService { + + @Autowired + private PrUserProjectResultDao prUserProjectResultDao; + @Resource + private PrPublishRangeService prPublishRangeService; + @Resource + private GovOrgService govOrgService; + @Resource + private PrVistRecordService prVistRecordService; + @Autowired + private GovOrgOpenFeignClient govOrgOpenFeignClient; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, PrUserProjectDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, PrUserProjectDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public PrUserProjectDTO get(String id) { + PrUserProjectEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, PrUserProjectDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(PrUserProjectDTO dto) { + PrUserProjectEntity entity = ConvertUtils.sourceToTarget(dto, PrUserProjectEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(PrUserProjectDTO dto) { + PrUserProjectEntity entity = ConvertUtils.sourceToTarget(dto, PrUserProjectEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * 问卷概要 + * + * @param projectKey + * @return com.epmet.dataaggre.dto.epmettduck.result.ProjectProfileResultDTO + * @author yinzuomei + * @date 2021/9/16 2:54 下午 + */ + @Override + public ProjectProfileResultDTO queryProjectProfile(String projectKey) { + return baseDao.queryProjectProfile(projectKey); + } + + /** + * @Description 问卷调查列表 + * @Param formDTO + * @author zxc + * @date 2021/9/18 10:29 上午 + */ + @Override + public List queryProjectList(TDuckListFormDTO formDTO) { + List orgIds = new ArrayList<>(); + // 工作端不需要传orgId + if (formDTO.getClient().equals(TDuckConstant.CLIENT_GOV)){ + // 根据 客户ID 和 人ID 从redis获取信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + String pids = staffInfo.getAgencyPIds(); + String agencyId = staffInfo.getAgencyId(); + // 来源于 部门 + if (staffInfo.getFromOrgType().equals(TDuckConstant.ORG_TYPE_DEPT)){ + List deptList = staffInfo.getDeptList(); + if (CollectionUtils.isEmpty(deptList)){ + return new ArrayList<>(); + } + orgIds = joint(pids,agencyId,deptList); + // 来源于 网格 + }else if (staffInfo.getFromOrgType().equals(TDuckConstant.ORG_TYPE_GRID)){ + List gridList = staffInfo.getGridList(); + if (CollectionUtils.isEmpty(gridList)){ + return new ArrayList<>(); + } + orgIds = joint(pids,agencyId,gridList); + }else { + String selfOrg = pids + ":" + agencyId; + orgIds.add(selfOrg); + } + }else { + CustomerGridFormDTO customerGridFormDTO = new CustomerGridFormDTO(); + customerGridFormDTO.setGridId(formDTO.getOrgId()); + // 查询网格信息 + Result gridResult = govOrgOpenFeignClient.getGridBaseInfoByGridId(customerGridFormDTO); + if (!gridResult.success()){ + throw new RenException("查询网格信息失败了..."); + } + CustomerGridDTO data = gridResult.getData(); + String oneOrg = data.getPids() + ":" + data.getId(); + orgIds.add(oneOrg); + } + // 根据orgIds查询 问卷调查的key + List projectKeys = baseDao.selectProjectKey(orgIds); + if (CollectionUtils.isEmpty(projectKeys)){ + return new ArrayList<>(); + } + PageInfo projectPageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.queryProjectList(projectKeys, formDTO.getStatus(), formDTO.getClient())); + List result = projectPageInfo.getList(); + // 查询此人已填写过的问卷 并赋值已填写字段 + List records = prUserProjectResultDao.selectFillRecordByUserId(formDTO.getUserId()); + if (!CollectionUtils.isEmpty(records)){ + for (String r : records) { + for (TDuckListResultDTO t : result) { + if (t.getIsEveryoneWriteOnceUid() == NumConstant.ONE && r.equals(t.getKey())){ + t.setIsFillQuestion(false); + } + if (r.equals(t.getKey())){ + t.setFillStatus(true); + } + } + } + } + //赋值 orgName + result.forEach(r -> { + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), r.getCreatedBy()); + String orgName = ""; + if (null != staffInfo){ + if (staffInfo.getFromOrgType().equals(TDuckConstant.ORG_TYPE_AGENCY)){ + orgName = staffInfo.getAgencyName(); + }else if (staffInfo.getFromOrgType().equals(TDuckConstant.ORG_TYPE_GRID)){ + for (IdAndNameDTO g : staffInfo.getGridList()) { + if (g.getId().equals(staffInfo.getFromOrgId())){ + orgName = g.getName(); + continue; + } + } + }else if (staffInfo.getFromOrgType().equals(TDuckConstant.ORG_TYPE_DEPT)){ + for (IdAndNameDTO d : staffInfo.getDeptList()) { + if (d.getId().equals(staffInfo.getFromOrgId())){ + orgName = d.getName(); + continue; + } + } + } + } + r.setOrgName(orgName); + }); + return result; + } + + /** + * @Description orgIds拼接 + * @Param pids + * @Param agencyId + * @Param list + * @author zxc + * @date 2021/9/23 4:48 下午 + */ + public List joint(String pids, String agencyId, List list){ + List orgIds = new ArrayList<>(); + list.forEach(l -> { + String oneOrg = pids + ":" + agencyId + ":" + l.getId(); + orgIds.add(oneOrg); + }); + return orgIds; + } + + /** + * 分析报告 + * + * @param projectKey + * @return com.epmet.dataaggre.dto.epmettduck.result.AnalysisReportResDTO + * @author yinzuomei + * @date 2021/9/16 5:57 下午 + */ + @Override + public List queryAnalysisReport(String projectKey) { + List itemList=baseDao.selectItems(projectKey); + if(CollectionUtils.isEmpty(itemList)){ + return new ArrayList<>(); + } + List resultList=baseDao.selectResults(projectKey); + if(CollectionUtils.isEmpty(resultList)){ + return new ArrayList<>(); + } + for(AnalysisReportResDTO item:itemList){ + String currentType=item.getType(); + String key="field".concat(item.getFormItemId()); + log.info("key="+key); + + Map detail=new HashMap<>(); + //总采集数 + detail.put("collectionTotal",resultList.size()); + //有效记录 + int validTotal=0; + + //1、联系人组件统一用一个统计显示多少条,点击查看更多显示汇总列表,如有非必填项没有填写显示空(手机号验证不需要统计) + //2、单行文本、多行文本、时间选择、时间范围、日期选择、日期范围,统计填写人数,点击查看列表 + if(ProjectItemTypeEnum.INPUT.getValue().equals(currentType) + ||ProjectItemTypeEnum.PROVINCE_CITY.getValue().equals(currentType) + ||ProjectItemTypeEnum.INPUT_MAP.getValue().equals(currentType) + ||ProjectItemTypeEnum.TEXTAREA.getValue().equals(currentType) + ||ProjectItemTypeEnum.TIME.getValue().equals(currentType) + ||ProjectItemTypeEnum.TIME_RANGE.getValue().equals(currentType) + ||ProjectItemTypeEnum.DATE.getValue().equals(currentType) + ||ProjectItemTypeEnum.DATE_RANGE.getValue().equals(currentType)){ + + for(PrUserProjectResultEntity res:resultList){ + + JSONObject originalData = JSON.parseObject(res.getOriginalData()); + //手机号、邮箱、身份证、单行文本: INPUT + //多行文本 + //时间选择 + //日期选择 + if(ProjectItemTypeEnum.INPUT.getValue().equals(currentType) + ||ProjectItemTypeEnum.TEXTAREA.getValue().equals(currentType) + ||ProjectItemTypeEnum.TIME.getValue().equals(currentType) + ||ProjectItemTypeEnum.DATE.getValue().equals(currentType)){ + if(originalData.containsKey(key)){ + if(StringUtils.isNotBlank(originalData.get(key).toString())){ + validTotal+=1; + } + }else{ + log.warn("没有当前的key:,可能用户没填写吧"+key); + } + continue; + } + //省市联动: PROVINCE_CITY + //时间范围选择 + //日期范围选择 + if(ProjectItemTypeEnum.PROVINCE_CITY.getValue().equals(currentType) + ||ProjectItemTypeEnum.TIME_RANGE.getValue().equals(currentType) + ||ProjectItemTypeEnum.DATE_RANGE.getValue().equals(currentType)){ + if(originalData.containsKey(key)){ + List provinceCityList= (List) originalData.get(key); + if(!CollectionUtils.isEmpty(provinceCityList)){ + validTotal+=1; + } + } + continue; + } + + //地理位置:INPUT_MAP + if(ProjectItemTypeEnum.INPUT_MAP.getValue().equals(currentType)){ + if(originalData.containsKey(key)){ + List provinceCityList= (List) originalData.get(key); + log.info("地理位置:"+JSON.toJSONString(provinceCityList,true)); + if (!CollectionUtils.isEmpty(provinceCityList) && provinceCityList.size() == 3) { + validTotal += 1; + } + } + //不加也行,后面也没有代码块了 + continue; + } + } + + detail.put("validTotal",validTotal); + item.setDetail(detail); + continue; + } + // 3、下拉选择、级联选择、单选框组、多选框组显示不同选项选择次数、所占比例 + //3.1、下拉选择 + if (ProjectItemTypeEnum.SELECT.getValue().equals(currentType)) { + SelectExpandStruct selectExpandStruct = JSON.parseObject(item.getExpand(), SelectExpandStruct.class); + List options = new ArrayList<>(); + if (null != selectExpandStruct) { + options = ConvertUtils.sourceToTarget(selectExpandStruct.getOptions(), OptionDTO.class); + } + + //共选择了多少次,每道题相加 + int totalCount = 0; + for (OptionDTO optionDTO : options) { + //currentCount:每道题,被选了多少次? + int currentCount = 0; + for (PrUserProjectResultEntity res : resultList) { + JSONObject originalData = JSON.parseObject(res.getOriginalData()); + if (null != selectExpandStruct.getMultiple() && selectExpandStruct.getMultiple()) { + //多选 + if(originalData.containsKey(key)){ + List answers = (List) originalData.get(key); + if (!CollectionUtils.isEmpty(answers) && answers.contains(optionDTO.getValue())) { + currentCount += 1; + } + } + + } else { + //单选 + if(originalData.containsKey(key)){ + Integer answer = (Integer) originalData.get(key); + if (null != answer && optionDTO.getValue() == answer) { + currentCount += 1; + } + } + } + } + optionDTO.setCurrentCount(currentCount); + totalCount += currentCount; + } + detail.put("totalCount", totalCount); + detail.put("options", options); + item.setDetail(detail); + continue; + } + // 3.2 单选 + if (ProjectItemTypeEnum.RADIO.getValue().equals(currentType)) { + RadioExpandStruct radioExpandStruct = JSON.parseObject(item.getExpand(), RadioExpandStruct.class); + List options = new ArrayList<>(); + if (null != radioExpandStruct) { + options = ConvertUtils.sourceToTarget(radioExpandStruct.getOptions(), OptionDTO.class); + } + + //共选择了多少次,每道题相加 + int totalCount = 0; + for (OptionDTO optionDTO : options) { + //currentCount:每道题,被选了多少次? + int currentCount = 0; + for (PrUserProjectResultEntity res : resultList) { + JSONObject originalData = JSON.parseObject(res.getOriginalData()); + //单选 + if(originalData.containsKey(key)){ + Integer answer = (Integer) originalData.get(key); + if (null != answer && optionDTO.getValue() == answer) { + currentCount += 1; + } + } + } + optionDTO.setCurrentCount(currentCount); + totalCount += currentCount; + } + detail.put("totalCount", totalCount); + detail.put("options", options); + item.setDetail(detail); + continue; + } + + // 3.3多选 + if (ProjectItemTypeEnum.CHECKBOX.getValue().equals(currentType)) { + CheckboxExpandStruct checkboxExpandStruct = JSON.parseObject(item.getExpand(), CheckboxExpandStruct.class); + List options = new ArrayList<>(); + if (null != checkboxExpandStruct) { + options = ConvertUtils.sourceToTarget(checkboxExpandStruct.getOptions(), OptionDTO.class); + } + + //共选择了多少次,每道题相加 + int totalCount = 0; + for (OptionDTO optionDTO : options) { + //currentCount:每道题,被选了多少次? + int currentCount = 0; + for (PrUserProjectResultEntity res : resultList) { + JSONObject originalData = JSON.parseObject(res.getOriginalData()); + //多选 + if(originalData.containsKey(key)){ + List answers = (List) originalData.get(key); + if (!CollectionUtils.isEmpty(answers) && answers.contains(optionDTO.getValue())) { + currentCount += 1; + } + } + } + optionDTO.setCurrentCount(currentCount); + totalCount += currentCount; + } + detail.put("totalCount", totalCount); + detail.put("options", options); + item.setDetail(detail); + continue; + } + + //3.4级联 todo + if(ProjectItemTypeEnum.CASCADER.getValue().equals(currentType)){ + //目前cascaderExpandStruct 没啥用 + CascaderExpandStruct cascaderExpandStruct = JSON.parseObject(item.getExpand(), CascaderExpandStruct.class); + //共选择了多少次,每道题相加 + int totalCount = 0; + Map resMap = new HashMap<>(); + for (PrUserProjectResultEntity res : resultList) { + //级联组件,用processdata特殊处理下 + JSONObject originalData = JSON.parseObject(res.getProcessData()); + if(originalData.containsKey(key)){ + List dtoList = JSON.parseArray(originalData.get(key).toString(), CascaderDTO.class); + if(CollectionUtils.isEmpty(dtoList)){ + log.info(String.format("当前userId:%s,没有填写本题itemId:%s",res.getUserId(),key)); + continue; + } + + for (CascaderDTO cascaderDTO : dtoList) { + if (null != cascaderDTO && !CollectionUtils.isEmpty(cascaderDTO.getLabels())) { + totalCount += 1; + String pathName = StringUtils.join(cascaderDTO.getLabels(), StringUtils.isNotBlank(cascaderExpandStruct.getSeparator()) ? cascaderExpandStruct.getSeparator() : StrConstant.HYPHEN); + Integer count = resMap.get(pathName); + resMap.put(pathName, count == null ? 1 : count + 1); + } + } + } + } + detail.put("totalCount", totalCount); + detail.put("profile", resMap); + item.setDetail(detail); + continue; + } + + //4、计数器显示所有填写者选择的数字总和 + if(ProjectItemTypeEnum.NUMBER_INPUT.getValue().equals(currentType)){ + int sumTotal=0; + for(PrUserProjectResultEntity res:resultList){ + JSONObject originalData = JSON.parseObject(res.getOriginalData()); + if(originalData.containsKey(key)){ + Integer score= (Integer) originalData.get(key); + if(null!=score){ + sumTotal+=score; + validTotal+=1; + } + } + } + detail.put("validTotal",validTotal); + detail.put("sumTotal",sumTotal); + item.setDetail(detail); + continue; + } + + + //5、开关统计开有多少、关有多少 + if(ProjectItemTypeEnum.SWITCH.getValue().equals(currentType)){ + int openTotal=0; + int closedTotal=0; + for(PrUserProjectResultEntity res:resultList){ + JSONObject originalData = JSON.parseObject(res.getOriginalData()); + if(originalData.containsKey(key)){ + Boolean result= (Boolean) originalData.get(key); + if(null!=result){ + validTotal+=1; + if(result){ + openTotal+=1; + }else{ + closedTotal+=1; + } + } + } + } + detail.put("validTotal",validTotal); + detail.put("openTotal",openTotal); + detail.put("closedTotal",closedTotal); + item.setDetail(detail); + continue; + } + + //6、滑块、颜色选择、上传不统计 + + //7、评分统计1星几人,2星几人,3星几人......,显示平均分 + if (ProjectItemTypeEnum.RATE.getValue().equals(currentType)) { + // 1、标签设置的满星是几个星星? + RateExpandStruct rateExpandStruct = JSON.parseObject(item.getExpand(), RateExpandStruct.class); + if (null != rateExpandStruct && null != rateExpandStruct.getMax()) { + detail.put("maxStarNum", rateExpandStruct.getMax()); + } else { + log.warn(String.format("当前评分组件未设置最大值,默认赋值5,projectKey:%s,itemId:%s",projectKey,item.getFormItemId())); + detail.put("maxStarNum", NumConstant.FIVE); + } + + //总分 + int totalStarNum = 0; + Map starMap = new HashMap<>(); + for (PrUserProjectResultEntity res : resultList) { + JSONObject originalData = JSON.parseObject(res.getOriginalData()); + if(originalData.containsKey(key)){ + Integer starNum = (Integer) originalData.get(key); + if (null != starNum) { + validTotal += 1; + totalStarNum += starNum; + Integer count = starMap.get(starNum); + starMap.put(starNum, count == null ? 1 : count + 1); + + } + } + } + //按照星星大小升序排列 + this.sortMap(starMap, true); + //2、平均分 + detail.put("avgStarNum", new BigDecimal((float)totalStarNum / validTotal).setScale(0, BigDecimal.ROUND_HALF_UP)); + //3、几条有效记录 + detail.put("validTotal", validTotal); + //4、得分列表 + detail.put("starProfile", starMap); + item.setDetail(detail); + continue; + } + + + } + return itemList; + } + + /** + * @Description 查询问卷调查的头部信息 + * @Param formDTO + * @author zxc + * @date 2021/9/18 10:35 上午 + */ + @Override + public PrUserProjectEntity headerInfo(TDuckHeaderInfoFormDTO formDTO) { + PrUserProjectEntity prUserProjectEntity = baseDao.selectOne(new QueryWrapper().lambda().eq(PrUserProjectEntity::getKey, formDTO.getProjectKey())); + return prUserProjectEntity; + } + + /** + * @param projectKey + * @Description 获取发布范围 + * @Param projectKey + * @Return {@link GetRangeResultDTO} + * @Author zhaoqifeng + * @Date 2021/9/18 15:18 + */ + @Override + public GetRangeResultDTO getRange(String projectKey) { + GetRangeResultDTO result = new GetRangeResultDTO(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PrUserProjectEntity :: getKey, projectKey); + PrUserProjectEntity entity = baseDao.selectOne(wrapper); + result.setClient(entity.getClient()); + result.setOrgList(prPublishRangeService.getRangeOrgList(projectKey)); + return result; + } + + private List> sortMap(Map map, boolean asc) { + + Stream> stream = null; + if (asc) { + stream = map.entrySet().stream().sorted(Map.Entry.comparingByValue()); + } else { + stream = map.entrySet().stream().sorted(Collections.reverseOrder(Map.Entry.comparingByValue())); + } + return stream.collect(Collectors.toList()); + } + + + /** + * 查看详情 + * 1、联系人组件统一用一个统计显示多少条,点击查看更多显示汇总列表,如有非必填项没有填写显示空(手机号验证不需要统计) + * 2、单行文本、多行文本、时间选择、时间范围、日期选择、日期范围,统计填写人数,点击查看列表 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/9/22 1:37 下午 + */ + @Override + public List queryItemResDetail(ItemResDetailFormDTO formDTO) { + List resultList=baseDao.selectResults(formDTO.getProjectKey()); + if(CollectionUtils.isEmpty(resultList)){ + return new ArrayList<>(); + } + List stringList=new ArrayList<>(); + String key="field".concat(formDTO.getFormItemId()); + for(PrUserProjectResultEntity res:resultList){ + JSONObject originalData = JSON.parseObject(res.getOriginalData()); + if(ProjectItemTypeEnum.INPUT.getValue().equals(formDTO.getType()) + ||ProjectItemTypeEnum.TEXTAREA.getValue().equals(formDTO.getType()) + ||ProjectItemTypeEnum.TIME.getValue().equals(formDTO.getType()) + ||ProjectItemTypeEnum.DATE.getValue().equals(formDTO.getType())){ + if(originalData.containsKey(key)){ + stringList.add((String) originalData.get(key)); + continue; + } + }else if(ProjectItemTypeEnum.TIME_RANGE.getValue().equals(formDTO.getType()) + ||ProjectItemTypeEnum.DATE_RANGE.getValue().equals(formDTO.getType())){ + if(originalData.containsKey(key)){ + List originalList= (List) originalData.get(key); + if(!CollectionUtils.isEmpty(originalList)){ + String rangeStr=StringUtils.join(originalList,StrConstant.COMMA); + stringList.add(rangeStr); + } + } + } + } + return stringList; + } + + /** + * 联系人组件 + * + * @param formDTO + * @return com.epmet.dataaggre.dto.epmettduck.result.ItemResDetailConcatResultDTO + * @author yinzuomei + * @date 2021/9/22 2:57 下午 + */ + @Override + public ItemResDetailConcatResultDTO queryItemResDetailConcat(ProjectKeyCommonDTO formDTO) { + // 联系人题目 + List itemList=baseDao.selectCocatItems(formDTO.getProjectKey()); + if(CollectionUtils.isEmpty(itemList)){ + return new ItemResDetailConcatResultDTO(); + } + //答案 + List resultList=baseDao.selectResults(formDTO.getProjectKey()); + if(CollectionUtils.isEmpty(resultList)){ + return new ItemResDetailConcatResultDTO(); + } + + ItemResDetailConcatResultDTO resultDTO=new ItemResDetailConcatResultDTO(); + + List tableHeaderList=new ArrayList<>(); + for(AnalysisReportResDTO item:itemList){ + ConcatTableHeaderDTO headerDTO=new ConcatTableHeaderDTO(); + headerDTO.setFormItemId(item.getFormItemId()); + headerDTO.setLabel(item.getLabel()); + headerDTO.setType(item.getType()); + tableHeaderList.add(headerDTO); + } + + List> dataMap=new ArrayList<>(); + + for (PrUserProjectResultEntity res : resultList) { + JSONObject originalData = JSON.parseObject(res.getOriginalData()); + Map mapUnit=new HashMap<>(); + //start + for (ConcatTableHeaderDTO header : tableHeaderList) { + String key = "field".concat(header.getFormItemId()); + //手机号、邮箱、身份证、单行文本: INPUT + if (ProjectItemTypeEnum.INPUT.getValue().equals(header.getType())) { + if (originalData.containsKey(key)) { + if (StringUtils.isNotBlank(originalData.get(key).toString())) { + mapUnit.put(header.getFormItemId(),(String) originalData.get(key)); + } else { + mapUnit.put(header.getFormItemId(),StrConstant.EPMETY_STR); + } + } else { + log.warn("没有当前的key:,可能用户没填写吧" + key); + mapUnit.put(header.getFormItemId(),StrConstant.HYPHEN); + } + } + //省市联动: PROVINCE_CITY + if (ProjectItemTypeEnum.PROVINCE_CITY.getValue().equals(header.getType())) { + if (originalData.containsKey(key)) { + List provinceCityList = (List) originalData.get(key); + if (!CollectionUtils.isEmpty(provinceCityList)) { + mapUnit.put(header.getFormItemId(),StringUtils.join(provinceCityList, StrConstant.HYPHEN)); + } else { + mapUnit.put(header.getFormItemId(),StrConstant.EPMETY_STR); + } + } else { + log.warn("没有当前的key:,可能用户没填写吧" + key); + mapUnit.put(header.getFormItemId(),StrConstant.HYPHEN); + } + } + + //地理位置:INPUT_MAP + if (ProjectItemTypeEnum.INPUT_MAP.getValue().equals(header.getType())) { + if (originalData.containsKey(key)) { + List inputMap = (List) originalData.get(key); + log.info("地理位置:" + JSON.toJSONString(inputMap, true)); + if (!CollectionUtils.isEmpty(inputMap) && inputMap.size() == 3) { + mapUnit.put(header.getFormItemId(),inputMap.get(2)); + } else { + mapUnit.put(header.getFormItemId(),StrConstant.EPMETY_STR); + } + } else { + log.warn("没有当前的key:,可能用户没填写吧" + key); + mapUnit.put(header.getFormItemId(),StrConstant.HYPHEN); + } + } + }//end + dataMap.add(mapUnit); + } + resultDTO.setTableHeaderList(tableHeaderList); + resultDTO.setDataMap(dataMap); + return resultDTO; + } + + /** + * 有新的问卷显示小红点 + * + * @param tokenDto + * @Param tokenDto + * @Return {@link RedPointResultDTO} + * @Author zhaoqifeng + * @Date 2021/9/23 10:05 + */ + @Override + public RedPointResultDTO redPoint(TokenDto tokenDto) { + RedPointResultDTO result = new RedPointResultDTO(); + List orgList = govOrgService.getStaffOrgList(tokenDto.getUserId()); + List list = prPublishRangeService.getListByOrg(orgList); + if (CollectionUtils.isEmpty(list)) { + result.setRedPoint(NumConstant.ZERO_STR); + return result; + } + PrVistRecordDTO visitRecord = prVistRecordService.getNewestRecord(tokenDto.getUserId()); + if (null == visitRecord) { + result.setRedPoint(NumConstant.ONE_STR); + return result; + } + if (list.get(0).getCreatedTime().compareTo(visitRecord.getCreatedTime()) > 0) { + result.setRedPoint(NumConstant.ONE_STR); + } else { + result.setRedPoint(NumConstant.ZERO_STR); + } + return result; + } + + @Override + public PrUserProjectEntity getProjectEntityBykey(String key) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(PrUserProjectEntity::getKey, key); + return baseDao.selectOne(query); + } +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectSettingServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectSettingServiceImpl.java new file mode 100644 index 0000000000..cbfb3989f0 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectSettingServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmettduck.PrUserProjectSettingDao; +import com.epmet.dataaggre.dto.epmettduck.PrUserProjectSettingDTO; +import com.epmet.dataaggre.entity.epmettduck.PrUserProjectSettingEntity; +import com.epmet.dataaggre.service.epmettduck.PrUserProjectSettingService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class PrUserProjectSettingServiceImpl extends BaseServiceImpl implements PrUserProjectSettingService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, PrUserProjectSettingDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, PrUserProjectSettingDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public PrUserProjectSettingDTO get(String id) { + PrUserProjectSettingEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, PrUserProjectSettingDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(PrUserProjectSettingDTO dto) { + PrUserProjectSettingEntity entity = ConvertUtils.sourceToTarget(dto, PrUserProjectSettingEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(PrUserProjectSettingDTO dto) { + PrUserProjectSettingEntity entity = ConvertUtils.sourceToTarget(dto, PrUserProjectSettingEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectThemeServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectThemeServiceImpl.java new file mode 100644 index 0000000000..ef204311f3 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectThemeServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmettduck.PrUserProjectThemeDao; +import com.epmet.dataaggre.dto.epmettduck.PrUserProjectThemeDTO; +import com.epmet.dataaggre.entity.epmettduck.PrUserProjectThemeEntity; +import com.epmet.dataaggre.service.epmettduck.PrUserProjectThemeService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 项目表单项 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class PrUserProjectThemeServiceImpl extends BaseServiceImpl implements PrUserProjectThemeService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, PrUserProjectThemeDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, PrUserProjectThemeDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public PrUserProjectThemeDTO get(String id) { + PrUserProjectThemeEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, PrUserProjectThemeDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(PrUserProjectThemeDTO dto) { + PrUserProjectThemeEntity entity = ConvertUtils.sourceToTarget(dto, PrUserProjectThemeEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(PrUserProjectThemeDTO dto) { + PrUserProjectThemeEntity entity = ConvertUtils.sourceToTarget(dto, PrUserProjectThemeEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrVistRecordServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrVistRecordServiceImpl.java new file mode 100644 index 0000000000..fbc0034277 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrVistRecordServiceImpl.java @@ -0,0 +1,126 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmettduck.PrVistRecordDao; +import com.epmet.dataaggre.dto.epmettduck.PrVistRecordDTO; +import com.epmet.dataaggre.entity.epmettduck.PrVistRecordEntity; +import com.epmet.dataaggre.service.epmettduck.PrVistRecordService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 用户访问问卷记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class PrVistRecordServiceImpl extends BaseServiceImpl implements PrVistRecordService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, PrVistRecordDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, PrVistRecordDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public PrVistRecordDTO get(String id) { + PrVistRecordEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, PrVistRecordDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(PrVistRecordDTO dto) { + PrVistRecordEntity entity = ConvertUtils.sourceToTarget(dto, PrVistRecordEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(PrVistRecordDTO dto) { + PrVistRecordEntity entity = ConvertUtils.sourceToTarget(dto, PrVistRecordEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * @param staffId + * @Description 获取最新访问记录 + * @Param staffId + * @Return {@link PrVistRecordDTO} + * @Author zhaoqifeng + * @Date 2021/9/23 14:16 + */ + @Override + public PrVistRecordDTO getNewestRecord(String staffId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PrVistRecordEntity::getUserId, staffId); + wrapper.orderByDesc(PrVistRecordEntity::getCreatedTime); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(list)) { + return null; + } + return ConvertUtils.sourceToTarget(list, PrVistRecordDTO.class).get(0); + } + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/WxMpUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/WxMpUserServiceImpl.java new file mode 100644 index 0000000000..ac4e961890 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/WxMpUserServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.service.epmettduck.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmettduck.WxMpUserDao; +import com.epmet.dataaggre.dto.epmettduck.WxMpUserDTO; +import com.epmet.dataaggre.entity.epmettduck.WxMpUserEntity; +import com.epmet.dataaggre.service.epmettduck.WxMpUserService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 微信公众号用户 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-09-15 + */ +@Slf4j +@DataSource(DataSourceConstant.EPMETTDUCK) +@Service +public class WxMpUserServiceImpl extends BaseServiceImpl implements WxMpUserService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, WxMpUserDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, WxMpUserDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public WxMpUserDTO get(String id) { + WxMpUserEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, WxMpUserDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(WxMpUserDTO dto) { + WxMpUserEntity entity = ConvertUtils.sourceToTarget(dto, WxMpUserEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(WxMpUserDTO dto) { + WxMpUserEntity entity = ConvertUtils.sourceToTarget(dto, WxMpUserEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 649ab17806..a131ca29dd 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -600,6 +600,7 @@ public class EpmetUserServiceImpl implements EpmetUserService { } result.setAgencyId(agencyDTO.getId()); result.setAgencyName(agencyDTO.getOrganizationName()); + result.setAgencyPIds(agencyDTO.getPids()); StaffOrgRelationResultDTO fromOrgTypeDto = govOrgService.getStaffFromOrgType(staffId); String fromOrgType = OrgTypeEnum.AGENCY.getCode(); if (fromOrgTypeDto != null){ diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index a641be3095..41b97b57ac 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -135,4 +135,23 @@ public interface GovOrgService { * @return */ StaffOrgRelationResultDTO getStaffFromOrgType(String staffId); + + /** + * @Description 当前组织级下级组织树 + * @Param tokenDto + * @Param formDTO + * @Return {@link OrgTreeResultDTO} + * @Author zhaoqifeng + * @Date 2021/9/17 14:03 + */ + List getAgencyTree(TokenDto tokenDto, SubOrgFormDTO formDTO); + + /** + * @Description 工作人员所在的组织,部门,网格 + * @Param staffId + * @Return {@link List< String>} + * @Author zhaoqifeng + * @Date 2021/9/23 10:14 + */ + List getStaffOrgList(String staffId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 8142f4a728..d4e265cdec 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -497,4 +497,39 @@ public class GovOrgServiceImpl implements GovOrgService { return customerAgencyDao.getStaffFromOrgType(staffId); } + /** + * @param tokenDto + * @param formDTO + * @Description 当前组织级下级组织树 + * @Param tokenDto + * @Param formDTO + * @Return {@link OrgTreeResultDTO} + * @Author zhaoqifeng + * @Date 2021/9/17 14:03 + */ + @Override + public List getAgencyTree(TokenDto tokenDto, SubOrgFormDTO formDTO) { + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); + List list = new ArrayList<>(); + if ("resi".equals(formDTO.getClient())) { + list.add(customerAgencyDao.getResiOrgTree(staffInfo.getAgencyId())); + return list; + } + list.add(customerAgencyDao.getOrgTree(staffInfo.getAgencyId())); + return list; + } + + /** + * @param staffId + * @Description 工作人员所在的组织,部门,网格 + * @Param staffId + * @Return {@link List< String>} + * @Author zhaoqifeng + * @Date 2021/9/23 10:14 + */ + @Override + public List getStaffOrgList(String staffId) { + return customerAgencyDao.getOrgList(staffId); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/QuestionnaireServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/QuestionnaireServiceImpl.java new file mode 100644 index 0000000000..1c6aab452d --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/QuestionnaireServiceImpl.java @@ -0,0 +1,193 @@ +package com.epmet.dataaggre.service.impl; + +import com.epmet.commons.tools.constant.AppClientConstant; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.dto.form.IdAndNameDTO; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.feign.ResultDataResolver; +import com.epmet.commons.tools.redis.RedisKeys; +import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dataaggre.dto.epmettduck.result.PermissionValidateResultDTO; +import com.epmet.dataaggre.entity.epmettduck.PrPublishRangeEntity; +import com.epmet.dataaggre.entity.epmettduck.PrUserProjectEntity; +import com.epmet.dataaggre.service.QuestionnaireService; +import com.epmet.dataaggre.service.epmettduck.PrPublishRangeService; +import com.epmet.dataaggre.service.epmettduck.PrUserProjectService; +import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.form.CustomerGridFormDTO; +import com.epmet.feign.GovOrgOpenFeignClient; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +@Service +@Slf4j +public class QuestionnaireServiceImpl implements QuestionnaireService, ResultDataResolver { + + /** 调查问卷有效期 15min */ + public static final long QUESTIONNAIRE_EXPIRE_SECONDS = 15 * 60; + + @Autowired + private PrUserProjectService prUserProjectService; + + @Autowired + private PrPublishRangeService prPublishRangeService; + + @Autowired + private GovOrgOpenFeignClient govOrgOpenFeignClient; + + @Autowired + private RedisUtils redisUtils; + + @Autowired + private CustomerStaffRedis customerStaffRedis; + + /** + * @description 居民端调查问卷权限校验 + * + * @param projectKey + * @param userId + * @param gridId + * @return + * @author wxz + * @date 2021.09.23 17:45:25 + */ + public PermissionValidateResultDTO resiPermissionValidate(String projectKey, String userId, String gridId) { + + PrUserProjectEntity project = prUserProjectService.getProjectEntityBykey(projectKey); + if (project == null || !AppClientConstant.APP_RESI.equals(project.getClient())) { + // 工作端只能看到发布到居民端的 + log.warn("【调查问卷】居民端无法查看发布到工作端的调查问卷,staffId:{}, projectKey:{}", userId, projectKey); + return generateValidateResult(userId, projectKey, false); + } + + CustomerGridFormDTO form = new CustomerGridFormDTO(); + form.setGridId(gridId); + Result gridInfoResult = govOrgOpenFeignClient.getGridBaseInfoByGridId(form); + CustomerGridDTO gridInfo = getResultDataOrThrowsException(gridInfoResult, ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "【调查问卷】校验访问权限,查询网格信息失败"); + // 网格父级ID列表:网格ID(拼接起来,冒号分割) + String gridIdPath = gridInfo.getPids().concat(":").concat(gridInfo.getId()); + List publishRangeEntity = prPublishRangeService.getPublishRangeEntity(projectKey); + PermissionValidateResultDTO r = new PermissionValidateResultDTO(); + for (PrPublishRangeEntity rangeEntity : publishRangeEntity) { + if (gridIdPath.contains(rangeEntity.getOrgIds())) { + return generateValidateResult(userId, projectKey, true); + } + } + r.setPermitted(false); + return r; + } + + @Override + public PermissionValidateResultDTO govPermissionValidate(String projectKey, String staffId, String customerId) { + PrUserProjectEntity project = prUserProjectService.getProjectEntityBykey(projectKey); + if (project == null || !"gov".equals(project.getClient())) { + // 工作端只能看到发布到工作端的 + log.warn("【调查问卷】工作端无法查看发布到居民端的调查问卷,staffId:{}, projectKey:{}", staffId, projectKey); + return generateValidateResult(staffId, projectKey, false); + } + + List gridRangeOrgIds = new ArrayList<>(); + List agencyRangeOrgIds = new ArrayList<>(); + List deptRangeOrgIds = new ArrayList<>(); + + // 将发布范围分别放到3个不同的列表中 + List publishRangeEntitys = prPublishRangeService.getPublishRangeEntity(projectKey); + publishRangeEntitys.forEach(rangeEntity -> { + if ("grid".equals(rangeEntity.getOrgType())) { + gridRangeOrgIds.add(rangeEntity.getOrgIds()); + } else if ("agency".equals(rangeEntity.getOrgType())) { + agencyRangeOrgIds.add(rangeEntity.getOrgIds()); + } else if ("dept".equals(rangeEntity.getOrgType())) { + deptRangeOrgIds.add(rangeEntity.getOrgIds()); + } else { + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), String.format("【调查问卷】未知的发布范围类型:%s", rangeEntity.getOrgType())); + } + }); + + CustomerStaffInfoCacheResult staffInfo = customerStaffRedis.getStaffInfo(customerId, staffId); + PermissionValidateResultDTO r = null; + //if ("agency".equals(staffInfo.getFromOrgType())) { + // // 来自agency + // + //} else if ("grid".equals(staffInfo.getFromOrgType())) { + // List belongGridList = staffInfo.getGridList(); + // + //} else if ("dept".equals(staffInfo.getFromOrgType())) { + // + //} + + String agencyId = staffInfo.getAgencyId(); + String agencyPIds = staffInfo.getAgencyPIds(); + + // 网格范围内的权限判断 + List staffGridList = staffInfo.getGridList(); + for (IdAndNameDTO gridIdAndName : staffGridList) { + // 工作人员所属的 父orgId路径:网格id + String staffGridIdPath = (StringUtils.isEmpty(agencyPIds) ? "" : agencyPIds.concat(":")).concat(agencyId).concat(":").concat(gridIdAndName.getId()); + for (String gridRangeOrgId : gridRangeOrgIds) { + if (staffGridIdPath.contains(gridRangeOrgId)) { + r = generateValidateResult(staffId, projectKey, true); + return r; + } + } + } + + // dept范围内的权限判断 + List staffDeptList = staffInfo.getDeptList(); + for (IdAndNameDTO deptIdAndName : staffDeptList) { + // 工作人员所属的 父orgId路径:网格id + String staffDeptIdPath = (StringUtils.isEmpty(agencyPIds) ? "" : agencyPIds.concat(":")).concat(agencyId).concat(":").concat(deptIdAndName.getId()); + for (String deptRangeOrgIdPath : deptRangeOrgIds) { + if (staffDeptIdPath.contains(deptRangeOrgIdPath)) { + r = generateValidateResult(staffId, projectKey, true); + return r; + } + } + } + + // agency范围内的权限判断 + String staffAgencyIdPath = (StringUtils.isEmpty(agencyPIds) ? "" : agencyPIds.concat(":")).concat(agencyId); + for (String agencyRangeOrgId : agencyRangeOrgIds) { + if (staffAgencyIdPath.contains(agencyRangeOrgId)) { + r = generateValidateResult(staffId, projectKey, true); + return r; + } + } + + // 如果上述范围中都不能判断通过,那么返回一个不通过的结果给到前端 + r = generateValidateResult(staffId, projectKey, false); + return r; + } + + /** + * @description 生成权限允许的返回结果 + * + * @param userId + * @param projectKey + * @param permitted 是否允许访问 + * @return + * @author wxz + * @date 2021.09.23 23:19:17 + */ + private PermissionValidateResultDTO generateValidateResult(String userId, String projectKey, Boolean permitted) { + PermissionValidateResultDTO d = new PermissionValidateResultDTO(); + d.setPermitted(permitted); + if (permitted) { + String accessKey = UUID.randomUUID().toString().replace("-", ""); + redisUtils.set(RedisKeys.getQuestionnaireAccessKey(userId, projectKey), accessKey, QUESTIONNAIRE_EXPIRE_SECONDS); + d.setAccessKey(accessKey); + } + return d; + } + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml index f84136b69a..102666f3d7 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml @@ -149,6 +149,11 @@ dynamic: url: @datasource.druid.epmetmessage.url@ username: @datasource.druid.epmetmessage.username@ password: @datasource.druid.epmetmessage.password@ + epmettduck: + driver-class-name: com.mysql.cj.jdbc.Driver + url: @datasource.druid.epmettduck.url@ + username: @datasource.druid.epmettduck.username@ + password: @datasource.druid.epmettduck.password@ feign: hystrix: enabled: true diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/AcUserAuthorizeDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/AcUserAuthorizeDao.xml new file mode 100644 index 0000000000..1cc4a2cb90 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/AcUserAuthorizeDao.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/AcUserDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/AcUserDao.xml new file mode 100644 index 0000000000..4f535b8f2e --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/AcUserDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrProjectTemplateCategoryDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrProjectTemplateCategoryDao.xml new file mode 100644 index 0000000000..96c8a210a6 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrProjectTemplateCategoryDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrProjectTemplateDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrProjectTemplateDao.xml new file mode 100644 index 0000000000..c30a76a1f1 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrProjectTemplateDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrProjectTemplateItemDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrProjectTemplateItemDao.xml new file mode 100644 index 0000000000..197a181c03 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrProjectTemplateItemDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrProjectThemeDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrProjectThemeDao.xml new file mode 100644 index 0000000000..8f4279bdb3 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrProjectThemeDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrPublishRangeDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrPublishRangeDao.xml new file mode 100644 index 0000000000..cc492bd0c7 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrPublishRangeDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrResultExtDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrResultExtDao.xml new file mode 100644 index 0000000000..55290a422c --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrResultExtDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectDao.xml new file mode 100644 index 0000000000..a22d98b11d --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectDao.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectItemDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectItemDao.xml new file mode 100644 index 0000000000..f607213e79 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectItemDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectLogicDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectLogicDao.xml new file mode 100644 index 0000000000..79457b8115 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectLogicDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectResultDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectResultDao.xml new file mode 100644 index 0000000000..76fc783368 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectResultDao.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectSettingDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectSettingDao.xml new file mode 100644 index 0000000000..690165fcd8 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectSettingDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectThemeDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectThemeDao.xml new file mode 100644 index 0000000000..aacfe09e64 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectThemeDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrVistRecordDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrVistRecordDao.xml new file mode 100644 index 0000000000..8ea675b0e9 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrVistRecordDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/WxMpUserDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/WxMpUserDao.xml new file mode 100644 index 0000000000..c4886d8ded --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/WxMpUserDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml index 2573d8b674..aa345e87b3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml @@ -142,4 +142,148 @@ SELECT STAFF_ID,ORG_ID,ORG_TYPE FROM staff_org_relation WHERE del_flag = '0' AND staff_id = #{staffId} + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java index 78d6fd7c81..87b7b20a32 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java @@ -29,7 +29,7 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.RedisKeys; -import com.epmet.commons.tools.redis.common.bean.GridInfoCache; +import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.utils.Result; @@ -47,7 +47,6 @@ import com.epmet.resi.group.dto.group.result.GroupPointDetailResultDTO; import com.epmet.dto.result.GroupPointRankingResultDTO; import com.epmet.entity.BizPointTotalDetailEntity; import com.epmet.resi.group.dto.group.ResiGroupDTO; -import com.epmet.resi.group.dto.group.result.RankingResultDTO; import com.epmet.resi.group.enums.SearchScopeTypeEnum; import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.service.BizPointTotalDetailService; @@ -88,6 +87,8 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl redisTemplate; @Autowired private GovOrgOpenFeignClient govOrgOpenFeignClient; + @Autowired + private RedisUtils redisUtils; @Override public PageData page(Map params) { @@ -320,8 +321,8 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl ope = redisTemplate.opsForHash(); - Map entries = ope.entries(RedisKeys.getGridInfoKey(gridId)); - if (entries.size() != 0) { - return BeanUtil.mapToBean(entries, GridInfoCache.class, true); + public CustomerGridDTO getGridInfo(String gridId) { + String redisKey = RedisKeys.getGridInfoKey(gridId); + Map gridCache = redisUtils.hGetAll(redisKey); + if (gridCache != null && gridCache.size() > 0) { + // 直接取缓存中的 + CustomerGridDTO gridInfo = BeanUtil.mapToBean(gridCache, CustomerGridDTO.class, true); + return gridInfo; } CustomerGridFormDTO form = new CustomerGridFormDTO(); form.setGridId(gridId); - Result result = govOrgOpenFeignClient.getCustomerGridByGridId(form); - if (result == null || !result.success() || result.getData() == null) { - return null; - } - - GridInfoCache cache = new GridInfoCache(); - cache.setCustomerId(result.getData().getCustomerId()); - cache.setGridId(result.getData().getId()); - cache.setGridNamePath(result.getData().getGridName()); - cache.setPid(result.getData().getPid()); - cache.setPids(result.getData().getPids()); - ope.putAll(RedisKeys.getGridInfoKey(gridId), BeanUtil.beanToMap(cache)); - return cache; + Result result = govOrgOpenFeignClient.getGridBaseInfoByGridId(form); + return getResultDataOrThrowsException(result, ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "【小组排名】查询网格信息失败"); } @Override diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java index 39a0968121..d58682f00a 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java @@ -49,6 +49,9 @@ public class CustomerGridDTO implements Serializable { */ private String gridName; + /** 组织-网格 */ + private String gridNamePath; + /** * 中心位置经度 */ diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java index 01b1630ebc..2e3adc0e89 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java @@ -63,4 +63,10 @@ public class MineResultDTO implements Serializable { * 根组织名 */ private String rootAgencyName; + //工作人员添加入口Id(agencyId;deptId;gridId) + private String orgId = ""; + //人员注册时所属组织名【组织-组织,组织-部门,组织-网格】 + private String orgName = ""; + //工作人员添加入口类型(组织:agency;部门:dept;网格:gridId) + private String orgType = ""; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffOrgNameResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffOrgNameResultDTO.java new file mode 100644 index 0000000000..58424f63f0 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffOrgNameResultDTO.java @@ -0,0 +1,45 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 查询工作人员注册组织信息 + * @author sun + */ +@Data +public class StaffOrgNameResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + //工作人员所属组织Id + private String agencyId = ""; + //人员Id + private String staffId = ""; + //人员注册时所属组织名【组织-组织,组织-部门,组织-网格】 + private String orgName = ""; + //工作人员添加入口Id(agencyId;deptId;gridId) + private String orgId = ""; + //工作人员添加入口类型(组织:agency;部门:dept;网格:gridId) + private String orgType = ""; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index 7e7de0e4b2..39d15fb9a5 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -427,4 +427,16 @@ public interface GovOrgOpenFeignClient { */ @PostMapping("/gov/org/customeragency/getAgencyInfo") Result getAgencyInfo(@RequestBody OrgFormDTO formDTO); + + + /** + * desc: 获取网格基础数据 + * + * @param customerGridFormDTO + * @return com.epmet.commons.tools.utils.Result + * @author LiuJanJun + * @date 2021/4/19 11:19 上午 + */ + @PostMapping("/gov/org/grid/getbaseinfo") + Result getGridBaseInfoByGridId(CustomerGridFormDTO customerGridFormDTO); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index 38f5df4626..306ea49022 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -261,6 +261,11 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAgencyInfo", formDTO); } + @Override + public Result getGridBaseInfoByGridId(CustomerGridFormDTO customerGridFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridBaseInfoByGridId", customerGridFormDTO); + } + @Override public Result selectPidsByGridId(String gridId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "selectPidsByGridId", gridId); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java index daf3c835cc..ce24000220 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java @@ -179,6 +179,7 @@ public class GridController { */ @PostMapping("getbaseinfo") public Result getBaseInfo(@RequestBody CustomerGridFormDTO customerGridFormDTO) { - return customerGridService.getBaseInfo(customerGridFormDTO); + CustomerGridDTO gridInfo = customerGridService.getBaseInfo(customerGridFormDTO); + return new Result().ok(gridInfo); } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/StaffOrgRelationDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/StaffOrgRelationDao.java index a4d6610658..97c4e875b7 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/StaffOrgRelationDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/StaffOrgRelationDao.java @@ -18,8 +18,12 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.StaffOrgNameResultDTO; import com.epmet.entity.StaffOrgRelationEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 工作人员注册组织关系表 @@ -29,5 +33,10 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface StaffOrgRelationDao extends BaseDao { - + /** + * @Description 批量查询工作人员注册组织信息 + * @author sun + */ + List selelctStaffOrg(@Param("staffIdList") List staffIdList); + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java index 78221d8fa8..91525436ba 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java @@ -286,7 +286,7 @@ public interface CustomerGridService extends BaseService { * @author LiuJanJun * @date 2021/4/19 11:53 上午 */ - Result getBaseInfo(CustomerGridFormDTO customerGridFormDTO); + CustomerGridDTO getBaseInfo(CustomerGridFormDTO customerGridFormDTO); /** * @Description 根据网格ID查询pids diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java index fd8be5cdbd..58faa734ac 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java @@ -17,6 +17,7 @@ package com.epmet.service.impl; +import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -26,6 +27,8 @@ import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.RedisKeys; +import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; @@ -36,6 +39,7 @@ import com.epmet.dao.CustomerStaffGridDao; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; +import com.epmet.entity.CustomerAgencyEntity; import com.epmet.entity.CustomerGridEntity; import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.OperCrmOpenFeignClient; @@ -76,6 +80,9 @@ public class CustomerGridServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -290,6 +297,7 @@ public class CustomerGridServiceImpl extends BaseServiceImpl userIdDTOS = baseDao.selectUserIdByGrid(deleteGridFormDTO.getGridId()); deleteGridFormDTO.setUserId(tokenDto.getUserId()); if (userIdDTOS.size()==0){ @@ -711,8 +719,25 @@ public class CustomerGridServiceImpl extends BaseServiceImpl getBaseInfo(CustomerGridFormDTO customerGridFormDTO) { - return new Result().ok(ConvertUtils.sourceToTarget(baseDao.selectById(customerGridFormDTO.getGridId()), CustomerGridDTO.class)); + public CustomerGridDTO getBaseInfo(CustomerGridFormDTO customerGridFormDTO) { + String redisKey = RedisKeys.getGridInfoKey(customerGridFormDTO.getGridId()); + Map gridCache = redisUtils.hGetAll(redisKey); + if (gridCache != null && gridCache.size() > 0) { + // 直接取缓存中的 + CustomerGridDTO gridInfo = BeanUtil.mapToBean(gridCache, CustomerGridDTO.class, true); + return gridInfo; + } + + CustomerGridDTO gridInfo = ConvertUtils.sourceToTarget(baseDao.selectById(customerGridFormDTO.getGridId()), CustomerGridDTO.class); + if (null != gridInfo) { + CustomerAgencyEntity agency = customerAgencyService.selectById(gridInfo.getPid()); + gridInfo.setAgencyName(null != agency ? agency.getOrganizationName() : ""); + gridInfo.setGridNamePath(null != agency ? agency.getOrganizationName().concat("-").concat(gridInfo.getGridName()) : gridInfo.getGridName()); + + redisUtils.hMSet(redisKey, BeanUtil.beanToMap(gridInfo)); + } + + return gridInfo; } /** diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java index f0cc95c409..b70354aceb 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java @@ -13,6 +13,7 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.OrgInfoConstant; import com.epmet.dao.CustomerStaffAgencyDao; +import com.epmet.dao.StaffOrgRelationDao; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -75,6 +76,8 @@ public class StaffServiceImpl implements StaffService { private StaffOrgRelationService staffOrgRelationService; @Resource private CustomerStaffRedis customerStaffRedis; + @Resource + private StaffOrgRelationDao staffOrgRelationDao; @Override public Result getStaffInfoForHome(StaffsInAgencyFromDTO fromDTO) { @@ -243,6 +246,18 @@ public class StaffServiceImpl implements StaffService { result.setRootAgencyName(agency.getOrganizationName()); } //2021.08.27 zhaoqf end + //2021.9.17 sun 添加工作人员注册组织、类型、id返参 start + List staffIdList = new ArrayList<>(); + staffIdList.add(result.getStaffId()); + List list = staffOrgRelationDao.selelctStaffOrg(staffIdList); + list.forEach(l->{ + if(l.getStaffId().equals(result.getStaffId())){ + result.setOrgId(l.getOrgId()); + result.setOrgName(l.getOrgName()); + result.setOrgType(l.getOrgType()); + } + }); + //2021.9.17 sun 添加工作人员注册组织、类型、id返参 end return result; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/StaffOrgRelationDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/StaffOrgRelationDao.xml index 350dae73ac..76f749c00a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/StaffOrgRelationDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/StaffOrgRelationDao.xml @@ -3,6 +3,81 @@ - + \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserInfoOnEnterGridResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserInfoOnEnterGridResultDTO.java index 0bada1c5ee..3561cb4060 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserInfoOnEnterGridResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserInfoOnEnterGridResultDTO.java @@ -58,4 +58,13 @@ public class UserInfoOnEnterGridResultDTO implements Serializable{ * XX街道-YYY 如果是未认证居民,这一列为空 */ private String userStreetTrueName; + + //真实姓名 + private String realName; + //工作人员添加入口Id(agencyId;deptId;gridId) + private String orgId = ""; + //人员注册时所属组织名【组织-组织,组织-部门,组织-网格】 + private String orgName = ""; + //工作人员添加入口类型(组织:agency;部门:dept;网格:gridId) + private String orgType = ""; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index 7d4a258ccb..a2e6405300 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -47,7 +47,7 @@ public interface GovOrgFeignClient { * @author LiuJanJun * @date 2021/4/19 11:19 上午 */ - @PostMapping("/gov/org/grid/getbaseinfo") - Result getGridBaseInfoByGridId(CustomerGridFormDTO customerGridFormDTO); + //@PostMapping("/gov/org/grid/getbaseinfo") + //Result getGridBaseInfoByGridId(CustomerGridFormDTO customerGridFormDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index 2fbcf49452..2366577ef6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -29,8 +29,8 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridStaffs", gridIdFormDTO); } - @Override - public Result getGridBaseInfoByGridId(CustomerGridFormDTO customerGridFormDTO) { - return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridBaseInfoByGridId", customerGridFormDTO); - } + //@Override + //public Result getGridBaseInfoByGridId(CustomerGridFormDTO customerGridFormDTO) { + // return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridBaseInfoByGridId", customerGridFormDTO); + //} } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java index e2aaae2963..0e0a8ef246 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java @@ -40,6 +40,7 @@ import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.entity.RegisterRelationEntity; import com.epmet.entity.UserCustomerEntity; import com.epmet.feign.GovOrgFeignClient; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.GridVisitedService; import com.epmet.service.RegisterRelationService; import com.epmet.util.ModuleConstant; @@ -72,6 +73,9 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl gridDTOResult = govOrgFeignClient.getGridBaseInfoByGridId(customerGridFormDTO); + Result gridDTOResult = govOrgOpenFeignClient.getGridBaseInfoByGridId(customerGridFormDTO); if(gridDTOResult.success() && null != gridDTOResult.getData()){ resultObj.setCurrentGridName(gridDTOResult.getData().getGridName()); + resultObj.setOrgId(resultObj.getCurrentGridId()); + resultObj.setOrgName(gridDTOResult.getData().getAgencyName()+"-"+gridDTOResult.getData().getGridName()); + resultObj.setOrgType("grid"); }else{ //查询网格名称失败 log.warn(String.format("查找网格信息失败,网格Id:【%s】",gridId)); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java index 7d6aa5e196..12255c1153 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java @@ -24,6 +24,7 @@ import com.epmet.entity.StaffPatrolDetailEntity; import com.epmet.entity.StaffPatrolRecordEntity; import com.epmet.entity.StatsStaffPatrolRecordDailyEntity; import com.epmet.feign.GovOrgFeignClient; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.feign.GovProjectOpenFeignClient; import com.epmet.service.StaffPatrolDetailService; import com.epmet.service.StaffPatrolRecordService; @@ -56,6 +57,9 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl gridResult = govOrgFeignClient.getGridBaseInfoByGridId(customerGridFormDTO); + Result gridResult = govOrgOpenFeignClient.getGridBaseInfoByGridId(customerGridFormDTO); if (!gridResult.success() || null == gridResult.getData()) { //查询网格名称失败 log.error(String.format("查找网格信息失败,网格Id:【%s】", entity.getGrid())); @@ -141,7 +145,7 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl gridResult = govOrgFeignClient.getGridBaseInfoByGridId(customerGridFormDTO); + Result gridResult = govOrgOpenFeignClient.getGridBaseInfoByGridId(customerGridFormDTO); if (!gridResult.success() || null == gridResult.getData()) { //查询网格名称失败 log.error(String.format("查找网格信息失败,网格Id:【%s】", formDTO.getGridId()));