From f079a9ae773b327ff8fbd76fdd101bf709147303 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 12 May 2020 10:30:49 +0800 Subject: [PATCH 01/22] =?UTF-8?q?=E6=96=B0=E5=A2=9Eepmet-common-service?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-gateway/pom.xml | 7 + .../src/main/resources/bootstrap.yml | 8 + .../common-service-client/pom.xml | 35 +++ .../main/java/com/epmet/dto/CalenderDTO.java | 131 ++++++++++++ .../com/epmet/dto/form/WorkDayFormDTO.java | 31 +++ .../epmet/dto/result/WorkDayResultDTO.java | 37 ++++ .../common-service-server/Dockerfile | 11 + .../common-service-server/docker-compose.yml | 15 ++ .../common-service-server/pom.xml | 148 +++++++++++++ .../epmet/EpmetCommonServiceApplication.java | 31 +++ .../com/epmet/config/ModuleConfigImpl.java | 26 +++ .../com/epmet/constant/ShowApiConstant.java | 36 ++++ .../epmet/controller/CalenderController.java | 85 ++++++++ .../epmet/controller/ShowApiController.java | 62 ++++++ .../epmet/controller/WorkDayController.java | 41 ++++ .../main/java/com/epmet/dao/CalenderDao.java | 44 ++++ .../java/com/epmet/entity/CalenderEntity.java | 101 +++++++++ .../com/epmet/exception/ModuleErrorCode.java | 25 +++ .../com/epmet/result/DayDetailResultDTO.java | 77 +++++++ .../com/epmet/result/HolidayDetailDTO.java | 44 ++++ .../com/epmet/result/HolidayResultDTO.java | 27 +++ .../java/com/epmet/result/ShowApiResult.java | 74 +++++++ .../com/epmet/service/CalenderService.java | 95 +++++++++ .../com/epmet/service/ShowApiService.java | 16 ++ .../com/epmet/service/WorkDayService.java | 16 ++ .../service/impl/CalenderServiceImpl.java | 97 +++++++++ .../service/impl/ShowApiServiceImpl.java | 201 ++++++++++++++++++ .../service/impl/WorkDayServiceImpl.java | 82 +++++++ .../epmet/task/MultithreadScheduleTask.java | 38 ++++ .../com/epmet/task/SaticScheduleTask.java | 31 +++ .../java/com/epmet/utils/ShowApiUtil.java | 106 +++++++++ .../src/main/resources/bootstrap.yml | 106 +++++++++ .../src/main/resources/db/migration/db.sql | 0 .../src/main/resources/logback-spring.xml | 158 ++++++++++++++ .../src/main/resources/mapper/CalenderDao.xml | 64 ++++++ epmet-module/epmet-common-service/pom.xml | 21 ++ epmet-module/pom.xml | 1 + 37 files changed, 2128 insertions(+) create mode 100644 epmet-module/epmet-common-service/common-service-client/pom.xml create mode 100644 epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/CalenderDTO.java create mode 100644 epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/WorkDayFormDTO.java create mode 100644 epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/WorkDayResultDTO.java create mode 100644 epmet-module/epmet-common-service/common-service-server/Dockerfile create mode 100644 epmet-module/epmet-common-service/common-service-server/docker-compose.yml create mode 100644 epmet-module/epmet-common-service/common-service-server/pom.xml create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/EpmetCommonServiceApplication.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/config/ModuleConfigImpl.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/ShowApiConstant.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/CalenderController.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ShowApiController.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/WorkDayController.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/CalenderDao.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/entity/CalenderEntity.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/exception/ModuleErrorCode.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/DayDetailResultDTO.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/HolidayDetailDTO.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/HolidayResultDTO.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/ShowApiResult.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/CalenderService.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ShowApiService.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/WorkDayService.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/CalenderServiceImpl.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ShowApiServiceImpl.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/WorkDayServiceImpl.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/MultithreadScheduleTask.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/SaticScheduleTask.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/ShowApiUtil.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/db.sql create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/CalenderDao.xml create mode 100644 epmet-module/epmet-common-service/pom.xml diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index e3c45756f4..4029f58948 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -174,6 +174,9 @@ lb://gov-project-server + + http://127.0.0.1:8103 + @@ -244,6 +247,8 @@ lb://gov-issue-server lb://gov-project-server + + lb://common-service-server @@ -312,6 +317,8 @@ lb://gov-issue-server lb://gov-project-server + + lb://common-service-server diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index 112369073e..a009c0c628 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -224,6 +224,14 @@ spring: filters: - StripPrefix=1 - CpAuth=true + #政府工作端项目管理 + - id: common-service-server + uri: @gateway.routes.common-service-server.uri@ + order: 23 + predicates: + - Path=${server.servlet.context-path}/commonservice/** + filters: + - StripPrefix=1 nacos: discovery: server-addr: @nacos.server-addr@ diff --git a/epmet-module/epmet-common-service/common-service-client/pom.xml b/epmet-module/epmet-common-service/common-service-client/pom.xml new file mode 100644 index 0000000000..d8b8c6d070 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/pom.xml @@ -0,0 +1,35 @@ + + + 4.0.0 + + + com.epmet + epmet-common-service + 2.0.0 + + + common-service-client + jar + + + + com.epmet + epmet-commons-tools + 2.0.0 + + + io.springfox + springfox-swagger2 + + + io.springfox + springfox-swagger-ui + + + + + ${project.artifactId} + + + diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/CalenderDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/CalenderDTO.java new file mode 100644 index 0000000000..77c75ed9e3 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/CalenderDTO.java @@ -0,0 +1,131 @@ +/** + * 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; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-05-11 + */ +@Data +public class CalenderDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 0表示成功,其他为失败 + */ + private Integer retCode; + + /** + * 查询的日期:20200510 + */ + private String day; + + /** + * 查询的日期:20200510 + */ + private Date queryDate; + + /** + * 星期几的数字 + */ + private Integer weekday; + + /** + * 节日或周末开始时间,如果是工作日,此字段为空串 + */ + private String begin; + + /** + * 节日或周末结束时间,如果是工作日,此字段为空串 + */ + private String end; + + /** + * 节日备注 + */ + private String holidayRemark; + + /** + * 1为工作日,2为周末,3为节假日 + */ + private String type; + + /** + * 工作日,周末,节假日 + */ + private String typeName; + + /** + * 节日名称,工作日时显示“无”,周末时显示“周末”,节日时显示节日名称 + */ + private String holiday; + + /** + * 星期几的英文名 + */ + private String en; + + /** + * 星期几的中文名 + */ + private String cn; + + /** + * 是否删除,0:未删除,1:已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建者id + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新者id + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/WorkDayFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/WorkDayFormDTO.java new file mode 100644 index 0000000000..3442f81481 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/WorkDayFormDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 工作日计算入参 + * @Author yinzuomei + * @Date 2020/5/11 21:53 + */ +@Data +public class WorkDayFormDTO implements Serializable { + private static final long serialVersionUID = 5018009446003442250L; + + /** + * key + */ + private String id; + + /** + * 起始日期 + */ + private String startDate; + + /** + * 终止日期 + */ + private String endDate; +} + diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/WorkDayResultDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/WorkDayResultDTO.java new file mode 100644 index 0000000000..8c594b1298 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/WorkDayResultDTO.java @@ -0,0 +1,37 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 工作日计算返参 + * @Author yinzuomei + * @Date 2020/5/11 21:48 + */ +@Data +public class WorkDayResultDTO implements Serializable { + private static final long serialVersionUID = 4578531109651717997L; + + /** + * key + */ + private String id; + + /** + * 起始日期 + */ + private String startDate; + + /** + * 终止日期 + */ + private String endDate; + + /** + * 已滞留工作日 + */ + private String detentionDays; +} + diff --git a/epmet-module/epmet-common-service/common-service-server/Dockerfile b/epmet-module/epmet-common-service/common-service-server/Dockerfile new file mode 100644 index 0000000000..456b190e80 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/Dockerfile @@ -0,0 +1,11 @@ +FROM java:8 + +RUN export LANG="zh_CN.UTF-8" +RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime +RUN echo 'Asia/Shanghai' > /etc/timezone + +COPY ./target/*.jar ./app.jar + +EXPOSE 8103 + +ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"] \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/docker-compose.yml b/epmet-module/epmet-common-service/common-service-server/docker-compose.yml new file mode 100644 index 0000000000..9af8426d0d --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/docker-compose.yml @@ -0,0 +1,15 @@ +version: "3.7" +services: + common-service-server: + container_name: common-service-server-dev + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/common-service-server:0.3.0 + ports: + - "8103:8103" + network_mode: host # 使用现有网络 + volumes: + - "/opt/epmet-cloud-logs/dev:/logs" + deploy: + resources: + limits: + cpus: '0.1' + memory: 250M \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/pom.xml b/epmet-module/epmet-common-service/common-service-server/pom.xml new file mode 100644 index 0000000000..9bfa6132e5 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/pom.xml @@ -0,0 +1,148 @@ + + + 4.0.0 + 0.3.0 + + com.epmet + epmet-common-service + 2.0.0 + + common-service-server + jar + + + + com.epmet + common-service-client + 2.0.0 + + + com.epmet + epmet-commons-tools + 2.0.0 + + + com.epmet + epmet-commons-mybatis + 2.0.0 + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework + spring-context-support + + + org.springframework.boot + spring-boot-starter-actuator + + + de.codecentric + spring-boot-admin-starter-client + ${spring.boot.admin.version} + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + io.github.openfeign + feign-httpclient + 10.3.0 + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + + + ${project.basedir}/src/main/java + + + true + ${basedir}/src/main/resources + + + + + + dev-local + + true + + + 8103 + dev + + + + + + root + root + + 0 + 192.168.1.130 + 6379 + 123456 + + false + 122.152.200.70:8848 + fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b + + + false + + + + + dev + + + 8103 + dev + + + + + + epmet + elink@833066 + + 0 + r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 6379 + EpmEtrEdIs!q@w + + true + 192.168.10.150:8848 + 67e3c350-533e-4d7c-9f8f-faf1b4aa82ae + + + false + + + + + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/EpmetCommonServiceApplication.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/EpmetCommonServiceApplication.java new file mode 100644 index 0000000000..238b8546d4 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/EpmetCommonServiceApplication.java @@ -0,0 +1,31 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + * + * https://www.renren.io + * + * 版权所有,侵权必究! + */ + +package com.epmet; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +/** + * 模块 + * + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class EpmetCommonServiceApplication { + + public static void main(String[] args) { + SpringApplication.run(EpmetCommonServiceApplication.class, args); + } + +} diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/config/ModuleConfigImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/config/ModuleConfigImpl.java new file mode 100644 index 0000000000..6fbaa47ba2 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/config/ModuleConfigImpl.java @@ -0,0 +1,26 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + * + * https://www.renren.io + * + * 版权所有,侵权必究! + */ + +package com.epmet.config; + +import com.epmet.commons.tools.config.ModuleConfig; +import org.springframework.stereotype.Service; + +/** + * 模块配置信息 + * + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +@Service +public class ModuleConfigImpl implements ModuleConfig { + @Override + public String getName() { + return "commonservice"; + } +} diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/ShowApiConstant.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/ShowApiConstant.java new file mode 100644 index 0000000000..69799d4fde --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/ShowApiConstant.java @@ -0,0 +1,36 @@ +package com.epmet.constant; + +/** + * @Description 万维易源API + * @Author yinzuomei + * @Date 2020/5/11 16:56 + */ +public interface ShowApiConstant { + /** + * showapi_appid + */ + String SHOWAPI_APPID = "222733"; + + /** + * secret + */ + String SHOWAPI_SIGN = "ada451c248454d4eaf2db178482f14a7"; + + /** + * 2020年我国节假日查询,持续更新中...... + * api:https://route.showapi.com/894-5 + * 第一个参数:showapi_appidshowapi_appid + * 第二个参数:showapi_sign=secret + * 第三个参数:输入格式yyyyMMdd。如果不输入,则默认是当天。 + */ + String QUERY_HOLIDAY_V2020 = "http://route.showapi.com/894-5?showapi_appid=%s&showapi_sign=%s&day=%s"; + + /** + * 根据年份查询当年的节假日列表 + * api:https://route.showapi.com/894-5 + * 第一个参数:showapi_appidshowapi_appid + * 第二个参数:showapi_sign=secret + * 第三个参数:year需要查询的年份,默认查询2019年的节假日列表 + */ + String HOLIDAY_LIST = "http://route.showapi.com/894-4?showapi_appid=%s&showapi_sign=%s&year=%s"; +} diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/CalenderController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/CalenderController.java new file mode 100644 index 0000000000..a3acf8c5ff --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/CalenderController.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.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.dto.CalenderDTO; +import com.epmet.service.CalenderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-05-11 + */ +@RestController +@RequestMapping("calender") +public class CalenderController { + + @Autowired + private CalenderService calenderService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = calenderService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + CalenderDTO data = calenderService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody CalenderDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + calenderService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody CalenderDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + calenderService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + calenderService.delete(ids); + return new Result(); + } + + +} \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ShowApiController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ShowApiController.java new file mode 100644 index 0000000000..209c3f4cc4 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ShowApiController.java @@ -0,0 +1,62 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.service.ShowApiService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description 工作日信息维护 + * @Author yinzuomei + * @Date 2020/5/11 21:39 + */ +@RestController +@RequestMapping("holiday") +public class ShowApiController { + + @Autowired + private ShowApiService showApiService; + + /** + * @return com.epmet.commons.tools.utils.Result + * @param year + * @Author yinzuomei + * @Description 初始化日历插入数据库 + * @Date 2020/5/11 23:23 + **/ + @PostMapping("init/{year}") + public Result initYearCalender(@PathVariable("year") String year) { + showApiService.initYearCalender(year); + return new Result(); + } + + /** + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 2020年我国节假日查询 + * @Date 2020/5/11 23:24 + **/ + @PostMapping("initWorkDayList/{year}") + public Result initWorkDayList(@PathVariable("year") String year) { + showApiService.initWorkDayList(year); + return new Result(); + } + + /** + * @return com.epmet.commons.tools.utils.Result + * @param year + * @Author yinzuomei + * @Description 根据年份查询当年的节假日列表(调用api同步到本地) + * @Date 2020/5/11 23:24 + **/ + @PostMapping("holidayList/{year}") + public Result holidayList(@PathVariable("year") String year) { + showApiService.holidayList(year); + return new Result(); + } + +} + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/WorkDayController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/WorkDayController.java new file mode 100644 index 0000000000..679613a48d --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/WorkDayController.java @@ -0,0 +1,41 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.WorkDayFormDTO; +import com.epmet.dto.result.WorkDayResultDTO; +import com.epmet.service.WorkDayService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Set; + +/** + * @Description 工作日计算 + * @Author yinzuomei + * @Date 2020/5/12 0:27 + */ +@RestController +@RequestMapping("workday") +public class WorkDayController { + + @Autowired + private WorkDayService workDayService; + + /** + * @return com.epmet.commons.tools.utils.Result> + * @param formDTO + * @Author yinzuomei + * @Description 根据每一组起止时间,计算工作日 + * @Date 2020/5/12 2:08 + **/ + @PostMapping("detentiondays") + public Result> detentionDays(@RequestBody List formDTO) { + List list = workDayService.detentionDays(formDTO); + return new Result>().ok(list); + } +} + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/CalenderDao.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/CalenderDao.java new file mode 100644 index 0000000000..1240add1e1 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/CalenderDao.java @@ -0,0 +1,44 @@ +/** + * 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.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.CalenderEntity; +import com.epmet.result.HolidayDetailDTO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-05-11 + */ +@Mapper +public interface CalenderDao extends BaseDao { + + int updateHoliday(HolidayDetailDTO holidayDetail); + + CalenderEntity selectByDay(String day); + + List selectList(String year); + + List selectByStartAndEnd(@Param("begin")String startDateStr, @Param("end")String endDateStr); +} \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/entity/CalenderEntity.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/entity/CalenderEntity.java new file mode 100644 index 0000000000..831b102b38 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/entity/CalenderEntity.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.entity; + +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 2020-05-11 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("calender") +public class CalenderEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 0表示成功,其他为失败 + */ + private Integer retCode; + + /** + * 查询的日期:20200510 + */ + private String day; + + /** + * 查询的日期:20200510 + */ + private Date queryDate; + + /** + * 星期几的数字 + */ + private Integer weekday; + + /** + * 节日或周末开始时间,如果是工作日,此字段为空串 + */ + private String begin; + + /** + * 节日或周末结束时间,如果是工作日,此字段为空串 + */ + private String end; + + /** + * 节日备注 + */ + private String holidayRemark; + + /** + * 1为工作日,2为周末,3为节假日 + */ + private String type; + + /** + * 工作日,周末,节假日 + */ + private String typeName; + + /** + * 节日名称,工作日时显示“无”,周末时显示“周末”,节日时显示节日名称 + */ + private String holiday; + + /** + * 星期几的英文名 + */ + private String en; + + /** + * 星期几的中文名 + */ + private String cn; + +} diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/exception/ModuleErrorCode.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/exception/ModuleErrorCode.java new file mode 100644 index 0000000000..1206c71b9a --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/exception/ModuleErrorCode.java @@ -0,0 +1,25 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + * + * https://www.renren.io + * + * 版权所有,侵权必究! + */ + +package com.epmet.exception; + + +import com.epmet.commons.tools.exception.ErrorCode; + +/** + * 模块错误编码,由9位数字组成,前6位为模块编码,后3位为业务编码 + *

+ * 如:100001001(100001代表模块,001代表业务代码) + *

+ * + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +public interface ModuleErrorCode extends ErrorCode { + +} diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/DayDetailResultDTO.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/DayDetailResultDTO.java new file mode 100644 index 0000000000..827a27fcf9 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/DayDetailResultDTO.java @@ -0,0 +1,77 @@ +package com.epmet.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 2020年我国节假日查询返参 + * @Author yinzuomei + * @Date 2020/5/11 21:27 + */ +@Data +public class DayDetailResultDTO implements Serializable { + /*{ + "ret_code": 0, + "day": "20200511", + "weekDay": 1, + "begin": "", + "end": "", + "holiday_remark": "", + "type": "1", + "holiday": "无", + "en": "Monday", + "cn": "周一" + }*/ + + /** + * 0表示成功,其他为失败 + */ + private Integer ret_code; + + /** + * 查询的日期20200510 + */ + private String day; + + /** + * 星期几的数字 + */ + private Integer weekDay; + + /** + * 节日或周末开始时间,如果是工作日,此字段为空串 + */ + private String begin; + + /** + * 节日或周末结束时间,如果是工作日,此字段为空串 + */ + private String end; + + /** + * 节日备注 + */ + private String holiday_remark; + + /** + * 1为工作日,2为周末,3为节假日 + */ + private String type; + + /** + * 节日名称,工作日时显示“无”,周末时显示“周末”,节日时显示节日名称 + */ + private String holiday; + + /** + * 星期几(英文文) + */ + private String en; + + /** + * 星期几(中文) + */ + private String cn; +} + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/HolidayDetailDTO.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/HolidayDetailDTO.java new file mode 100644 index 0000000000..d47713fc3a --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/HolidayDetailDTO.java @@ -0,0 +1,44 @@ +package com.epmet.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description TODO + * @Author yinzuomei + * @Date 2020/5/11 22:55 + */ +@Data +public class HolidayDetailDTO implements Serializable { + private static final long serialVersionUID = -3840795046551145292L; + + /*{ + "holiday": "元旦", + "holiday_remark": "2020年1月1日放假,共1天。", + "end": "20200101", + "begin": "20200101" + }*/ + + /** + * 节假日名称:中秋节 + */ + private String holiday; + + /** + * 节假日描述:共放假3天,周末连休,不需要调休。 + */ + private String holiday_remark; + + /** + * 节假日的结束时间:20190915 + */ + private String end; + + /** + * 节假日的开始时间:20190913 + */ + private String begin; + +} + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/HolidayResultDTO.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/HolidayResultDTO.java new file mode 100644 index 0000000000..c75adf0cbd --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/HolidayResultDTO.java @@ -0,0 +1,27 @@ +package com.epmet.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 根据年份查询当年的节假日列表返参 + * @Author yinzuomei + * @Date 2020/5/11 21:27 + */ +@Data +public class HolidayResultDTO implements Serializable { + + /** + * 接口调用是否成功,0表示成功,其他值默认失败 + */ + private Integer ret_code; + + /** + * 整年的节假日列表 + */ + private List data; + +} + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/ShowApiResult.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/ShowApiResult.java new file mode 100644 index 0000000000..fbba994ece --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/result/ShowApiResult.java @@ -0,0 +1,74 @@ +package com.epmet.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 万维易源-api返参 + * @Author yinzuomei + * @Date 2020/5/11 16:36 + */ +@Data +public class ShowApiResult implements Serializable { + +// { +// "showapi_res_error": "", +// "showapi_res_id": "5eb90db28d57baae12d8d42d", +// "showapi_res_code": 0, +// "showapi_res_body": {"ret_code":0,"day":"20200511","weekDay":1,"begin":"","end":"","holiday_remark":"","type":"1","holiday":"无","en":"Monday","cn":"周一"} +// } + + /** + *易源返回标志,0为成功,其他为失败。 + * 0成功 + * -1,系统调用错误 + * -2,可调用次数或金额为0 + * -3,读取超时 + * -4,服务端返回数据解析错误 + * -5,后端服务器DNS解析错误 + * -6,服务不存在或未上线 + * -7, API创建者的网关资源不足 + * -1000,系统维护 + * -1002,showapi_appid字段必传 + * -1003,showapi_sign字段必传 + * -1004,签名sign验证有误 + * -1005,showapi_timestamp无效 + * -1006,app无权限调用接口 + * -1007,没有订购套餐 + * -1008,服务商关闭对您的调用权限 + * -1009,调用频率受限 + * -1010,找不到您的应用 + * -1011,子授权app_child_id无效 + * -1012,子授权已过期或失效 + * -1013,子授权ip受限 + * -1014,token权限无效 + */ + private int showapi_res_code=0; + + /** + * 错误信息的展示 demo:用户输入有误! + */ + private String showapi_res_error; + + /** + * 本次请求id demo:ce135f6739294c63be0c021b76b6fbff + */ + private String showapi_res_id; + + /** + * 消息体的JSON封装,所有应用级的返回参数将嵌入此对象 。 demo:{"city":"昆明","prov":"云南"} + */ + private String showapi_res_body; + + @Override + public String toString() { + return "ShowApiResult{" + + "showapi_res_code=" + showapi_res_code + + ", showapi_res_error='" + showapi_res_error + '\'' + + ", showapi_res_id='" + showapi_res_id + '\'' + + ", showapi_res_body='" + showapi_res_body + '\'' + + '}'; + } +} + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/CalenderService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/CalenderService.java new file mode 100644 index 0000000000..5dbc9c2634 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/CalenderService.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.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.CalenderDTO; +import com.epmet.entity.CalenderEntity; + +import java.util.List; +import java.util.Map; + +/** + * + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-05-11 + */ +public interface CalenderService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-05-11 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-05-11 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return CalenderDTO + * @author generator + * @date 2020-05-11 + */ + CalenderDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-05-11 + */ + void save(CalenderDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-05-11 + */ + void update(CalenderDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-05-11 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ShowApiService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ShowApiService.java new file mode 100644 index 0000000000..372c247ca7 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ShowApiService.java @@ -0,0 +1,16 @@ +package com.epmet.service; + +/** + * @Description 工作日信息维护 + * @Author yinzuomei + * @Date 2020/5/11 21:55 + */ +public interface ShowApiService { + + void initYearCalender(String year); + + void initWorkDayList(String year); + + void holidayList(String year); + +} diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/WorkDayService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/WorkDayService.java new file mode 100644 index 0000000000..7433b154c1 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/WorkDayService.java @@ -0,0 +1,16 @@ +package com.epmet.service; + +import com.epmet.dto.form.WorkDayFormDTO; +import com.epmet.dto.result.WorkDayResultDTO; + +import java.util.List; +import java.util.Set; + +/** + * @Description 工作日计算 + * @Author yinzuomei + * @Date 2020/5/12 0:27 + */ +public interface WorkDayService { + List detentionDays(List formDTO); +} diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/CalenderServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/CalenderServiceImpl.java new file mode 100644 index 0000000000..6c0dca44c8 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/CalenderServiceImpl.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.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.CalenderDao; +import com.epmet.dto.CalenderDTO; +import com.epmet.entity.CalenderEntity; +import com.epmet.service.CalenderService; +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 2020-05-11 + */ +@Service +public class CalenderServiceImpl extends BaseServiceImpl implements CalenderService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, CalenderDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, CalenderDTO.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 CalenderDTO get(String id) { + CalenderEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, CalenderDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(CalenderDTO dto) { + CalenderEntity entity = ConvertUtils.sourceToTarget(dto, CalenderEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(CalenderDTO dto) { + CalenderEntity entity = ConvertUtils.sourceToTarget(dto, CalenderEntity.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/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ShowApiServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ShowApiServiceImpl.java new file mode 100644 index 0000000000..25a98d7bce --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ShowApiServiceImpl.java @@ -0,0 +1,201 @@ +package com.epmet.service.impl; + +import com.epmet.commons.tools.exception.RenException; +import com.epmet.dao.CalenderDao; +import com.epmet.entity.CalenderEntity; +import com.epmet.result.DayDetailResultDTO; +import com.epmet.result.HolidayDetailDTO; +import com.epmet.result.HolidayResultDTO; +import com.epmet.service.ShowApiService; +import com.epmet.utils.ShowApiUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +/** + * @Description 工作日信息维护 + * @Author yinzuomei + * @Date 2020/5/11 21:55 + */ +@Service +public class ShowApiServiceImpl implements ShowApiService { + + private static Logger logger = LoggerFactory.getLogger(ShowApiServiceImpl.class); + private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); + @Autowired + private CalenderDao calenderDao; + + @Override + public void initYearCalender(String year) { + String dateStart = String.format("%s-01-01", year); + String dateEnd = String.format("%s-12-31", year); + long startTime = 0;//start + try { + startTime = dateFormat.parse(dateStart).getTime(); + long endTime = dateFormat.parse(dateEnd).getTime();//end + long day = 1000 * 60 * 60 * 24; + for (long i = startTime; i <= endTime; i += day) { + CalenderEntity calender = calenderDao.selectByDay(simpleDateFormat.format(new Date(i))); + if (null == calender) { + logger.info("日期:" + dateFormat.format(new Date(i))); + CalenderEntity calenderEntity = new CalenderEntity(); + calenderEntity.setQueryDate(new Date(i)); + calenderEntity.setDay(simpleDateFormat.format(new Date(i))); + calenderEntity.setEn(dateToWeekEn(dateFormat.format(new Date(i)))); + calenderEntity.setCn(dateToWeekCn(dateFormat.format(new Date(i)))); + calenderEntity.setWeekday(dateToWeek(dateFormat.format(new Date(i)))); + if (calenderEntity.getWeekday() >= 1 && calenderEntity.getWeekday() <= 5) { + calenderEntity.setTypeName("工作日"); + calenderEntity.setType("1"); + } else { + calenderEntity.setTypeName("周末"); + calenderEntity.setType("2"); + } + calenderDao.insert(calenderEntity); + } else { + logger.info(String.format("数据库存在日期:%s的记录", dateFormat.format(new Date(i)))); + } + } + } catch (ParseException e) { + e.printStackTrace(); + } + } + + @Override + public void initWorkDayList(String year) { + try { + List entityList = calenderDao.selectList(year); + if (null != entityList && entityList.size() > 0) { + CalenderEntity calenderEntity = entityList.get(0); + logger.info("要查询的日期:" + calenderEntity.getDay()); + DayDetailResultDTO dayDetailResultDTO = ShowApiUtil.queryHolidayV2020(calenderEntity.getDay()); + if (0 == dayDetailResultDTO.getRet_code()) { + calenderEntity.setRetCode(dayDetailResultDTO.getRet_code()); + calenderEntity.setWeekday(dayDetailResultDTO.getWeekDay()); + calenderEntity.setBegin(dayDetailResultDTO.getBegin()); + calenderEntity.setEnd(dayDetailResultDTO.getEnd()); + calenderEntity.setHoliday(dayDetailResultDTO.getHoliday()); + calenderEntity.setHolidayRemark(dayDetailResultDTO.getHoliday_remark()); + calenderEntity.setEn(dayDetailResultDTO.getEn()); + calenderEntity.setCn(dayDetailResultDTO.getCn()); + calenderEntity.setType(dayDetailResultDTO.getType()); + //1为工作日,2为周末,3为节假日 + if ("1".equals(dayDetailResultDTO.getType())) { + calenderEntity.setTypeName("工作日"); + } else if ("2".equals(dayDetailResultDTO.getType())) { + calenderEntity.setTypeName("周末"); + } else if ("3".equals(dayDetailResultDTO.getType())) { + calenderEntity.setTypeName("节假日"); + } + calenderDao.updateById(calenderEntity); + } + + } else { + logger.info("无需更新"); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void holidayList(String year) { + HolidayResultDTO holidayResultDTO = null; + try { + holidayResultDTO = ShowApiUtil.holidayList(year); + if (0 != holidayResultDTO.getRet_code()) { + throw new RenException("根据年份查询当年的节假日列表API【https://route.showapi.com/894-4】查询失败"); + } + for (HolidayDetailDTO holidayDetail : holidayResultDTO.getData()) { + calenderDao.updateHoliday(holidayDetail); + } + } catch (Exception e) { + e.printStackTrace(); + throw new RenException("根据年份查询当年的节假日列表API【https://route.showapi.com/894-4】查询异常"); + } + } + + /* public static void main(String[] args) throws ParseException { + String dateStart = "2020-01-01"; + String dateEnd = "2020-12-31"; + SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd"); + long startTime = date.parse(dateStart).getTime();//start + long endTime = date.parse(dateEnd).getTime();//end + long day = 1000 * 60 * 60 * 24; + for (long i = startTime; i <= endTime; i += day) { + System.out.println(date.format(new Date(i))); + } + }*/ + + /** + * 根据日期获取当天是周几 + * + * @param datetime 日期 + * @return 周几 + */ + public static String dateToWeekCn(String datetime) { +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String[] weekDays = {"周日", "周一", "周二", "周三", "周四", "周五", "周六"}; + Calendar cal = Calendar.getInstance(); + Date date; + try { + date = dateFormat.parse(datetime); + cal.setTime(date); + } catch (ParseException e) { + e.printStackTrace(); + } + int w = cal.get(Calendar.DAY_OF_WEEK) - 1; + return weekDays[w]; + } + + /** + * 根据日期获取当天是周几 + * + * @param datetime 日期 + * @return 周几英文 + */ + public static String dateToWeekEn(String datetime) { +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String[] weekDays = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; + Calendar cal = Calendar.getInstance(); + Date date; + try { + date = dateFormat.parse(datetime); + cal.setTime(date); + } catch (ParseException e) { + e.printStackTrace(); + } + int w = cal.get(Calendar.DAY_OF_WEEK) - 1; + return weekDays[w]; + } + + /** + * 根据日期获取当天是周几 + * + * @param datetime 日期 + * @return 周几数字 + */ + public static Integer dateToWeek(String datetime) { +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + int[] weekDays = {7, 1, 2, 3, 4, 5, 6}; + Calendar cal = Calendar.getInstance(); + Date date; + try { + date = dateFormat.parse(datetime); + cal.setTime(date); + } catch (ParseException e) { + e.printStackTrace(); + } + int w = cal.get(Calendar.DAY_OF_WEEK) - 1; + return weekDays[w]; + } +} + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/WorkDayServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/WorkDayServiceImpl.java new file mode 100644 index 0000000000..25ede12e88 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/WorkDayServiceImpl.java @@ -0,0 +1,82 @@ +package com.epmet.service.impl; + +import com.epmet.commons.tools.exception.RenException; +import com.epmet.dao.CalenderDao; +import com.epmet.dto.form.WorkDayFormDTO; +import com.epmet.dto.result.WorkDayResultDTO; +import com.epmet.entity.CalenderEntity; +import com.epmet.service.WorkDayService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @Description 工作日计算 + * @Author yinzuomei + * @Date 2020/5/12 0:27 + */ +@Service +public class WorkDayServiceImpl implements WorkDayService { + private static Logger logger = LoggerFactory.getLogger(WorkDayServiceImpl.class); + @Autowired + private CalenderDao calenderDao; + + @Override + public List detentionDays(List workDayFormDTO) { + List list = new ArrayList<>(); + if (workDayFormDTO.isEmpty()) { + throw new RenException("起始时间、终止时间不能为空"); + } + Iterator it = workDayFormDTO.iterator(); + while (it.hasNext()) { + WorkDayResultDTO workDayResult = new WorkDayResultDTO(); + WorkDayFormDTO workDayDTO = (WorkDayFormDTO) it.next(); + workDayResult.setId(workDayDTO.getId()); + workDayResult.setStartDate(workDayDTO.getStartDate()); + workDayResult.setEndDate(workDayDTO.getEndDate()); + workDayResult.setDetentionDays(this.caculateDetentionDays(workDayDTO.getStartDate(), workDayResult.getEndDate())); + list.add(workDayResult); + } + return list; + } + + //公式: 当前日期 - 被吹日期 - 期间的节假日 + private String caculateDetentionDays(String startDateStr, String endDateStr) { + if (startDateStr.equals(endDateStr)) { + logger.info(String.format("%s-%s起止时间一致,返回<1,",startDateStr,endDateStr)); + return "<1"; + } + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); + try { + Date startDate = simpleDateFormat.parse(startDateStr); + Date endDate = simpleDateFormat.parse(endDateStr); + long day = (endDate.getTime() - startDate.getTime()) / (24 * 60 * 60 * 1000); + logger.info(String.format("当前日期[%s]-被吹日期[%s]=%s", endDateStr, startDateStr, day)); + List list = calenderDao.selectByStartAndEnd(startDateStr, endDateStr); + + long totalHoliday = 0; + for (CalenderEntity calenderEntity : list) { + if (!"1".equals(calenderEntity.getType())) { + totalHoliday += 1; + } + } + logger.info(String.format("期间的节假日[%s-%s]=%s", endDateStr, startDateStr, totalHoliday)); + long detentionDay = day - totalHoliday; + logger.info(String.format("当前日期[%s]-被吹日期[%s]-期间的节假日[%s]=%s", endDateStr, startDateStr, totalHoliday, detentionDay)); + if (detentionDay < 1) { + return "<1"; + } + return String.valueOf(detentionDay); + } catch (Exception e) { + e.printStackTrace(); + } + return "-1"; + } + + +} + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/MultithreadScheduleTask.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/MultithreadScheduleTask.java new file mode 100644 index 0000000000..8485f229cb --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/MultithreadScheduleTask.java @@ -0,0 +1,38 @@ +package com.epmet.task; + +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.time.LocalDateTime; + +/** + * @Description TODO + * @Author yinzuomei + * @Date 2020/5/12 0:04 + */ +//@Component注解用于对那些比较中立的类进行注释; +//相对与在持久层、业务层和控制层分别采用 @Repository、@Service 和 @Controller 对分层中的类进行注释 +//@Component +//@EnableScheduling // 1.开启定时任务 +//@EnableAsync // 2.开启多线程 +public class MultithreadScheduleTask { + + @Async + @Scheduled(fixedDelay = 1000) //间隔1秒 + public void first() throws InterruptedException { + System.out.println("第一个定时任务开始 : " + LocalDateTime.now().toLocalTime() + "\r\n线程 : " + Thread.currentThread().getName()); + System.out.println(); + Thread.sleep(1000 * 10); + } + + @Async + @Scheduled(fixedDelay = 2000) + public void second() { + System.out.println("第二个定时任务开始 : " + LocalDateTime.now().toLocalTime() + "\r\n线程 : " + Thread.currentThread().getName()); + System.out.println(); + } +} + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/SaticScheduleTask.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/SaticScheduleTask.java new file mode 100644 index 0000000000..bdca1553d2 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/SaticScheduleTask.java @@ -0,0 +1,31 @@ +package com.epmet.task; + +import com.epmet.service.ShowApiService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; + +import java.time.LocalDateTime; + +/** + * @Description TODO + * @Author yinzuomei + * @Date 2020/5/12 0:01 + */ +//@Configuration //1.主要用于标记配置类,兼备Component的效果。 +//@EnableScheduling // 2.开启定时任务 +public class SaticScheduleTask { + @Autowired + private ShowApiService showApiService; + + //3.添加定时任务 + @Scheduled(cron = "0/1 * * * * ?") + //或直接指定时间间隔,例如:5秒 + //@Scheduled(fixedRate=5000) + private void configureTasks() { + showApiService.initWorkDayList("2020"); + System.err.println("执行静态定时任务时间: " + LocalDateTime.now()); + } +} + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/ShowApiUtil.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/ShowApiUtil.java new file mode 100644 index 0000000000..8e4c8f4de3 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/ShowApiUtil.java @@ -0,0 +1,106 @@ +package com.epmet.utils; + +import com.alibaba.fastjson.JSONObject; +import com.epmet.constant.ShowApiConstant; +import com.epmet.result.DayDetailResultDTO; +import com.epmet.result.HolidayResultDTO; +import com.epmet.result.ShowApiResult; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.net.URL; + +/** + * @Description 万维易源-api工具类 + * @Author yinzuomei + * @Date 2020/5/11 15:55 + */ +public class ShowApiUtil { + private static Logger logger = LoggerFactory.getLogger(ShowApiUtil.class); + + /** + * @return com.epmet.result.showapi.ShowApiResult + * @param day 输入格式yyyyMMdd。如果不输入,则默认是当天 + * @Author yinzuomei + * @Description 2020年我国节假日查询 + * @Date 2020/5/11 21:20 + **/ + public static DayDetailResultDTO queryHolidayV2020(String day) throws Exception { + String url=String.format(ShowApiConstant.QUERY_HOLIDAY_V2020,ShowApiConstant.SHOWAPI_APPID,ShowApiConstant.SHOWAPI_SIGN,day); + logger.info(String.format("(1)QUERY_HOLIDAY_V2020入参:%s",url)); + URL u = new URL(url); + InputStream in = u.openStream(); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + try { + byte buf[] = new byte[1024]; + int read = 0; + while ((read = in .read(buf)) > 0) { + out.write(buf, 0, read); + } + } finally { + if ( in != null) { + in .close(); + } + } + byte b[] = out.toByteArray(); + String resultStr=new String(b, "utf-8"); + logger.info(String.format("(2)QUERY_HOLIDAY_V2020返参:%s",resultStr)); + JSONObject jsonobject = JSONObject.parseObject(resultStr); + ShowApiResult showApiResult= (ShowApiResult)JSONObject.toJavaObject(jsonobject, ShowApiResult.class); + logger.info(showApiResult.toString()); + + JSONObject holidayJsonObject = JSONObject.parseObject(showApiResult.getShowapi_res_body()); + DayDetailResultDTO dayDetailResultDTO= (DayDetailResultDTO)JSONObject.toJavaObject(holidayJsonObject, DayDetailResultDTO.class); + logger.info(String.format("(3)QUERY_HOLIDAY_V2020返参:%s",dayDetailResultDTO.toString())); + return dayDetailResultDTO; + } + + + /** + * @return com.epmet.result.HolidayResultDTO + * @param year + * @Author yinzuomei + * @Description 根据年份查询当年的节假日列表 + * @Date 2020/5/11 22:58 + **/ + public static HolidayResultDTO holidayList(String year) throws Exception { + String url=String.format(ShowApiConstant.HOLIDAY_LIST,ShowApiConstant.SHOWAPI_APPID,ShowApiConstant.SHOWAPI_SIGN,year); + logger.info(String.format("(1)HOLIDAY_LIST入参:%s",url)); + URL u = new URL(url); + InputStream in = u.openStream(); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + try { + byte buf[] = new byte[1024]; + int read = 0; + while ((read = in .read(buf)) > 0) { + out.write(buf, 0, read); + } + } finally { + if ( in != null) { + in .close(); + } + } + byte b[] = out.toByteArray(); + String resultStr=new String(b, "utf-8"); + logger.info(String.format("(2)HOLIDAY_LIST返参:%s",resultStr)); + JSONObject jsonobject = JSONObject.parseObject(resultStr); + ShowApiResult showApiResult= (ShowApiResult)JSONObject.toJavaObject(jsonobject, ShowApiResult.class); + logger.info(showApiResult.toString()); + + JSONObject holidayJsonObject = JSONObject.parseObject(showApiResult.getShowapi_res_body()); + HolidayResultDTO holidayResultDTO= (HolidayResultDTO)JSONObject.toJavaObject(holidayJsonObject, HolidayResultDTO.class); + logger.info(String.format("(3)HOLIDAY_LIST返参:%s",holidayResultDTO.toString())); + return holidayResultDTO; + } + public static void main(String[] args) { + try { +// queryHolidayV2020("20200503"); + holidayList("2020"); + } catch (Exception e) { + e.printStackTrace(); + } + } +} + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml new file mode 100644 index 0000000000..15b337db7c --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml @@ -0,0 +1,106 @@ +server: + port: @server.port@ + servlet: + context-path: /commonservice + +spring: + main: + allow-bean-definition-overriding: true + application: + name: common-service-server + #环境 dev|test|prod + profiles: + active: dev + messages: + encoding: UTF-8 + basename: i18n/messages,i18n/messages_common + jackson: + time-zone: GMT+8 + date-format: yyyy-MM-dd HH:mm:ss + redis: + database: @spring.redis.index@ + host: @spring.redis.host@ + port: @spring.redis.port@ + password: @spring.redis.password@ + timeout: 30s + datasource: + druid: + #MySQL + driver-class-name: com.mysql.cj.jdbc.Driver + url: @spring.datasource.druid.url@ + username: @spring.datasource.druid.username@ + password: @spring.datasource.druid.password@ + cloud: + nacos: + discovery: + server-addr: @nacos.server-addr@ + #nacos的命名空间ID,默认是public + namespace: @nacos.discovery.namespace@ + #不把自己注册到注册中心的地址 + register-enabled: @nacos.register-enabled@ + ip: @nacos.ip@ + config: + enabled: @nacos.config-enabled@ + server-addr: @nacos.server-addr@ + namespace: @nacos.config.namespace@ + group: @nacos.config.group@ + file-extension: yaml + #指定共享配置,且支持动态刷新 +# ext-config: +# - data-id: datasource.yaml +# group: ${spring.cloud.nacos.config.group} +# refresh: true +# - data-id: common.yaml +# group: ${spring.cloud.nacos.config.group} +# refresh: true +management: + endpoints: + web: + exposure: + include: "*" + endpoint: + health: + show-details: ALWAYS + +mybatis-plus: + mapper-locations: classpath:/mapper/**/*.xml + #实体扫描,多个package用逗号或者分号分隔 + typeAliasesPackage: com.epmet.modules.*.entity + global-config: + #数据库相关配置 + db-config: + #主键类型 AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID"; + id-type: ID_WORKER + #字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断" + field-strategy: NOT_NULL + #驼峰下划线转换 + column-underline: true + banner: false + #原生配置 + configuration: + map-underscore-to-camel-case: true + cache-enabled: false + call-setters-on-nulls: true + jdbc-type-for-null: 'null' + +feign: + hystrix: + enabled: true + client: + config: + default: + loggerLevel: BASIC + httpclient: + enabled: true + +hystrix: + command: + default: + execution: + isolation: + thread: + timeoutInMilliseconds: 60000 #缺省为1000 + +ribbon: + ReadTimeout: 300000 + ConnectTimeout: 300000 diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/db.sql b/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/db.sql new file mode 100644 index 0000000000..e69de29bb2 diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml new file mode 100644 index 0000000000..e3cfdd0927 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + debug + + + ${CONSOLE_LOG_PATTERN} + + UTF-8 + + + + + + + + ${log.path}/debug.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + + + ${log.path}/debug-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + debug + ACCEPT + DENY + + + + + + + ${log.path}/info.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + + + ${log.path}/info-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + info + ACCEPT + DENY + + + + + + + ${log.path}/warn.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + + ${log.path}/warn-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + warn + ACCEPT + DENY + + + + + + + ${log.path}/error.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + + ${log.path}/error-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + ERROR + ACCEPT + DENY + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/CalenderDao.xml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/CalenderDao.xml new file mode 100644 index 0000000000..b1a3ab8e8d --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/CalenderDao.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE calender + SET type = '3', + TYPE_NAME = '节假日', + HOLIDAY_REMARK = #{holiday_remark}, + HOLIDAY = #{holiday} + WHERE + DEL_FLAG = '0' + AND QUERY_DATE BETWEEN #{begin} + AND #{end} + + + + + + \ No newline at end of file diff --git a/epmet-module/epmet-common-service/pom.xml b/epmet-module/epmet-common-service/pom.xml new file mode 100644 index 0000000000..7882f594f0 --- /dev/null +++ b/epmet-module/epmet-common-service/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + + + com.epmet + epmet-module + 2.0.0 + + + com.epmet + epmet-common-service + pom + + + common-service-client + common-service-server + + + diff --git a/epmet-module/pom.xml b/epmet-module/pom.xml index 50fdc831c0..5637182706 100644 --- a/epmet-module/pom.xml +++ b/epmet-module/pom.xml @@ -33,6 +33,7 @@ resi-hall gov-issue gov-project + epmet-common-service From 8800da948b1075697fcc646dd4a7afcbb32cceb3 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 12 May 2020 10:36:31 +0800 Subject: [PATCH 02/22] =?UTF-8?q?=E4=BF=AE=E6=94=B9epmet-common-service?= =?UTF-8?q?=EF=BC=8Cdb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-common-service/common-service-server/pom.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-server/pom.xml b/epmet-module/epmet-common-service/common-service-server/pom.xml index 9bfa6132e5..933a40b48d 100644 --- a/epmet-module/epmet-common-service/common-service-server/pom.xml +++ b/epmet-module/epmet-common-service/common-service-server/pom.xml @@ -95,10 +95,12 @@ - + - root - root + + + epmet_common_service_user + EpmEt-db-UsEr 0 192.168.1.130 From 763d7b1d6fa59109fdb2718cc18dbd5d85af2a9b Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 12 May 2020 15:27:31 +0800 Subject: [PATCH 03/22] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E8=AE=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/CloseIssueFormDTO.java | 27 +++++ .../gov-issue/gov-issue-server/pom.xml | 18 +++ .../com/epmet/constant/IssueConstant.java | 38 +++++++ .../epmet/constant/UserMessageConstant.java | 25 +++++ .../controller/IssueManageController.java | 28 +++++ .../com/epmet/feign/GovOrgFeignClient.java | 13 +++ .../com/epmet/feign/MessageFeignClient.java | 15 +++ .../com/epmet/feign/ResiGroupFeignClient.java | 14 +++ .../fallback/GovOrgFeignClientFallBack.java | 8 ++ .../fallback/MessageFeignClientFallback.java | 8 ++ .../ResiGroupFeignClientFallBack.java | 9 ++ .../java/com/epmet/service/IssueService.java | 9 ++ .../epmet/service/impl/IssueServiceImpl.java | 105 ++++++++++++++++++ .../epmet/dto/result/AgencyGridResultDTO.java | 52 +++++++++ .../constant/CustomerAgencyConstant.java | 4 + .../controller/CustomerAgencyController.java | 13 +++ .../epmet/service/CustomerAgencyService.java | 9 ++ .../impl/CustomerAgencyServiceImpl.java | 37 +++++- .../topic/controller/ResiTopicController.java | 17 ++- .../topic/service/ResiTopicService.java | 8 ++ .../service/impl/ResiTopicServiceImpl.java | 6 + 21 files changed, 455 insertions(+), 8 deletions(-) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CloseIssueFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyGridResultDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CloseIssueFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CloseIssueFormDTO.java new file mode 100644 index 0000000000..d633a49564 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CloseIssueFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.form; + +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 议题管理-关闭议题-接口入参 + * @Author sun + */ +@Data +public class CloseIssueFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + + @NotBlank(message = "议题Id不能为空") + private String issueId; + + @NotBlank(message = "解决状态不能为空") + private String resolveType; + + @NotBlank(message = "关闭理由不能为空") + @Length(max=1000,message = "手机号不能超过1000位") + private String closeReason; +} + diff --git a/epmet-module/gov-issue/gov-issue-server/pom.xml b/epmet-module/gov-issue/gov-issue-server/pom.xml index 98fa317a75..35dc7a854b 100644 --- a/epmet-module/gov-issue/gov-issue-server/pom.xml +++ b/epmet-module/gov-issue/gov-issue-server/pom.xml @@ -60,6 +60,24 @@ feign-httpclient 10.3.0 + + com.epmet + gov-org-client + 2.0.0 + compile + + + com.epmet + resi-group-client + 2.0.0 + compile + + + com.epmet + epmet-message-client + 2.0.0 + compile + diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java index f8c36c2cac..48ed20352d 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java @@ -14,4 +14,42 @@ package com.epmet.constant; * @since 1.0.0 */ public interface IssueConstant { + /** + * 议题状态-表决中 + */ + String ISSUE_VOTING = "voting"; + /** + * 议题状态-已转项目 + */ + String ISSUE_SHIFT_PROJECT = "shift_project"; + /** + * 议题状态-已关闭 + */ + String ISSUE_CLOSED = "closed"; + /** + * 议题解决类型-已解决 + */ + String ISSUE_RESLOVED = "resloved"; + /** + * 议题解决类型-未解决 + */ + String ISSUE_UNRESLOVED = "unresloved"; + + String SELECT_EXCEPTION = "获取议题详情数据失败"; + String UPPDATE_EXCEPTION = "议题详情表数据更新失败"; + + /** + * 议题来源类型类型-话题 + */ + String ISSUE_RESI_TOPIC = "resi_topic"; + + String SELECT_TOPIC_EXCEPTION = "获取话题数据失败"; + String SAVE_MSG_EXCEPTION = "关闭议题时给用户发送消息失败"; + + /** + * 议题管理-操作人所属机构类型(机构:agency | 部门:dept | 网格:grid) + */ + String ISSUE_AGENCY = "agency"; + String ISSUE_DEPT = "dept"; + String ISSUE_GRID = "grid"; } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java new file mode 100644 index 0000000000..ccbb7faa87 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java @@ -0,0 +1,25 @@ +package com.epmet.constant; + +/** + * @Description 议题管理模块消息通知 + * @Author sun + */ +public interface UserMessageConstant { + + /** + * 消息标题 + */ + String ISSUE_TITLE = "您有一条议题消息"; + + /** + * 议题关闭时,选择已解决 + */ + String ISSUE_RESLOVED_MSG = "您好,您发表的话题\"%s\"问题已解决,解决方案是:%s"; + + /** + * 议题关闭时,选择无需解决 + */ + String ISSUE_UNRESLOVED_MSG = "您好,您发表的话题\"%s\"问题无需解决,原因:%s"; + + +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java index 186e2a2e3a..6ad967cdca 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java @@ -1,5 +1,16 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.annotation.RequirePermission; +import com.epmet.commons.tools.enums.RequirePermissionEnum; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.CloseIssueFormDTO; +import com.epmet.service.IssueService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -11,5 +22,22 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("manage") public class IssueManageController { + + @Autowired + private IssueService issueService; + + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-关闭议题 + **/ + @PostMapping("closeissue") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_CLOSE) + public Result closeIssue(@LoginUser TokenDto tokenDTO, @RequestBody CloseIssueFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + issueService.closeIssue(formDTO); + return new Result(); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index b8f7090437..9cd829abe4 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -1,8 +1,13 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.form.CustomerGridFormDTO; +import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.feign.fallback.GovOrgFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; /** * @Description 调用gov-org服务 @@ -11,4 +16,12 @@ import org.springframework.cloud.openfeign.FeignClient; */ @FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class) public interface GovOrgFeignClient { + /** + * @param + * @return + * @Author sun + * @Description 根据组织Id、网格Id查询组织、网格名称 + **/ + @PostMapping("/gov/org/customergrid/getcustomergridbygridid") + Result getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/MessageFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/MessageFeignClient.java index 0f61ebfa6b..3c994298c5 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/MessageFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/MessageFeignClient.java @@ -1,8 +1,14 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.feign.fallback.MessageFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.List; /** * @Description 调用epmet-message服务 @@ -11,4 +17,13 @@ import org.springframework.cloud.openfeign.FeignClient; */ @FeignClient(name = ServiceConstant.EPMET_MESSAGE_SERVER, fallback = MessageFeignClientFallback.class) public interface MessageFeignClient { + + /** + * @param msgList + * @return com.epmet.commons.tools.utils.Result + * @Author sun + * @Description 关闭议题给话题创建人和议题发起人发送消息 + **/ + @PostMapping(value = "message/usermessage/saveusermessagelist", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result saveUserMessageList(List msgList); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java index f47fd95a21..6ca577ec34 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java @@ -1,8 +1,13 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.feign.fallback.ResiGroupFeignClientFallBack; +import com.epmet.resi.group.dto.topic.ResiTopicDTO; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; /** * @Description 调用resi-group服务 @@ -11,4 +16,13 @@ import org.springframework.cloud.openfeign.FeignClient; */ @FeignClient(name = ServiceConstant.RESI_GROUP_SERVER, fallback = ResiGroupFeignClientFallBack.class) public interface ResiGroupFeignClient { + + /** + * @param + * @return + * @Author sun + * @Description 根据话题Id查询话题信息 + **/ + @PostMapping("/resi/group/topic/gettopicbyid/{topicId}") + Result getTopicById(@PathVariable("topicId") String topicId); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index 5205700ec6..8aec17593a 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -1,5 +1,9 @@ package com.epmet.feign.fallback; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.feign.GovOrgFeignClient; import org.springframework.stereotype.Component; @@ -9,4 +13,8 @@ import org.springframework.stereotype.Component; */ @Component public class GovOrgFeignClientFallBack implements GovOrgFeignClient { + @Override + public Result getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getagencyandgrid", agencyGridResultDTO); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/MessageFeignClientFallback.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/MessageFeignClientFallback.java index ebd50f1adc..bb5491ea78 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/MessageFeignClientFallback.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/MessageFeignClientFallback.java @@ -3,13 +3,21 @@ package com.epmet.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.feign.MessageFeignClient; import org.springframework.stereotype.Component; +import java.util.List; + /** * @Description 调用epmet-message服务 * @Author sun */ @Component public class MessageFeignClientFallback implements MessageFeignClient { + + @Override + public Result saveUserMessageList(List msgList) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "saveUserMessageList", msgList); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java index dfb34c250d..6f09e42b89 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java @@ -1,6 +1,11 @@ package com.epmet.feign.fallback; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.feign.ResiGroupFeignClient; +import com.epmet.resi.group.dto.topic.ResiTopicDTO; import org.springframework.stereotype.Component; /** @@ -9,4 +14,8 @@ import org.springframework.stereotype.Component; */ @Component public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient { + @Override + public Result getTopicById(String topicId) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "gettopicbyid", topicId); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java index 7890e150fa..ab38c329c5 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java @@ -1,6 +1,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.dto.form.CloseIssueFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.entity.IssueEntity; @@ -19,4 +20,12 @@ public interface IssueService extends BaseService { */ IssueResultDTO detail(IssueDetailFormDTO issueDetail); + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-关闭议题 + **/ + void closeIssue(CloseIssueFormDTO formDTO); + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 327d135bd8..536a12307e 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -1,13 +1,34 @@ package com.epmet.service.impl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.AppClientConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.IssueConstant; +import com.epmet.constant.ReadFlagConstant; +import com.epmet.constant.UserMessageConstant; import com.epmet.dao.IssueDao; +import com.epmet.dao.IssueProcessDao; +import com.epmet.dto.form.CloseIssueFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.form.UserMessageFormDTO; +import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.entity.IssueEntity; +import com.epmet.entity.IssueProcessEntity; +import com.epmet.feign.GovOrgFeignClient; +import com.epmet.feign.MessageFeignClient; +import com.epmet.feign.ResiGroupFeignClient; +import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * @Author zxc @@ -18,6 +39,14 @@ public class IssueServiceImpl extends BaseServiceImpl imp @Autowired private IssueDao issueDao; + @Autowired + private GovOrgFeignClient govOrgFeignClient; + @Autowired + private IssueProcessDao issueProcessDao; + @Autowired + private ResiGroupFeignClient resiGroupFeignClient; + @Autowired + private MessageFeignClient messageFeignClient; /** * @Description 议题详情 @@ -31,4 +60,80 @@ public class IssueServiceImpl extends BaseServiceImpl imp IssueResultDTO issueResult = issueDao.issueDetail(issueDetail); return issueResult; } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-关闭议题 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public void closeIssue(CloseIssueFormDTO formDTO) { + Date date = new Date(); + //1:更新议题详情表数据 + IssueEntity entity = baseDao.selectById(formDTO.getIssueId()); + if (null == entity) { + throw new RenException(IssueConstant.SELECT_EXCEPTION); + } + entity.setIssueStatus(IssueConstant.ISSUE_CLOSED); + entity.setCloseReason(formDTO.getCloseReason()); + entity.setResolveType(formDTO.getResolveType()); + entity.setVotingDeadline(date); + entity.setClosedTime(date); + if (baseDao.updateById(entity) < NumConstant.ONE) { + throw new RenException(IssueConstant.UPPDATE_EXCEPTION); + } + //2:调用gov-org服务,查询组织网格名称 + AgencyGridResultDTO agencyGridResultDTO = new AgencyGridResultDTO(); + agencyGridResultDTO.setAgencyId(entity.getOrgId()); + agencyGridResultDTO.setGridId(entity.getGridId()); + Result resultDTO = govOrgFeignClient.getAgencyAndGrid(agencyGridResultDTO); + agencyGridResultDTO = resultDTO.getData(); + //3:议题进展记录表新增数据 + IssueProcessEntity processEntity = new IssueProcessEntity(); + processEntity.setIssueId(formDTO.getIssueId()); + processEntity.setIssueStatus(IssueConstant.ISSUE_CLOSED); + processEntity.setOrgType(IssueConstant.ISSUE_GRID); + processEntity.setOrgId(entity.getOrgId()); + processEntity.setOperationExplain(formDTO.getCloseReason()); + processEntity.setOrgName(agencyGridResultDTO.getAgencyName()+"-"+agencyGridResultDTO.getGridName()); + issueProcessDao.insert(processEntity); + //4:调用epmet-message服务,给居民端话题创建人和议题发起人发送消息 + if(!saveUserMessageList(formDTO, entity).success()){ + throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION); + } + } + /** + * @Description 关闭议题给话题创建人和议题发起人发送消息 + * @author sun + */ + private Result saveUserMessageList(CloseIssueFormDTO formDTO, IssueEntity entity){ + //1:调用resi-group查询话题创建人数据(目前议题来源只有来自话题) + Result resultTopicDTO = resiGroupFeignClient.getTopicById(entity.getSourceId()); + if (!resultTopicDTO.success() || null == resultTopicDTO.getData()) { + throw new RenException(IssueConstant.SELECT_TOPIC_EXCEPTION); + } + ResiTopicDTO topicDTO = resultTopicDTO.getData(); + //2:分别给话题创建人、议题发起人发送消息 + List msgList = new ArrayList<>(); + UserMessageFormDTO msgDTO = new UserMessageFormDTO(); + msgDTO.setCustomerId(entity.getCustomerId()); + msgDTO.setGridId(entity.getGridId()); + msgDTO.setApp(AppClientConstant.APP_RESI); + msgDTO.setTitle(UserMessageConstant.ISSUE_TITLE); + String messageContent = ""; + if (IssueConstant.ISSUE_RESLOVED.equals(formDTO.getResolveType())) { + messageContent = String.format(UserMessageConstant.ISSUE_RESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason()); + } else if (IssueConstant.ISSUE_UNRESLOVED.equals(formDTO.getResolveType())) { + messageContent = String.format(UserMessageConstant.ISSUE_UNRESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason()); + } + msgDTO.setMessageContent(messageContent); + msgDTO.setReadFlag(ReadFlagConstant.UN_READ); + msgDTO.setUserId(topicDTO.getCreatedBy()); + msgList.add(msgDTO); + msgDTO.setUserId(entity.getCreatedBy()); + msgList.add(msgDTO); + return messageFeignClient.saveUserMessageList(msgList); + } } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyGridResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyGridResultDTO.java new file mode 100644 index 0000000000..26fe8f9292 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyGridResultDTO.java @@ -0,0 +1,52 @@ +/** + * 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 AgencyGridResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 机关组织Id + */ + private String agencyId; + /** + * 机关组织名称 + */ + private String agencyName; + /** + * 网格Id + */ + private String gridId; + /** + * 网格名称 + */ + private String gridName; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java index 7200bca2a3..330185b612 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java @@ -34,4 +34,8 @@ public interface CustomerAgencyConstant { * 区县名称不能为空 */ String DISTRICT_EXCEPTION = "区县级机关名称不能为空"; + /** + * 组织信息查询失败 + */ + String SELECT_EXCEPTION = "根据组织ID未查询到机构组织信息"; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index 9de0e27f8e..ee839de020 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -27,6 +27,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.StaffOrgFormDTO; +import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.dto.result.StaffOrgsResultDTO; import com.epmet.excel.CustomerAgencyExcel; import com.epmet.service.CustomerAgencyService; @@ -104,4 +105,16 @@ public class CustomerAgencyController { public Result> getStaffOrgList(@RequestBody StaffOrgFormDTO staffOrgsFormDTO) { return customerAgencyService.getStaffOrgList(staffOrgsFormDTO); } + + /** + * @param agencyGridResultDTO + * @return + * @Author sun + * @Description 根据组织Id、网格Id查询组织、网格名称 + **/ + @PostMapping("getagencyandgrid") + public Result getAgencyAndGrid(@RequestBody AgencyGridResultDTO agencyGridResultDTO) { + return new Result().ok(customerAgencyService.getAgencyAndGrid(agencyGridResultDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index 62892b4576..dceb37c12e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.StaffOrgFormDTO; +import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.dto.result.StaffOrgsResultDTO; import com.epmet.entity.CustomerAgencyEntity; @@ -104,4 +105,12 @@ public interface CustomerAgencyService extends BaseService * @Date 2020/4/20 21:45 **/ Result> getStaffOrgList(StaffOrgFormDTO staffOrgsFormDTO); + + /** + * @param agencyGridResultDTO + * @return + * @Author sun + * @Description 根据组织Id、网格Id查询组织、网格名称 + **/ + AgencyGridResultDTO getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 06f83a0d25..43d442b32e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -21,19 +21,22 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.CustomerAgencyConstant; +import com.epmet.constant.CustomerGridConstant; import com.epmet.dao.CustomerAgencyDao; +import com.epmet.dao.CustomerGridDao; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.CustomerDTO; -import com.epmet.dto.form.*; -import com.epmet.dto.result.*; +import com.epmet.dto.form.CustomerFormDTO; +import com.epmet.dto.form.StaffOrgFormDTO; +import com.epmet.dto.result.AgencyGridResultDTO; +import com.epmet.dto.result.StaffOrgsResultDTO; import com.epmet.entity.CustomerAgencyEntity; +import com.epmet.entity.CustomerGridEntity; import com.epmet.feign.OperCrmFeignClient; import com.epmet.redis.CustomerAgencyRedis; import com.epmet.service.CustomerAgencyService; @@ -62,6 +65,8 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -138,4 +143,28 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl>().ok(list); } + + /** + * @param agencyGridResultDTO + * @return + * @Author sun + * @Description 根据组织Id、网格Id查询组织、网格名称 + **/ + @Override + public AgencyGridResultDTO getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO) { + //1:查询组织机关信息 + CustomerAgencyEntity agencyEntity = baseDao.selectById(agencyGridResultDTO.getAgencyId()); + if (null == agencyEntity) { + throw new RenException(CustomerAgencyConstant.SELECT_EXCEPTION); + } + agencyGridResultDTO.setAgencyName(agencyEntity.getOrganizationName()); + //2:查询网格信 + CustomerGridEntity gridEntity = customerGridDao.selectById(agencyGridResultDTO.getGridId()); + if (null == gridEntity) { + throw new RenException(CustomerGridConstant.SELECT_EXCEPTION); + } + agencyGridResultDTO.setGridName(gridEntity.getGridName()); + return agencyGridResultDTO; + } + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java index 6a86db52ff..9391a4c9d6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java @@ -5,6 +5,7 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.modules.topic.service.ResiTopicService; +import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.TopicInfoDTO; import com.epmet.resi.group.dto.topic.form.*; import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO; @@ -12,10 +13,7 @@ import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueDetailResultDT import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueInfoResultDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -199,4 +197,15 @@ public class ResiTopicController { return new Result().ok(topicService.selectDetail(topicInfo)); } + /** + * @param topicId + * @return + * @Author sun + * @Description 根据话题Id查询话题信息 + **/ + @PostMapping(value = "gettopicbyid/{topicId}") + public Result getTopicById(@PathVariable("topicId") String topicId){ + return new Result().ok(topicService.getTopicById(topicId)); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java index f7694dcf76..74cc6c3633 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java @@ -229,4 +229,12 @@ public interface ResiTopicService extends BaseService { */ TopicInfoDTO selectDetail(TopicInfoFormDTO formDTO); + /** + * @param topicId + * @return + * @Author sun + * @Description 根据话题Id查询话题信息 + **/ + ResiTopicDTO getTopicById(String topicId); + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index 920c6cfda4..f775c004d6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -931,6 +931,12 @@ public class ResiTopicServiceImpl extends BaseServiceImpl Date: Tue, 12 May 2020 15:35:21 +0800 Subject: [PATCH 04/22] =?UTF-8?q?=E6=BB=9E=E7=95=99=E5=A4=A9=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/FieldMetaObjectHandler.java | 2 +- .../main/java/com/epmet/dto/CalenderDTO.java | 6 ++ .../com/epmet/dto/form/CalenderFormDTO.java | 68 +++++++++++++ .../epmet/controller/CalenderController.java | 3 +- .../epmet/controller/ShowApiController.java | 20 +++- .../main/java/com/epmet/dao/CalenderDao.java | 2 +- .../com/epmet/service/CalenderService.java | 3 +- .../com/epmet/service/ShowApiService.java | 4 + .../service/impl/CalenderServiceImpl.java | 96 ++++++++++++++++++- .../service/impl/ShowApiServiceImpl.java | 71 +++++++++++++- ...duleTask.java => WorkDayScheduleTask.java} | 20 ++-- .../java/com/epmet/dao/OperLanguageDao.java | 1 + .../service/impl/OperLanguageServiceImpl.java | 2 +- .../main/resources/mapper/OperLanguageDao.xml | 5 + 14 files changed, 280 insertions(+), 23 deletions(-) create mode 100644 epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/CalenderFormDTO.java rename epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/{SaticScheduleTask.java => WorkDayScheduleTask.java} (51%) 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 fcd85b0c0e..1b9215e22a 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 @@ -61,7 +61,7 @@ public class FieldMetaObjectHandler implements MetaObjectHandler { setFieldValByName(FieldConstant.DEL_FLAG_HUMP, EpmetDelFlagEnum.NORMAL.value(), metaObject); // 数据权限标志 //setInsertFieldValByName(DEPT_ID, deptId, metaObject); - } else { + } else if (metaObject.getOriginalObject() instanceof BaseEntity) { UserDetail user = SecurityUser.getUser(); // renren自带的 if (user == null) { diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/CalenderDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/CalenderDTO.java index 77c75ed9e3..220ec8ef12 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/CalenderDTO.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/CalenderDTO.java @@ -19,7 +19,10 @@ package com.epmet.dto; import java.io.Serializable; import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; +import org.hibernate.validator.constraints.Length; /** @@ -51,6 +54,7 @@ public class CalenderDTO implements Serializable { /** * 查询的日期:20200510 */ + @JsonFormat(pattern="yyyy-MM-dd") private Date queryDate; /** @@ -61,11 +65,13 @@ public class CalenderDTO implements Serializable { /** * 节日或周末开始时间,如果是工作日,此字段为空串 */ + @Length(max = 8) private String begin; /** * 节日或周末结束时间,如果是工作日,此字段为空串 */ + @Length(max = 8) private String end; /** diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/CalenderFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/CalenderFormDTO.java new file mode 100644 index 0000000000..e2e8ab6512 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/CalenderFormDTO.java @@ -0,0 +1,68 @@ +package com.epmet.dto.form; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description TODO + * @Author yinzuomei + * @Date 2020/5/12 14:09 + */ +@Data +public class CalenderFormDTO implements Serializable { + private static final long serialVersionUID = -62868343447396944L; + + /** + * 查询的日期:20200510 + */ + @JsonFormat(pattern="yyyy-MM-dd") + private Date queryDate; + + /** + * 星期几的数字 + */ + private Integer weekday; + + /** + * 节日或周末开始时间,如果是工作日,此字段为空串 + */ + @Length(max = 8) + private String begin; + + /** + * 节日或周末结束时间,如果是工作日,此字段为空串 + */ + @Length(max = 8) + private String end; + + /** + * 节日备注 + */ + private String holidayRemark; + + /** + * 1为工作日,2为周末,3为节假日 + */ + private String type; + + /** + * 节日名称,工作日时显示“无”,周末时显示“周末”,节日时显示节日名称 + */ + private String holiday; + + /** + * 星期几的英文名 + */ + private String en; + + /** + * 星期几的中文名 + */ + private String cn; + +} + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/CalenderController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/CalenderController.java index a3acf8c5ff..80d0062bec 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/CalenderController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/CalenderController.java @@ -25,6 +25,7 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.CalenderDTO; +import com.epmet.dto.form.CalenderFormDTO; import com.epmet.service.CalenderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -58,7 +59,7 @@ public class CalenderController { } @PostMapping - public Result save(@RequestBody CalenderDTO dto){ + public Result save(@RequestBody CalenderFormDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); calenderService.save(dto); diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ShowApiController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ShowApiController.java index 209c3f4cc4..7b01acac0c 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ShowApiController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ShowApiController.java @@ -21,11 +21,11 @@ public class ShowApiController { private ShowApiService showApiService; /** - * @return com.epmet.commons.tools.utils.Result * @param year + * @return com.epmet.commons.tools.utils.Result * @Author yinzuomei * @Description 初始化日历插入数据库 - * @Date 2020/5/11 23:23 + * @Date 2020/5/11 23:23 **/ @PostMapping("init/{year}") public Result initYearCalender(@PathVariable("year") String year) { @@ -46,11 +46,11 @@ public class ShowApiController { } /** - * @return com.epmet.commons.tools.utils.Result * @param year + * @return com.epmet.commons.tools.utils.Result * @Author yinzuomei * @Description 根据年份查询当年的节假日列表(调用api同步到本地) - * @Date 2020/5/11 23:24 + * @Date 2020/5/11 23:24 **/ @PostMapping("holidayList/{year}") public Result holidayList(@PathVariable("year") String year) { @@ -58,5 +58,17 @@ public class ShowApiController { return new Result(); } + /** + * @param day yyyyMMdd + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 拉取某一天的日历详情 + * @Date 2020/5/12 14:45 + **/ + @PostMapping("initWorkDay/{day}") + public Result initWorkDay(@PathVariable("day") String day) { + showApiService.initWorkDay(day); + return new Result(); + } } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/CalenderDao.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/CalenderDao.java index 1240add1e1..2d18e22648 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/CalenderDao.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/CalenderDao.java @@ -36,7 +36,7 @@ public interface CalenderDao extends BaseDao { int updateHoliday(HolidayDetailDTO holidayDetail); - CalenderEntity selectByDay(String day); + List selectByDay(String day); List selectList(String year); diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/CalenderService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/CalenderService.java index 5dbc9c2634..0f4fac02b8 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/CalenderService.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/CalenderService.java @@ -20,6 +20,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.CalenderDTO; +import com.epmet.dto.form.CalenderFormDTO; import com.epmet.entity.CalenderEntity; import java.util.List; @@ -71,7 +72,7 @@ public interface CalenderService extends BaseService { * @author generator * @date 2020-05-11 */ - void save(CalenderDTO dto); + void save(CalenderFormDTO dto); /** * 默认更新 diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ShowApiService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ShowApiService.java index 372c247ca7..b5dc546c2b 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ShowApiService.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ShowApiService.java @@ -1,5 +1,7 @@ package com.epmet.service; +import java.util.Date; + /** * @Description 工作日信息维护 * @Author yinzuomei @@ -13,4 +15,6 @@ public interface ShowApiService { void holidayList(String year); + void initWorkDay(String currentDate); + } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/CalenderServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/CalenderServiceImpl.java index 6c0dca44c8..518577e6c0 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/CalenderServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/CalenderServiceImpl.java @@ -25,13 +25,16 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.dao.CalenderDao; import com.epmet.dto.CalenderDTO; +import com.epmet.dto.form.CalenderFormDTO; import com.epmet.entity.CalenderEntity; import com.epmet.service.CalenderService; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.text.SimpleDateFormat; import java.util.Arrays; +import java.util.Date; import java.util.List; import java.util.Map; @@ -60,9 +63,11 @@ public class CalenderServiceImpl extends BaseServiceImpl getWrapper(Map params) { String id = (String) params.get(FieldConstant.ID_HUMP); - + String day = (String) params.get("day"); QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id) + .like(StringUtils.isNotBlank(day),"day",day); + wrapper.orderByAsc("QUERY_DATE"); return wrapper; } @@ -75,18 +80,91 @@ public class CalenderServiceImpl extends BaseServiceImpl calenderList = calenderDao.selectByDay(simpleDateFormat.format(new Date(i))); + if (null == calenderList || calenderList.size() < 1) { logger.info("日期:" + dateFormat.format(new Date(i))); CalenderEntity calenderEntity = new CalenderEntity(); calenderEntity.setQueryDate(new Date(i)); @@ -123,6 +124,72 @@ public class ShowApiServiceImpl implements ShowApiService { } } + @Override + public void initWorkDay(String currentDate) { + DayDetailResultDTO dayDetailResultDTO = null; + try { + dayDetailResultDTO = ShowApiUtil.queryHolidayV2020(currentDate); + } catch (Exception e) { + e.printStackTrace(); + } + List list = calenderDao.selectByDay(currentDate); + if(null!=list&&list.size()>0){ + if (null != dayDetailResultDTO && 0 == dayDetailResultDTO.getRet_code()) { + for (CalenderEntity calenderEntity : list) { + calenderEntity.setRetCode(dayDetailResultDTO.getRet_code()); + calenderEntity.setWeekday(dayDetailResultDTO.getWeekDay()); + calenderEntity.setBegin(dayDetailResultDTO.getBegin()); + calenderEntity.setEnd(dayDetailResultDTO.getEnd()); + calenderEntity.setHoliday(dayDetailResultDTO.getHoliday()); + calenderEntity.setHolidayRemark(dayDetailResultDTO.getHoliday_remark()); + calenderEntity.setEn(dayDetailResultDTO.getEn()); + calenderEntity.setCn(dayDetailResultDTO.getCn()); + calenderEntity.setType(dayDetailResultDTO.getType()); + //1为工作日,2为周末,3为节假日 + if ("1".equals(dayDetailResultDTO.getType())) { + calenderEntity.setTypeName("工作日"); + } else if ("2".equals(dayDetailResultDTO.getType())) { + calenderEntity.setTypeName("周末"); + } else if ("3".equals(dayDetailResultDTO.getType())) { + calenderEntity.setTypeName("节假日"); + } + calenderDao.updateById(calenderEntity); + } + } + }else { + calenderDao.insert(getCalenderEntity(dayDetailResultDTO)); + } + } + + public CalenderEntity getCalenderEntity(DayDetailResultDTO dayDetailResultDTO) { + CalenderEntity calenderEntity = new CalenderEntity(); + calenderEntity.setDay(dayDetailResultDTO.getDay()); + try { + Date queryDate=simpleDateFormat.parse(dayDetailResultDTO.getDay()); + calenderEntity.setQueryDate(queryDate); + } catch (ParseException e) { + logger.error("QUERY_DATE 赋值 错误"); + e.printStackTrace(); + } + calenderEntity.setRetCode(dayDetailResultDTO.getRet_code()); + calenderEntity.setWeekday(dayDetailResultDTO.getWeekDay()); + calenderEntity.setBegin(dayDetailResultDTO.getBegin()); + calenderEntity.setEnd(dayDetailResultDTO.getEnd()); + calenderEntity.setHoliday(dayDetailResultDTO.getHoliday()); + calenderEntity.setHolidayRemark(dayDetailResultDTO.getHoliday_remark()); + calenderEntity.setEn(dayDetailResultDTO.getEn()); + calenderEntity.setCn(dayDetailResultDTO.getCn()); + calenderEntity.setType(dayDetailResultDTO.getType()); + //1为工作日,2为周末,3为节假日 + if ("1".equals(dayDetailResultDTO.getType())) { + calenderEntity.setTypeName("工作日"); + } else if ("2".equals(dayDetailResultDTO.getType())) { + calenderEntity.setTypeName("周末"); + } else if ("3".equals(dayDetailResultDTO.getType())) { + calenderEntity.setTypeName("节假日"); + } + return calenderEntity; + } /* public static void main(String[] args) throws ParseException { String dateStart = "2020-01-01"; String dateEnd = "2020-12-31"; diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/SaticScheduleTask.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/WorkDayScheduleTask.java similarity index 51% rename from epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/SaticScheduleTask.java rename to epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/WorkDayScheduleTask.java index bdca1553d2..b26ab24cb7 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/SaticScheduleTask.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/task/WorkDayScheduleTask.java @@ -6,25 +6,27 @@ import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; +import java.text.SimpleDateFormat; import java.time.LocalDateTime; +import java.util.Date; /** - * @Description TODO + * @Description 定时任务 * @Author yinzuomei * @Date 2020/5/12 0:01 */ -//@Configuration //1.主要用于标记配置类,兼备Component的效果。 -//@EnableScheduling // 2.开启定时任务 -public class SaticScheduleTask { +@Configuration //1.主要用于标记配置类,兼备Component的效果。 +@EnableScheduling // 2.开启定时任务 +public class WorkDayScheduleTask { @Autowired private ShowApiService showApiService; - //3.添加定时任务 - @Scheduled(cron = "0/1 * * * * ?") - //或直接指定时间间隔,例如:5秒 - //@Scheduled(fixedRate=5000) + //每天晚上00:00:01执行{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)} + @Scheduled(cron = "1 0 0 * * ?") private void configureTasks() { - showApiService.initWorkDayList("2020"); + Date nowDate = new Date(); + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + showApiService.initWorkDay(format.format(nowDate)); System.err.println("执行静态定时任务时间: " + LocalDateTime.now()); } } diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperLanguageDao.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperLanguageDao.java index d681d328c3..0085399c5b 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperLanguageDao.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperLanguageDao.java @@ -24,4 +24,5 @@ public interface OperLanguageDao extends BaseDao { void updateLanguage(OperLanguageEntity entity); + void insert1(OperLanguageEntity entity); } diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperLanguageServiceImpl.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperLanguageServiceImpl.java index ee486aa224..04c85454f7 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperLanguageServiceImpl.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperLanguageServiceImpl.java @@ -112,7 +112,7 @@ public class OperLanguageServiceImpl extends BaseServiceImpl + + INSERT INTO `oper_language` ( `table_name`, `table_id`, `field_name`, `field_value`, `language` ) + VALUES + ( #{tableName}, #{tableId}, #{fieldName}, #{fieldValue}, #{language} ) + From 15e78da1ac7c91a4435294079b59c048ef1e5f51 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 12 May 2020 15:37:40 +0800 Subject: [PATCH 05/22] insertOperLanguageEntity --- .../src/main/java/com/epmet/dao/OperLanguageDao.java | 2 +- .../java/com/epmet/service/impl/OperLanguageServiceImpl.java | 2 +- .../src/main/resources/mapper/OperLanguageDao.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperLanguageDao.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperLanguageDao.java index 0085399c5b..dfca54a9ab 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperLanguageDao.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperLanguageDao.java @@ -24,5 +24,5 @@ public interface OperLanguageDao extends BaseDao { void updateLanguage(OperLanguageEntity entity); - void insert1(OperLanguageEntity entity); + void insertOperLanguageEntity(OperLanguageEntity entity); } diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperLanguageServiceImpl.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperLanguageServiceImpl.java index 04c85454f7..7ed89ecf7b 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperLanguageServiceImpl.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperLanguageServiceImpl.java @@ -112,7 +112,7 @@ public class OperLanguageServiceImpl extends BaseServiceImpl - + INSERT INTO `oper_language` ( `table_name`, `table_id`, `field_name`, `field_value`, `language` ) VALUES ( #{tableName}, #{tableId}, #{fieldName}, #{fieldValue}, #{language} ) From f777848ee8085c581c659b0f033916ff110a01bd Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 12 May 2020 15:40:22 +0800 Subject: [PATCH 06/22] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/controller/WorkDayController.java | 1 - 1 file changed, 1 deletion(-) diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/WorkDayController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/WorkDayController.java index 679613a48d..0d975a0c31 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/WorkDayController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/WorkDayController.java @@ -11,7 +11,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; -import java.util.Set; /** * @Description 工作日计算 From 68c87a9197d5b74a9fb55eb94ed548a76d23d18d Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 12 May 2020 15:49:58 +0800 Subject: [PATCH 07/22] =?UTF-8?q?=E5=88=A0=E9=99=A4resi-hall,gov-issue,gov?= =?UTF-8?q?-projecctdemo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/DemoTestFormDTO.java | 21 --------------- .../controller/GovIssueDemoController.java | 27 ------------------- .../controller/ResiHallDemoController.java | 27 ------------------- .../com/epmet/dto/form/DemoTestFormDTO.java | 21 --------------- .../controller/GovProjectDemoController.java | 27 ------------------- .../com/epmet/dto/form/DemoTestFormDTO.java | 21 --------------- 6 files changed, 144 deletions(-) delete mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/DemoTestFormDTO.java delete mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/GovIssueDemoController.java delete mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/ResiHallDemoController.java delete mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/DemoTestFormDTO.java delete mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/GovProjectDemoController.java delete mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/DemoTestFormDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/DemoTestFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/DemoTestFormDTO.java deleted file mode 100644 index fc93172558..0000000000 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/DemoTestFormDTO.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.epmet.dto.form; - -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import java.io.Serializable; - -/** - * @Description 测试入参 - * @Author yinzuomei - * @Date 2020/5/8 10:00 - */ -@Data -public class DemoTestFormDTO implements Serializable { - private static final long serialVersionUID = 4859779755214502427L; - @NotBlank(message = "客户id不能为空") - private String customerId; - @NotBlank(message = "网格id不能为空") - private String gridId; -} - diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/GovIssueDemoController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/GovIssueDemoController.java deleted file mode 100644 index 174ac7a057..0000000000 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/GovIssueDemoController.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.epmet.controller; - -import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.form.DemoTestFormDTO; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.*; - -/** - * @Description 测试 - * @Author yinzuomei - * @Date 2020/5/7 22:47 - */ -@RestController -@RequestMapping("demo") -public class GovIssueDemoController { - private static final Logger logger = LoggerFactory.getLogger(GovIssueDemoController.class); - - /* @PostMapping("test") - public Result test(@RequestBody DemoTestFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO); - logger.info(String.format("请求成功客户id[%s],网格id[%s]",formDTO.getCustomerId(),formDTO.getGridId())); - return new Result().ok("gov-issue-server请求成功"); - }*/ -} - diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/ResiHallDemoController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/ResiHallDemoController.java deleted file mode 100644 index 6f8021d0df..0000000000 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/ResiHallDemoController.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.epmet.controller; - -import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.form.DemoTestFormDTO; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.*; - -/** - * @Description 测试 - * @Author yinzuomei - * @Date 2020/5/7 22:47 - */ -@RestController -@RequestMapping("demo") -public class ResiHallDemoController { - private static final Logger logger = LoggerFactory.getLogger(ResiHallDemoController.class); - - /* @PostMapping("test") - public Result test(@RequestBody DemoTestFormDTO formDTO) { - logger.info(String.format("请求成功客户id[%s],网格id[%s]",formDTO.getCustomerId(),formDTO.getGridId())); - ValidatorUtils.validateEntity(formDTO); - return new Result().ok("resi-hall-server请求成功"); - }*/ -} - diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/DemoTestFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/DemoTestFormDTO.java deleted file mode 100644 index fc93172558..0000000000 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/DemoTestFormDTO.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.epmet.dto.form; - -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import java.io.Serializable; - -/** - * @Description 测试入参 - * @Author yinzuomei - * @Date 2020/5/8 10:00 - */ -@Data -public class DemoTestFormDTO implements Serializable { - private static final long serialVersionUID = 4859779755214502427L; - @NotBlank(message = "客户id不能为空") - private String customerId; - @NotBlank(message = "网格id不能为空") - private String gridId; -} - diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/GovProjectDemoController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/GovProjectDemoController.java deleted file mode 100644 index e099bd801c..0000000000 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/GovProjectDemoController.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.epmet.controller; - -import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.form.DemoTestFormDTO; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.*; - -/** - * @Description 测试 - * @Author yinzuomei - * @Date 2020/5/7 22:47 - */ -@RestController -@RequestMapping("demo") -public class GovProjectDemoController { - private static final Logger logger = LoggerFactory.getLogger(GovProjectDemoController.class); - - @PostMapping("test") - public Result test(@RequestBody DemoTestFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO); - logger.info(String.format("请求成功客户id[%s],网格id[%s]",formDTO.getCustomerId(),formDTO.getGridId())); - return new Result().ok("gov-project-server请求成功"); - } -} - diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/DemoTestFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/DemoTestFormDTO.java deleted file mode 100644 index fc93172558..0000000000 --- a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/DemoTestFormDTO.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.epmet.dto.form; - -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import java.io.Serializable; - -/** - * @Description 测试入参 - * @Author yinzuomei - * @Date 2020/5/8 10:00 - */ -@Data -public class DemoTestFormDTO implements Serializable { - private static final long serialVersionUID = 4859779755214502427L; - @NotBlank(message = "客户id不能为空") - private String customerId; - @NotBlank(message = "网格id不能为空") - private String gridId; -} - From 077409f35e9004db0d84f13f0df9ca9e1b0f84bd Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 12 May 2020 15:57:34 +0800 Subject: [PATCH 08/22] =?UTF-8?q?calender=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/db/migration/db.sql | 0 .../db/migration/epmet_common_service.sql | 418 ++++++++++++++++++ 2 files changed, 418 insertions(+) delete mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/db.sql create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/epmet_common_service.sql diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/db.sql b/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/db.sql deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/epmet_common_service.sql b/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/epmet_common_service.sql new file mode 100644 index 0000000000..1e2005a491 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/epmet_common_service.sql @@ -0,0 +1,418 @@ +/* + Navicat Premium Data Transfer + + Source Server : 党群e事通开发库!!!!! + Source Server Type : MySQL + Source Server Version : 50728 + Source Host : 192.168.1.130:3306 + Source Schema : epmet_common_service + + Target Server Type : MySQL + Target Server Version : 50728 + File Encoding : 65001 + + Date: 12/05/2020 15:55:09 +*/ +CREATE DATABASE `epmet_common_service` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci'; + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for calender +-- ---------------------------- +DROP TABLE IF EXISTS `calender`; +CREATE TABLE `calender` ( + `ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `RET_CODE` int(11) DEFAULT NULL COMMENT '0表示成功,其他为失败', + `DAY` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '查询的日期:20200510', + `QUERY_DATE` date NOT NULL COMMENT '查询的日期:2020-05-10', + `WEEKDAY` int(11) DEFAULT NULL COMMENT '星期几的数字', + `BEGIN` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '节日或周末开始时间,如果是工作日,此字段为空串', + `END` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '节日或周末结束时间,如果是工作日,此字段为空串', + `HOLIDAY_REMARK` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '节日备注', + `TYPE` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '1为工作日,2为周末,3为节假日', + `TYPE_NAME` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '工作日,周末,节假日', + `HOLIDAY` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '节日名称,工作日时显示“无”,周末时显示“周末”,节日时显示节日名称', + `EN` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '星期几的英文名', + `CN` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '星期几的中文名', + `DEL_FLAG` tinyint(1) DEFAULT NULL COMMENT '是否删除,0:未删除,1:已删除', + `REVISION` int(10) DEFAULT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建者id', + `CREATED_TIME` datetime(0) DEFAULT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '更新者id', + `UPDATED_TIME` datetime(0) DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of calender +-- ---------------------------- +INSERT INTO `calender` VALUES ('00772611b7a8b243e7483ac969069ad7', 0, '20200127', '2020-01-27', 1, '20200124', '20200202', '1月24日至2月2日放假,共8天。1月19日(星期日)上班。', '3', '节假日', '春节', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:38'); +INSERT INTO `calender` VALUES ('015563ec89e212d364f68f4f3403c5d5', 0, '20200923', '2020-09-23', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:53'); +INSERT INTO `calender` VALUES ('01e663161394a1f140492a5f7d8b97eb', 0, '20201003', '2020-10-03', 6, '20201001', '20201008', '10月1日至8日放假调休,共8天。9月27日(星期日)、10月10日(星期六)上班。', '3', '节假日', '国庆节、中秋节', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:03'); +INSERT INTO `calender` VALUES ('04086dfd9da61e4458a707e3acd0332d', 0, '20201126', '2020-11-26', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:08:57'); +INSERT INTO `calender` VALUES ('043fbcccb3041e7bdb91f39ec1a034d0', 0, '20201218', '2020-12-18', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:19'); +INSERT INTO `calender` VALUES ('04c71d105ee141fdbdf861a3bd6909a8', 0, '20200920', '2020-09-20', 7, '20200919', '20200920', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:50'); +INSERT INTO `calender` VALUES ('0557c67c004e2fceb263710a83085b9c', 0, '20200530', '2020-05-30', 6, '20200530', '20200531', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:47'); +INSERT INTO `calender` VALUES ('05f13378cf30526a739ba4a106a1afdf', 0, '20200625', '2020-06-25', 4, '20200625', '20200627', '6月25日至27日放假调休,共3天。6月28日(星期日)上班。', '3', '节假日', '端午节', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:13'); +INSERT INTO `calender` VALUES ('0618e52ca29f63a1ea3abf379616212b', 0, '20200713', '2020-07-13', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:34'); +INSERT INTO `calender` VALUES ('07a46691ca6a6d7e3976066a4f7f34a5', 0, '20201204', '2020-12-04', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:05'); +INSERT INTO `calender` VALUES ('07a71b25734c80c43a45e950d3fa2e0c', 0, '20200622', '2020-06-22', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:10'); +INSERT INTO `calender` VALUES ('07e47b290d4406e5ebd3febe83c487b6', 0, '20200727', '2020-07-27', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:55'); +INSERT INTO `calender` VALUES ('083ecab55950baf3d88ae1f74cafc0ba', 0, '20201022', '2020-10-22', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:22'); +INSERT INTO `calender` VALUES ('08dbe97e3bc9093aa5c4ff86f1684bc0', 0, '20201012', '2020-10-12', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:12'); +INSERT INTO `calender` VALUES ('0a864c30779ddb5bc8a745a48c3bf3c9', 0, '20201010', '2020-10-10', 6, '', '', '调休', '1', '工作日', '无', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:10'); +INSERT INTO `calender` VALUES ('0b4aacfe39f3a811cfd155aa260cecee', 0, '20200324', '2020-03-24', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:35'); +INSERT INTO `calender` VALUES ('0b827ba3f7378db479ff1a7ab903e078', 0, '20200429', '2020-04-29', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:16'); +INSERT INTO `calender` VALUES ('0b8fb4322ecd09d860d86b2c58c43a39', 0, '20200115', '2020-01-15', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:26'); +INSERT INTO `calender` VALUES ('0c9f5fa23d92635f5ed11a7bf6cae56e', 0, '20200909', '2020-09-09', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:39'); +INSERT INTO `calender` VALUES ('0e63308f0414891105084a474d8c769e', 0, '20201127', '2020-11-27', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:08:58'); +INSERT INTO `calender` VALUES ('0f5c75c7e3e1e5ee5c2bd194c90c9871', 0, '20201211', '2020-12-11', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:12'); +INSERT INTO `calender` VALUES ('0fd9e1f8cb216b88c30e1a59ccbda280', 0, '20200219', '2020-02-19', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:01'); +INSERT INTO `calender` VALUES ('1101f3fced7c928de1084da60149ad6e', 0, '20200216', '2020-02-16', 7, '20200215', '20200216', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:58'); +INSERT INTO `calender` VALUES ('11287964df15adc3686181b09d73413c', 0, '20200415', '2020-04-15', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:02'); +INSERT INTO `calender` VALUES ('117d392a4b50198fcc04904783884258', 0, '20200627', '2020-06-27', 6, '20200625', '20200627', '6月25日至27日放假调休,共3天。6月28日(星期日)上班。', '3', '节假日', '端午节', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:15'); +INSERT INTO `calender` VALUES ('11b71e4b502cda8ac2ec1639b34ae7ba', 0, '20200210', '2020-02-10', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:52'); +INSERT INTO `calender` VALUES ('120c79f65227a5e4f6b1eb250ee582d4', 0, '20200402', '2020-04-02', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:44'); +INSERT INTO `calender` VALUES ('1315ab74554c2eada60f990648c727a2', 0, '20200520', '2020-05-20', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:37'); +INSERT INTO `calender` VALUES ('14c0af69f33054a1908b74dcd0014ccc', 0, '20200914', '2020-09-14', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:44'); +INSERT INTO `calender` VALUES ('15788edb4a2b74f6184d09b4bdedc744', 0, '20200618', '2020-06-18', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:06'); +INSERT INTO `calender` VALUES ('15eb046a77104526826011455885ed1e', 0, '20201030', '2020-10-30', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:30'); +INSERT INTO `calender` VALUES ('16ffbe75a5e481b8db707f27cf311938', 0, '20200621', '2020-06-21', 7, '20200620', '20200621', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:09'); +INSERT INTO `calender` VALUES ('177c471557a6f1b166aa0f95154cbdc4', 0, '20200608', '2020-06-08', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:56'); +INSERT INTO `calender` VALUES ('17abef8746f124276dbdfc030ff61242', 0, '20200218', '2020-02-18', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:00'); +INSERT INTO `calender` VALUES ('1beeb2e463a26e9ce9b646ec6f957d46', 0, '20200409', '2020-04-09', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:56'); +INSERT INTO `calender` VALUES ('1ddc589480effe59966c8921648e0b35', 0, '20200701', '2020-07-01', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:19'); +INSERT INTO `calender` VALUES ('1e61f63af7016b8be15d61d7e0234423', 0, '20200620', '2020-06-20', 6, '20200620', '20200621', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:08'); +INSERT INTO `calender` VALUES ('1e6cc5df300bb7b92d46195993f98b18', 0, '20201124', '2020-11-24', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:08:55'); +INSERT INTO `calender` VALUES ('1edc7bcaca576ad95b3a02ae86912fd4', 0, '20200313', '2020-03-13', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:24'); +INSERT INTO `calender` VALUES ('200d6379adf4ffbec93401c740402cb6', 0, '20201109', '2020-11-09', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:40'); +INSERT INTO `calender` VALUES ('2088057fcddf14eb8745f6256bc1dac7', 0, '20201203', '2020-12-03', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:04'); +INSERT INTO `calender` VALUES ('235023dcae390acc4e7321c4e181d704', 0, '20200525', '2020-05-25', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:42'); +INSERT INTO `calender` VALUES ('23e4ecb7cc8a14278a3b290df6d2a25f', 0, '20200616', '2020-06-16', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:04'); +INSERT INTO `calender` VALUES ('24316d9923eff4145bcec276e77c4799', 0, '20201002', '2020-10-02', 5, '20201001', '20201008', '10月1日至8日放假调休,共8天。9月27日(星期日)、10月10日(星期六)上班。', '3', '节假日', '国庆节、中秋节', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:02'); +INSERT INTO `calender` VALUES ('2435690c26aaf4501da48d1e4822621e', 0, '20200802', '2020-08-02', 7, '20200801', '20200802', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:01'); +INSERT INTO `calender` VALUES ('250a13d98c6505c40e4101b75bdf18bc', 0, '20200112', '2020-01-12', 7, '20200111', '20200112', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:23'); +INSERT INTO `calender` VALUES ('25186aec5e48d8271439015d36851953', 0, '20200528', '2020-05-28', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:45'); +INSERT INTO `calender` VALUES ('253d7cbe2043adb6f991764f63b4e40d', 0, '20200812', '2020-08-12', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:11'); +INSERT INTO `calender` VALUES ('260ba059b8beb21bd859e33b709e761f', 0, '20200821', '2020-08-21', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:20'); +INSERT INTO `calender` VALUES ('2639911071b61a79495a9d2b6407dff6', 0, '20200617', '2020-06-17', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:05'); +INSERT INTO `calender` VALUES ('26576a2b746a8ec8d143728d4221aa9e', 0, '20201217', '2020-12-17', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:18'); +INSERT INTO `calender` VALUES ('26d7b7234c6fb53bb18e4177410bd3d9', 0, '20201004', '2020-10-04', 7, '20201001', '20201008', '10月1日至8日放假调休,共8天。9月27日(星期日)、10月10日(星期六)上班。', '3', '节假日', '国庆节、中秋节', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:04'); +INSERT INTO `calender` VALUES ('280714eb7ffab1a0acbe41209cd7dc01', 0, '20200507', '2020-05-07', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:24'); +INSERT INTO `calender` VALUES ('284c8b466b6ac1fd4d362b0ae05e9e2a', 0, '20201206', '2020-12-06', 7, '20201205', '20201206', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:07'); +INSERT INTO `calender` VALUES ('287b7c1aa0790162598f10dbc8346e1c', 0, '20200908', '2020-09-08', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:38'); +INSERT INTO `calender` VALUES ('289838dfb96ddf77a6cfc879474ca8ab', 0, '20201108', '2020-11-08', 7, '20201107', '20201108', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:39'); +INSERT INTO `calender` VALUES ('28bd0ae01f313542f4e46bdbe5aa9409', 0, '20200714', '2020-07-14', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:35'); +INSERT INTO `calender` VALUES ('28ea70a7fef8c4eb9f17b28e29bc817c', 0, '20200205', '2020-02-05', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:47'); +INSERT INTO `calender` VALUES ('2935651d95ad7e4deeda0d382648c25e', 0, '20200910', '2020-09-10', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:40'); +INSERT INTO `calender` VALUES ('295271c37d6000964c0001d131862c1d', 0, '20200420', '2020-04-20', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:07'); +INSERT INTO `calender` VALUES ('2a5c2946835dcf2ee1defe93c3c78a7b', 0, '20200404', '2020-04-04', 6, '20200404', '20200406', '4月4日至6日放假调休,共3天。', '3', '节假日', '清明节', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:46'); +INSERT INTO `calender` VALUES ('2a866f98885a810387e6c3ee61a8741f', 0, '20200213', '2020-02-13', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:55'); +INSERT INTO `calender` VALUES ('2acfc102d2d9d75938ac5df07e106acd', 0, '20201111', '2020-11-11', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:42'); +INSERT INTO `calender` VALUES ('2aea7d3e6fbcc129b62dba7de380ed51', 0, '20200206', '2020-02-06', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:48'); +INSERT INTO `calender` VALUES ('2b0192a253a17e826bbd1d4b03ffe193', 0, '20200221', '2020-02-21', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:03'); +INSERT INTO `calender` VALUES ('2b1b42fa7780f15dc37674f209a029c7', 0, '20200628', '2020-06-28', 7, '', '', '调休', '1', '工作日', '无', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:16'); +INSERT INTO `calender` VALUES ('2b41b96f3a0ab22d51ae44fecf3bcd96', 0, '20201222', '2020-12-22', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:23'); +INSERT INTO `calender` VALUES ('2baba2f670b4c163c5caf4265d57abb3', 0, '20201031', '2020-10-31', 6, '20201031', '20201101', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:31'); +INSERT INTO `calender` VALUES ('2c379162cb1722267b3e476fddeb6635', 0, '20200105', '2020-01-05', 7, '20200104', '20200105', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:16'); +INSERT INTO `calender` VALUES ('2cdabfe51f604876a593080fd774f00b', 0, '20200508', '2020-05-08', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:25'); +INSERT INTO `calender` VALUES ('2da80e1e1b742bff640dbd6ddc34dd0f', 0, '20200422', '2020-04-22', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:09'); +INSERT INTO `calender` VALUES ('2e2391d3a4e48028d544e59df58b957f', 0, '20200117', '2020-01-17', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:28'); +INSERT INTO `calender` VALUES ('31e9754502ee9536d4f7a538db562441', 0, '20200817', '2020-08-17', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:16'); +INSERT INTO `calender` VALUES ('32333db31fe5f85734cccf6de4de3306', 0, '20200629', '2020-06-29', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:17'); +INSERT INTO `calender` VALUES ('325ff6deeab73321c6414bab9d0f92c8', 0, '20201123', '2020-11-23', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:08:54'); +INSERT INTO `calender` VALUES ('32c29f3f2a7357ef1fda873463ce2d51', 0, '20200524', '2020-05-24', 7, '20200523', '20200524', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:41'); +INSERT INTO `calender` VALUES ('3338470760bd4a130d4ca00b48f1a307', 0, '20200228', '2020-02-28', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:10'); +INSERT INTO `calender` VALUES ('3400841da13e6120a07d38e85f69b09a', 0, '20201013', '2020-10-13', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:13'); +INSERT INTO `calender` VALUES ('373ea083f70ec4983b59b444ea89b5d6', 0, '20200114', '2020-01-14', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:25'); +INSERT INTO `calender` VALUES ('37bb0ba68b6c078976749b0e6c864fac', 0, '20201212', '2020-12-12', 6, '20201212', '20201213', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:13'); +INSERT INTO `calender` VALUES ('37d2de5e0bbfebc54132b6cc9717ba19', 0, '20200109', '2020-01-09', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:20'); +INSERT INTO `calender` VALUES ('37f2113f4305b0507400b745e94b2e25', 0, '20200720', '2020-07-20', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:48'); +INSERT INTO `calender` VALUES ('381483f9bb8f6bd2f0f74b8626e151ca', 0, '20200131', '2020-01-31', 5, '20200124', '20200202', '1月24日至2月2日放假,共8天。1月19日(星期日)上班。', '3', '节假日', '春节', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:42'); +INSERT INTO `calender` VALUES ('388c1e01adf0e544056f99d2aa14554b', 0, '20200911', '2020-09-11', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:41'); +INSERT INTO `calender` VALUES ('399c52c96937cfb5b8e33806c81bf7df', 0, '20201006', '2020-10-06', 2, '20201001', '20201008', '10月1日至8日放假调休,共8天。9月27日(星期日)、10月10日(星期六)上班。', '3', '节假日', '国庆节、中秋节', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:06'); +INSERT INTO `calender` VALUES ('3a79f5f0d110f04ffd2cf63074722cf8', 0, '20201209', '2020-12-09', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:10'); +INSERT INTO `calender` VALUES ('3b15fed402667e5d6c9e36dfee52402e', 0, '20201130', '2020-11-30', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:01'); +INSERT INTO `calender` VALUES ('3c2540b55ef42725a194204c9fe00ed7', 0, '20200927', '2020-09-27', 7, '', '', '调休', '1', '工作日', '无', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:57'); +INSERT INTO `calender` VALUES ('3e5edafa4fdeecea63a8b3c816a9c5da', 0, '20200411', '2020-04-11', 6, '20200411', '20200412', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:58'); +INSERT INTO `calender` VALUES ('3e942bd8b06010b4d4d93d0ab4f2359b', 0, '20200417', '2020-04-17', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:04'); +INSERT INTO `calender` VALUES ('3ef43497b5de651f4e68571a2025f84d', 0, '20200425', '2020-04-25', 6, '20200425', '20200426', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:12'); +INSERT INTO `calender` VALUES ('405c8b61fff45de8c43e4ad159e0bcf9', 0, '20200406', '2020-04-06', 1, '20200404', '20200406', '4月4日至6日放假调休,共3天。', '3', '节假日', '清明节', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:54'); +INSERT INTO `calender` VALUES ('41ac7c37cd7c785cbd367efaf7c0a8d9', 0, '20200905', '2020-09-05', 6, '20200905', '20200906', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:35'); +INSERT INTO `calender` VALUES ('41b172f48b8f899f3079c53740d91959', 0, '20200410', '2020-04-10', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:57'); +INSERT INTO `calender` VALUES ('425504d92c453c4816de11faaaf46fa8', 0, '20201121', '2020-11-21', 6, '20201121', '20201122', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:52'); +INSERT INTO `calender` VALUES ('4333496d67495985712be0e415b540bf', 0, '20200825', '2020-08-25', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:24'); +INSERT INTO `calender` VALUES ('43a4c8acfce501e1bb93fe94470b4365', 0, '20200102', '2020-01-02', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:13'); +INSERT INTO `calender` VALUES ('43b90b7dfecb085965e93e5f266c0080', 0, '20200119', '2020-01-19', 7, '', '', '调休', '1', '工作日', '无', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:30'); +INSERT INTO `calender` VALUES ('45ab33adabf4c310cb87aa9263f9984f', 0, '20200930', '2020-09-30', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:00'); +INSERT INTO `calender` VALUES ('466174553709b06c8f5d3cc423c706d6', 0, '20200501', '2020-05-01', 5, '20200501', '20200505', '5月1日至5日放假调休,共5天。4月26日(星期日)、5月9日(星期六)上班。', '3', '节假日', '劳动节', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:00', 'fa5e50ca724911eab9c900163e08c0f9', '2020-05-12 13:25:40'); +INSERT INTO `calender` VALUES ('497a55e25d4873f5834277675f455949', 0, '20200814', '2020-08-14', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:13'); +INSERT INTO `calender` VALUES ('49b966643f4e462dabf84f0794252dfb', 0, '20200421', '2020-04-21', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:08'); +INSERT INTO `calender` VALUES ('4abe3faa45c1f2f742f74685fcef3396', 0, '20201014', '2020-10-14', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:14'); +INSERT INTO `calender` VALUES ('4bedb3e95445daeee80e81465404e1a1', 0, '20200222', '2020-02-22', 6, '20200222', '20200223', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:04'); +INSERT INTO `calender` VALUES ('4c07241907b8191fd072d119c0de1499', 0, '20200726', '2020-07-26', 7, '20200725', '20200726', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:54'); +INSERT INTO `calender` VALUES ('4d5ffbc450704e0c34c2937e232327e8', 0, '20200209', '2020-02-09', 7, '20200208', '20200209', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:51'); +INSERT INTO `calender` VALUES ('4d96c864299c75af30bf1ef8abda79c0', 0, '20200907', '2020-09-07', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:37'); +INSERT INTO `calender` VALUES ('4e9708999d7f1c44474a9566f6ef87a3', 0, '20201007', '2020-10-07', 3, '20201001', '20201008', '10月1日至8日放假调休,共8天。9月27日(星期日)、10月10日(星期六)上班。', '3', '节假日', '国庆节、中秋节', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:07'); +INSERT INTO `calender` VALUES ('4ea0549e3df1f00a01d4ed47b6505806', 0, '20201216', '2020-12-16', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:17'); +INSERT INTO `calender` VALUES ('4eaabd3b9a2d7d41bad412f799287a8b', 0, '20200917', '2020-09-17', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:47'); +INSERT INTO `calender` VALUES ('4f44c462d822633211a01f2414dff6b2', 0, '20200719', '2020-07-19', 7, '20200718', '20200719', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:47'); +INSERT INTO `calender` VALUES ('4f771427c832f53dca43d8e12ba5d9f3', 0, '20200706', '2020-07-06', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:24'); +INSERT INTO `calender` VALUES ('4f8e34a9114a839f138cabb7608cd1f9', 0, '20200427', '2020-04-27', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:14'); +INSERT INTO `calender` VALUES ('503739a1645e5c3abd3fc11f32d1f5bc', 0, '20201228', '2020-12-28', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:29'); +INSERT INTO `calender` VALUES ('528b4f7a35799bba7ebcece0c467f5c7', 0, '20201225', '2020-12-25', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:26'); +INSERT INTO `calender` VALUES ('5456c30f69404e853f359afaa2125aed', 0, '20200816', '2020-08-16', 7, '20200815', '20200816', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:15'); +INSERT INTO `calender` VALUES ('55e3cd4240f91ec5ba48f3c4eaa6109a', 0, '20200510', '2020-05-10', 7, '20200509', '20200510', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:27'); +INSERT INTO `calender` VALUES ('5695115b49fad95392b89f921836d50f', 0, '20200808', '2020-08-08', 6, '20200808', '20200809', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:07'); +INSERT INTO `calender` VALUES ('56bccf7bc2544f4af86ac20aa8fa19a3', 0, '20200724', '2020-07-24', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:52'); +INSERT INTO `calender` VALUES ('572647c501e6d4b1872f16e962f33396', 0, '20201229', '2020-12-29', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:30'); +INSERT INTO `calender` VALUES ('574df73fc7f7f71cbd0c99756e611fe3', 0, '20200413', '2020-04-13', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:00'); +INSERT INTO `calender` VALUES ('578a1bfdf1157fdf6e25ea055d0d2fc0', 0, '20201027', '2020-10-27', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:27'); +INSERT INTO `calender` VALUES ('5799f19de34ce3cc709572a3e95637c8', 0, '20200929', '2020-09-29', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:59'); +INSERT INTO `calender` VALUES ('579a9b8b394683fb859d0d678a0a911f', 0, '20200122', '2020-01-22', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:33'); +INSERT INTO `calender` VALUES ('57c0d73f761c533561d7a02e06b7334a', 0, '20201113', '2020-11-13', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:44'); +INSERT INTO `calender` VALUES ('5829c9a0cf12a74c18f88dd365aceb0a', 0, '20201129', '2020-11-29', 7, '20201128', '20201129', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:00'); +INSERT INTO `calender` VALUES ('5a9addfc372e1b260d1469e441941e1e', 0, '20201028', '2020-10-28', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:28'); +INSERT INTO `calender` VALUES ('5c2ea6d391dea3fc37204df982cc0085', 0, '20200830', '2020-08-30', 7, '20200829', '20200830', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:29'); +INSERT INTO `calender` VALUES ('5c6a4083b28afe7bcb5d7c77af36f7db', 0, '20200601', '2020-06-01', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:49'); +INSERT INTO `calender` VALUES ('5e2c90dd98b0e1c5da3834fdcf06041b', 0, '20200613', '2020-06-13', 6, '20200613', '20200614', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:01'); +INSERT INTO `calender` VALUES ('5e3577c73f5222322473a422467720a3', 0, '20200702', '2020-07-02', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:20'); +INSERT INTO `calender` VALUES ('5ee07ad9dd5cc393059670189656fb56', 0, '20200405', '2020-04-05', 7, '20200404', '20200406', '4月4日至6日放假调休,共3天。', '3', '节假日', '清明节', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:47'); +INSERT INTO `calender` VALUES ('5f36c0eb792ba6df86fbf1904757723b', 0, '20200604', '2020-06-04', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:52'); +INSERT INTO `calender` VALUES ('5fe174bb9d525769c189d4533eba68ae', 0, '20200813', '2020-08-13', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:12'); +INSERT INTO `calender` VALUES ('5fe27a25bcb9b7700c2abb1457125a96', 0, '20200315', '2020-03-15', 7, '20200314', '20200315', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:26'); +INSERT INTO `calender` VALUES ('602b1df285eb9ed688fa72bd550c080e', 0, '20200818', '2020-08-18', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:17'); +INSERT INTO `calender` VALUES ('60b4e174c6678fd476f0c7216f33c737', 0, '20200605', '2020-06-05', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:53'); +INSERT INTO `calender` VALUES ('6183f599f32bba424f0ad2412c6de8fa', 0, '20200217', '2020-02-17', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:59'); +INSERT INTO `calender` VALUES ('61b69da6b60c57ad9b04e60548f94738', 0, '20200309', '2020-03-09', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:20'); +INSERT INTO `calender` VALUES ('62286591902fe09200caaf0c96fd3c32', 0, '20200722', '2020-07-22', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:50'); +INSERT INTO `calender` VALUES ('627101bb1e345917fa876bf0b3059ca2', 0, '20200311', '2020-03-11', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:22'); +INSERT INTO `calender` VALUES ('638699eec96c32ca687ec14ed69bd9b5', 0, '20200314', '2020-03-14', 6, '20200314', '20200315', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:25'); +INSERT INTO `calender` VALUES ('639ad0b81360034a767bcc6f1fc2da8d', 0, '20200301', '2020-03-01', 7, '20200229', '20200301', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:12'); +INSERT INTO `calender` VALUES ('63d607d61d097a75ce89070129996c52', 0, '20200823', '2020-08-23', 7, '20200822', '20200823', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:22'); +INSERT INTO `calender` VALUES ('63f0c4adefad4300739b0154f97d5fb0', 0, '20200906', '2020-09-06', 7, '20200905', '20200906', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:36'); +INSERT INTO `calender` VALUES ('63fecd4c197a5df375c5e1a19d792bf9', 0, '20200805', '2020-08-05', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:04'); +INSERT INTO `calender` VALUES ('6423caaf3807ff6ac86ab8f6d118cc56', 0, '20200822', '2020-08-22', 6, '20200822', '20200823', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:21'); +INSERT INTO `calender` VALUES ('643d46399faa6923f376464ff9476e8e', 0, '20200318', '2020-03-18', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:29'); +INSERT INTO `calender` VALUES ('650d6c705a0bdec2f1e41500834bdd3d', 0, '20200916', '2020-09-16', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:46'); +INSERT INTO `calender` VALUES ('65afbf89b4a18c263fbc82748782dad1', 0, '20201021', '2020-10-21', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:21'); +INSERT INTO `calender` VALUES ('65ecd41d0d8fc4481cf453195f69602c', 0, '20200928', '2020-09-28', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:58'); +INSERT INTO `calender` VALUES ('66d928d9ab3a6308827572f696173aa7', 0, '20201208', '2020-12-08', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:09'); +INSERT INTO `calender` VALUES ('677c9a5f08ef2e4cead832fb34a50507', 0, '20200913', '2020-09-13', 7, '20200912', '20200913', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:43'); +INSERT INTO `calender` VALUES ('67eb65a1f399bf18efa389761841b8e3', 0, '20200926', '2020-09-26', 6, '20200926', '20200927', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:56'); +INSERT INTO `calender` VALUES ('69a42744623b380b6f93f0a4ee25a012', 0, '20200407', '2020-04-07', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:54'); +INSERT INTO `calender` VALUES ('6acb73aa51e2e6a4c2c7542b2d6da65c', 0, '20200214', '2020-02-14', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:56'); +INSERT INTO `calender` VALUES ('6aec4a9d14bb264f360e0d5404cce0e4', 0, '20200513', '2020-05-13', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:30'); +INSERT INTO `calender` VALUES ('6b782599cb98a39c885e9bc981b8cb8d', 0, '20201024', '2020-10-24', 6, '20201024', '20201025', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:24'); +INSERT INTO `calender` VALUES ('6ca72d609d74eaada1a1f78c58b6bf8a', 0, '20200207', '2020-02-07', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:49'); +INSERT INTO `calender` VALUES ('6d435cb2af1d32985d9cb4648356bc3a', 0, '20200116', '2020-01-16', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:27'); +INSERT INTO `calender` VALUES ('6e9d5b2323b457108b17268a2aa15727', 0, '20201213', '2020-12-13', 7, '20201212', '20201213', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:14'); +INSERT INTO `calender` VALUES ('6ff46ba71c64fb5ab07fb3170966e807', 0, '20200527', '2020-05-27', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:44'); +INSERT INTO `calender` VALUES ('70936a4d29c398e5056aeae3ad3f7bee', 0, '20201017', '2020-10-17', 6, '20201017', '20201018', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:17'); +INSERT INTO `calender` VALUES ('711f8295c0c724983542b49232f32f1b', 0, '20201112', '2020-11-12', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:43'); +INSERT INTO `calender` VALUES ('713cef5cea8098aa265216a067413df1', 0, '20200211', '2020-02-11', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:53'); +INSERT INTO `calender` VALUES ('7167b3c5a72fc825c45ff0c40b005ff2', 0, '20200304', '2020-03-04', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:15'); +INSERT INTO `calender` VALUES ('722ce498729fbaf200815e69ce40fb8e', 0, '20200506', '2020-05-06', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:23'); +INSERT INTO `calender` VALUES ('727131cfdbed81741c64ec6c37dfe0ab', 0, '20201226', '2020-12-26', 6, '20201226', '20201227', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:27'); +INSERT INTO `calender` VALUES ('72b063e24e0a248571062abf7b54a008', 0, '20200709', '2020-07-09', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:30'); +INSERT INTO `calender` VALUES ('74477c2f229cc5b97186858a93e94ca7', 0, '20200828', '2020-08-28', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:27'); +INSERT INTO `calender` VALUES ('74a40753287c8dbbcd336b337642bec1', 0, '20200118', '2020-01-18', 6, '20200118', '20200119', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:29'); +INSERT INTO `calender` VALUES ('7541358d6048f240b9dc7e736240d214', 0, '20200416', '2020-04-16', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:03'); +INSERT INTO `calender` VALUES ('75e091dccff0d94d6cce9baeb3a4fd88', 0, '20201223', '2020-12-23', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:24'); +INSERT INTO `calender` VALUES ('77fb505be58a4faa56005e9745d2ffbf', 0, '20201016', '2020-10-16', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:16'); +INSERT INTO `calender` VALUES ('77fe0cbba30685282bd732b45e0c478d', 0, '20201119', '2020-11-19', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:50'); +INSERT INTO `calender` VALUES ('7834e6a35a8de08c7091f39d5960368f', 0, '20200321', '2020-03-21', 6, '20200321', '20200322', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:32'); +INSERT INTO `calender` VALUES ('7af0abffbcf9a9cbd2c19bf84208dd0c', 0, '20201202', '2020-12-02', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:03'); +INSERT INTO `calender` VALUES ('7bfbdb63ef08e278de7d27b5df3320bf', 0, '20200225', '2020-02-25', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:07'); +INSERT INTO `calender` VALUES ('7d73458d55241b8d463626189344dc0f', 0, '20200731', '2020-07-31', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:59'); +INSERT INTO `calender` VALUES ('7e93d473eb0660db990425f1f66d0d89', 0, '20201221', '2020-12-21', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:22'); +INSERT INTO `calender` VALUES ('7ec9ba846980898696189790f44b12f9', 0, '20200522', '2020-05-22', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:39'); +INSERT INTO `calender` VALUES ('7f994602a59a4eae7319a7bfe1b0842b', 0, '20201009', '2020-10-09', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:09'); +INSERT INTO `calender` VALUES ('8160bc4a4ddb02dd1ed50d4810b1afd0', 0, '20201214', '2020-12-14', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:15'); +INSERT INTO `calender` VALUES ('82615c65b4719ba5ddb3ff50e51cbbab', 0, '20200801', '2020-08-01', 6, '20200801', '20200802', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:00'); +INSERT INTO `calender` VALUES ('84cb6529a88b9042aaf2d6ff24f24242', 0, '20201120', '2020-11-20', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:51'); +INSERT INTO `calender` VALUES ('8525e5587c3b0e993f9cb7318fbe9069', 0, '20200414', '2020-04-14', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:01'); +INSERT INTO `calender` VALUES ('894e892afc0fa37ef2d04b97f59197e3', 0, '20200223', '2020-02-23', 7, '20200222', '20200223', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:05'); +INSERT INTO `calender` VALUES ('89a5585272d7f73536e7f94f8d466b60', 0, '20200208', '2020-02-08', 6, '20200208', '20200209', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:50'); +INSERT INTO `calender` VALUES ('8a345d642de6a7599b7793912e7d0dc6', 0, '20201104', '2020-11-04', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:35'); +INSERT INTO `calender` VALUES ('8a9375f65b259543b92262ef09cef9a6', 0, '20200922', '2020-09-22', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:52'); +INSERT INTO `calender` VALUES ('8fd168963beed42c166e89068b2356aa', 0, '20200302', '2020-03-02', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:13'); +INSERT INTO `calender` VALUES ('9003359311238972047df6792ae036b1', 0, '20200918', '2020-09-18', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:48'); +INSERT INTO `calender` VALUES ('9018aed1fb8bab39ef8b0d890cb917c3', 0, '20201107', '2020-11-07', 6, '20201107', '20201108', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:38'); +INSERT INTO `calender` VALUES ('905c4a507f375f4982d1899e7af08d92', 0, '20200526', '2020-05-26', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:43'); +INSERT INTO `calender` VALUES ('911212b3d29c571198b06485e4e22abb', 0, '20200227', '2020-02-27', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:09'); +INSERT INTO `calender` VALUES ('9291313a667d094d501c47dee9bf4a1a', 0, '20200915', '2020-09-15', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:45'); +INSERT INTO `calender` VALUES ('93e4caa95884e65d47d49074cad1fa07', 0, '20200815', '2020-08-15', 6, '20200815', '20200816', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:14'); +INSERT INTO `calender` VALUES ('957a5fd2df242bc4e8e7b6eb4d155894', 0, '20200305', '2020-03-05', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:16'); +INSERT INTO `calender` VALUES ('957c9224115ba031b9bc5ef8263378e2', 0, '20201103', '2020-11-03', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:34'); +INSERT INTO `calender` VALUES ('962ea61a07c55ab064f3cea26a5f04e3', 0, '20201224', '2020-12-24', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:25'); +INSERT INTO `calender` VALUES ('965b2c9ea31049e79f8083af4b158b1f', 0, '20200104', '2020-01-04', 6, '20200104', '20200105', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:15'); +INSERT INTO `calender` VALUES ('96b159463a35806414a361e65d18d75f', 0, '20201011', '2020-10-11', 7, '20201010', '20201011', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:11'); +INSERT INTO `calender` VALUES ('972dce32107b1d4544d1cbcbe080fdda', 0, '20201125', '2020-11-25', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:08:56'); +INSERT INTO `calender` VALUES ('9747a58c8b33a35fc5b17cafe0007089', 0, '20200419', '2020-04-19', 7, '20200418', '20200419', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:06'); +INSERT INTO `calender` VALUES ('97a6ae19ff9ff2080e3466fe2f64d0d6', 0, '20200229', '2020-02-29', 6, '20200229', '20200301', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:11'); +INSERT INTO `calender` VALUES ('98cb573a23f892db776cb051edf770a8', 0, '20200312', '2020-03-12', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:23'); +INSERT INTO `calender` VALUES ('9944c3a188f8a511c556da17e90c99e6', 0, '20201220', '2020-12-20', 7, '20201219', '20201220', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:21'); +INSERT INTO `calender` VALUES ('996d36d081ba61239fd8c972016a30bf', 0, '20200723', '2020-07-23', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:51'); +INSERT INTO `calender` VALUES ('99a15f8af7817ccaa311d20c5114d5b3', 0, '20200716', '2020-07-16', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:44'); +INSERT INTO `calender` VALUES ('9a2ec07e2e3a9a4a6a5368073bd3b85e', 0, '20201101', '2020-11-01', 7, '20201031', '20201101', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:32'); +INSERT INTO `calender` VALUES ('9ad9626d555a3a8140ef0e1d5d02ce76', 0, '20201015', '2020-10-15', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:15'); +INSERT INTO `calender` VALUES ('9c2542eb5ef7c08d3f82cce32e7e0c18', 0, '20200107', '2020-01-07', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:18'); +INSERT INTO `calender` VALUES ('9c4b4bc32bb61d9da24c9a90fa524d77', 0, '20200602', '2020-06-02', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:50'); +INSERT INTO `calender` VALUES ('9c9ac3c629ae1b5b370e0963a8449f54', 0, '20200226', '2020-02-26', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:08'); +INSERT INTO `calender` VALUES ('9d0f767f9d0393389a7c077737d07784', 0, '20200804', '2020-08-04', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:03'); +INSERT INTO `calender` VALUES ('9de2dfaf07e74819a60e1d52e0de8155', 0, '20200121', '2020-01-21', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:32'); +INSERT INTO `calender` VALUES ('9f61e0b49c7d46bb5fe926b9fd09d049', 0, '20200824', '2020-08-24', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:23'); +INSERT INTO `calender` VALUES ('a1f25a7e1f9c72e1e041ea0b0f4baabb', 0, '20200531', '2020-05-31', 7, '20200530', '20200531', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:48'); +INSERT INTO `calender` VALUES ('a220f73c1e4c1a8949c3e0b3f6588113', 0, '20201117', '2020-11-17', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:48'); +INSERT INTO `calender` VALUES ('a26694dba8bc36ac7d2f005976c66682', 0, '20200715', '2020-07-15', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:44'); +INSERT INTO `calender` VALUES ('a2f3859d691ba6e2e20eeaf50a2ac2e8', 0, '20201116', '2020-11-16', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:47'); +INSERT INTO `calender` VALUES ('a38af258bd29555cf080683ae15afa25', 0, '20200212', '2020-02-12', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:54'); +INSERT INTO `calender` VALUES ('a39fb936fcb1c921185b9576fe6deec3', 0, '20200712', '2020-07-12', 7, '20200711', '20200712', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:33'); +INSERT INTO `calender` VALUES ('a3c483ade5847a2fc1134fa7623d8299', 0, '20201001', '2020-10-01', 4, '20201001', '20201008', '10月1日至8日放假调休,共8天。9月27日(星期日)、10月10日(星期六)上班。', '3', '节假日', '国庆节、中秋节', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:01'); +INSERT INTO `calender` VALUES ('a4422d3af0500379a2e50de1e17ed777', 0, '20200113', '2020-01-13', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:24'); +INSERT INTO `calender` VALUES ('a6e84df4f6ba1e4226a26a6ec866dd0c', 0, '20200707', '2020-07-07', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:25'); +INSERT INTO `calender` VALUES ('a6e890984e034c980287720f9d0fcaf3', 0, '20200329', '2020-03-29', 7, '20200328', '20200329', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:40'); +INSERT INTO `calender` VALUES ('a7192be90a5771777b4b45ae8ce3f81a', 0, '20200106', '2020-01-06', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:17'); +INSERT INTO `calender` VALUES ('a74e5bd1c6c789686444f821ca41ecfd', 0, '20200327', '2020-03-27', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:38'); +INSERT INTO `calender` VALUES ('a8a42e37b75deb49a8e9ec5d5e447420', 0, '20200220', '2020-02-20', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:02'); +INSERT INTO `calender` VALUES ('a8e78ba44f004579851bef77937169ff', 0, '20200919', '2020-09-19', 6, '20200919', '20200920', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:49'); +INSERT INTO `calender` VALUES ('a988f55221d30358ebd514800f18a729', 0, '20200704', '2020-07-04', 6, '20200704', '20200705', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:22'); +INSERT INTO `calender` VALUES ('a9a8f9d624a7c4fd69edf3d74147694b', 0, '20200623', '2020-06-23', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:11'); +INSERT INTO `calender` VALUES ('ab979f394ce5d92518f3bc19d7717533', 0, '20200128', '2020-01-28', 2, '20200124', '20200202', '1月24日至2月2日放假,共8天。1月19日(星期日)上班。', '3', '节假日', '春节', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:39'); +INSERT INTO `calender` VALUES ('abd19dddb8395cb60a6a86101bfe1e37', 0, '20200514', '2020-05-14', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:31'); +INSERT INTO `calender` VALUES ('acaca3af51abaf9e27809f496c5526d8', 0, '20201020', '2020-10-20', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:20'); +INSERT INTO `calender` VALUES ('ad20289feb817e89c88eefd2e32eb8e7', 0, '20200512', '2020-05-12', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 15:13:00', 'APP_USER', '2020-05-12 15:20:16'); +INSERT INTO `calender` VALUES ('ad43595b890c2506f0395701872dbd28', 0, '20201025', '2020-10-25', 7, '20201024', '20201025', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:25'); +INSERT INTO `calender` VALUES ('ad4cef1494372f2916e615e33a9786b2', 0, '20200319', '2020-03-19', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:30'); +INSERT INTO `calender` VALUES ('ae219cfaf884e87bcfe43169351c376e', 0, '20201227', '2020-12-27', 7, '20201226', '20201227', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:28'); +INSERT INTO `calender` VALUES ('ae7abb91187d64643028e15d565a8af5', 0, '20200322', '2020-03-22', 7, '20200321', '20200322', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:33'); +INSERT INTO `calender` VALUES ('aefdc740c53135b161bb1cf856182c82', 0, '20200323', '2020-03-23', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:34'); +INSERT INTO `calender` VALUES ('af558b6871e0bbc9f7849d753834d743', 0, '20200310', '2020-03-10', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:21'); +INSERT INTO `calender` VALUES ('af5c4970e8c2ebc91b3dc3e8c86a6685', 0, '20201128', '2020-11-28', 6, '20201128', '20201129', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:08:59'); +INSERT INTO `calender` VALUES ('af92d34b56bd10bb4053d748c7369afe', 0, '20200607', '2020-06-07', 7, '20200606', '20200607', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:55'); +INSERT INTO `calender` VALUES ('b001a9d059daf65591410098e01ab9fc', 0, '20200624', '2020-06-24', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:12'); +INSERT INTO `calender` VALUES ('b1cdcd8ae1a8d664bef145d22748ca12', 0, '20201207', '2020-12-07', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:08'); +INSERT INTO `calender` VALUES ('b3a48d7a40374388c3fbe8ce334fff79', 0, '20200108', '2020-01-08', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:19'); +INSERT INTO `calender` VALUES ('b50e17770f2d938b07592556975c6fae', 0, '20200921', '2020-09-21', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:51'); +INSERT INTO `calender` VALUES ('b5626f521fd021963129722902b8eed5', 0, '20200320', '2020-03-20', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:31'); +INSERT INTO `calender` VALUES ('b569b83a1ac18c0946cb497af732462e', 0, '20200328', '2020-03-28', 6, '20200328', '20200329', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:39'); +INSERT INTO `calender` VALUES ('b6002c882de5667ad1cfd209a3f6470e', 0, '20201205', '2020-12-05', 6, '20201205', '20201206', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:06'); +INSERT INTO `calender` VALUES ('b72f5e80d3af1c0b304c852677911f9a', 0, '20201102', '2020-11-02', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:33'); +INSERT INTO `calender` VALUES ('b7e0b1301db848599b7f795f5df43bc8', 0, '20200201', '2020-02-01', 6, '20200124', '20200202', '1月24日至2月2日放假,共8天。1月19日(星期日)上班。', '3', '节假日', '春节', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:43'); +INSERT INTO `calender` VALUES ('b7eaea10818d42112597e33f9a4eda43', 0, '20200827', '2020-08-27', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:26'); +INSERT INTO `calender` VALUES ('b802c436d0a48141936a24cada58790d', 0, '20200326', '2020-03-26', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:37'); +INSERT INTO `calender` VALUES ('b80adb6cbd61dae541d1f1ca44e610ea', 0, '20200519', '2020-05-19', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:36'); +INSERT INTO `calender` VALUES ('ba39168e4dbd363f0f7d37dd5a5d0559', 0, '20200703', '2020-07-03', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:21'); +INSERT INTO `calender` VALUES ('bbd1953264041dcd491e3b87b533b985', 0, '20200202', '2020-02-02', 7, '20200124', '20200202', '1月24日至2月2日放假,共8天。1月19日(星期日)上班。', '3', '节假日', '春节', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:44'); +INSERT INTO `calender` VALUES ('bca5f780c44b64cf9fd6a78017fc9c76', 0, '20200502', '2020-05-02', 6, '20200501', '20200505', '5月1日至5日放假调休,共5天。4月26日(星期日)、5月9日(星期六)上班。', '3', '节假日', '劳动节', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:19'); +INSERT INTO `calender` VALUES ('bd4bf9f82d91d2196757ebba7bc5e15c', 0, '20200826', '2020-08-26', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:25'); +INSERT INTO `calender` VALUES ('bdb5fcb7b59f12d0f7099568ec5c110b', 0, '20201110', '2020-11-10', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:41'); +INSERT INTO `calender` VALUES ('bec5e8e884c96ecb38338cc525dd2596', 0, '20201019', '2020-10-19', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:19'); +INSERT INTO `calender` VALUES ('bf4111aa99a4f7fa514df2b017c16751', 0, '20200403', '2020-04-03', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:45'); +INSERT INTO `calender` VALUES ('c12e129828fccc5b04ccce4c0e018fbf', 0, '20200401', '2020-04-01', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:43'); +INSERT INTO `calender` VALUES ('c17f20250a118441752664a8f067a6cf', 0, '20200708', '2020-07-08', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:29'); +INSERT INTO `calender` VALUES ('c1e31cdac72e2e9e029540cca8bdfdba', 0, '20200717', '2020-07-17', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:45'); +INSERT INTO `calender` VALUES ('c29792f840935b31d96a009fcdb727c0', 0, '20201018', '2020-10-18', 7, '20201017', '20201018', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:18'); +INSERT INTO `calender` VALUES ('c37e020ddc1b41bba979403c99d4a30e', 0, '20201231', '2020-12-31', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:32'); +INSERT INTO `calender` VALUES ('c49971e3825c6dcac005512de1ee9fb3', 0, '20200619', '2020-06-19', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:07'); +INSERT INTO `calender` VALUES ('c4c446b4eebe9601abcf49ea38fda2af', 0, '20200204', '2020-02-04', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:46'); +INSERT INTO `calender` VALUES ('c539bdbfa0890f009f4621cdb163eb84', 0, '20200718', '2020-07-18', 6, '20200718', '20200719', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:46'); +INSERT INTO `calender` VALUES ('c5acee5c1223adb9cd2c0163355329ad', 0, '20200518', '2020-05-18', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:35'); +INSERT INTO `calender` VALUES ('c65763e6f67bcd9aa5017683582c9e67', 0, '20200412', '2020-04-12', 7, '20200411', '20200412', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:59'); +INSERT INTO `calender` VALUES ('c68ffa615ab4935a01562dadbf2d4164', 0, '20200331', '2020-03-31', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:42'); +INSERT INTO `calender` VALUES ('c6ee81702bbe1766969dfa0cbc978755', 0, '20200511', '2020-05-11', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:28'); +INSERT INTO `calender` VALUES ('c702f672cb824f7b18f7efb0ef6d8535', 0, '20200307', '2020-03-07', 6, '20200307', '20200308', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:18'); +INSERT INTO `calender` VALUES ('c7e5ba7dd3e1e235f0ba35a198491886', 0, '20200408', '2020-04-08', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:55'); +INSERT INTO `calender` VALUES ('c7fd43d7bc3bed38f7f822436ec3fca6', 0, '20201215', '2020-12-15', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:16'); +INSERT INTO `calender` VALUES ('c8407ba7fdfad2ab0f800a2d81ae6e7c', 0, '20201106', '2020-11-06', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:37'); +INSERT INTO `calender` VALUES ('c983a79355646c357231d75bc4ee6325', 0, '20200725', '2020-07-25', 6, '20200725', '20200726', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:53'); +INSERT INTO `calender` VALUES ('c9a8708b7e06862bb54d299bbe93ed7b', 0, '20200103', '2020-01-03', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:14'); +INSERT INTO `calender` VALUES ('c9af06bda9dad8c1c95323c516144f0c', 0, '20200303', '2020-03-03', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:14'); +INSERT INTO `calender` VALUES ('c9c34f244eedd2d6531e69b64e972c4c', 0, '20200626', '2020-06-26', 5, '20200625', '20200627', '6月25日至27日放假调休,共3天。6月28日(星期日)上班。', '3', '节假日', '端午节', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:14'); +INSERT INTO `calender` VALUES ('c9d71d90951d24c0b6c2473bd64e997f', 0, '20200615', '2020-06-15', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:03'); +INSERT INTO `calender` VALUES ('ca2cbd7a8fca795523f036bc556dd9c8', 0, '20200819', '2020-08-19', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:18'); +INSERT INTO `calender` VALUES ('ca91ce6d49f32351936625a782048f37', 0, '20200418', '2020-04-18', 6, '20200418', '20200419', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:05'); +INSERT INTO `calender` VALUES ('caeb4101a59994f4d6c5f9fc2abf7d85', 0, '20200523', '2020-05-23', 6, '20200523', '20200524', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:40'); +INSERT INTO `calender` VALUES ('cb2f8f5feb2b53beb656ae79f19a5e0a', 0, '20200110', '2020-01-10', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:21'); +INSERT INTO `calender` VALUES ('cc3e4ed16b2618e77f6388e05cf1ac3b', 0, '20200829', '2020-08-29', 6, '20200829', '20200830', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:28'); +INSERT INTO `calender` VALUES ('cc702f50b9969de7ce7848dbc7bbb9f7', 0, '20200428', '2020-04-28', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:15'); +INSERT INTO `calender` VALUES ('cce60aad407c8c81f9fc201047ff9bc1', 0, '20200426', '2020-04-26', 7, '', '', '调休', '1', '工作日', '无', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:13'); +INSERT INTO `calender` VALUES ('cd028fff99e9ac69bab3d61388016d43', 0, '20200809', '2020-08-09', 7, '20200808', '20200809', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:08'); +INSERT INTO `calender` VALUES ('cd565b415036df24075d4de19ef5a7cb', 0, '20200306', '2020-03-06', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:17'); +INSERT INTO `calender` VALUES ('cdc332fb34673a8b3d0c21be380314b6', 0, '20201029', '2020-10-29', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:29'); +INSERT INTO `calender` VALUES ('cdd673d1816f5e6831f54075ec26d9c4', 0, '20201201', '2020-12-01', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:02'); +INSERT INTO `calender` VALUES ('cde81c3d82e8a44c268e736d6dfaa9aa', 0, '20200729', '2020-07-29', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:57'); +INSERT INTO `calender` VALUES ('cf8129d0a7d4ee8c2a8bd00a8de2552d', 0, '20200330', '2020-03-30', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:41'); +INSERT INTO `calender` VALUES ('d0b8b7fde6e0a0e76a49108c11f8f8a1', 0, '20200924', '2020-09-24', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:54'); +INSERT INTO `calender` VALUES ('d0da8d5ae49f15fac5922e852b24ff35', 0, '20200224', '2020-02-24', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:06'); +INSERT INTO `calender` VALUES ('d10e7145a8a9a5668072f6e772775554', 0, '20201118', '2020-11-18', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:49'); +INSERT INTO `calender` VALUES ('d11f4c89b5fbed55298f79b2fc5d67b6', 0, '20200203', '2020-02-03', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:45'); +INSERT INTO `calender` VALUES ('d18bf8256f1144cd56fbae9bee2e333a', 0, '20200807', '2020-08-07', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:06'); +INSERT INTO `calender` VALUES ('d18c5725a73f6053b9f77410b6bea392', 0, '20201008', '2020-10-08', 4, '20201001', '20201008', '10月1日至8日放假调休,共8天。9月27日(星期日)、10月10日(星期六)上班。', '3', '节假日', '国庆节、中秋节', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:08'); +INSERT INTO `calender` VALUES ('d26f0417bfbdf7cadaac7e8ce4b5f4a5', 0, '20200925', '2020-09-25', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:55'); +INSERT INTO `calender` VALUES ('d50647890023f9d8161a0e3835caeb04', 0, '20200129', '2020-01-29', 3, '20200124', '20200202', '1月24日至2月2日放假,共8天。1月19日(星期日)上班。', '3', '节假日', '春节', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:40'); +INSERT INTO `calender` VALUES ('d5eaba89a103b378d24fad69a24e8a0c', 0, '20201219', '2020-12-19', 6, '20201219', '20201220', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:20'); +INSERT INTO `calender` VALUES ('d5ede55a05374c0fc31ac3aee1a714ab', 0, '20200609', '2020-06-09', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:57'); +INSERT INTO `calender` VALUES ('d64c473a123605fa1442f4ef2322ced5', 0, '20200529', '2020-05-29', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:46'); +INSERT INTO `calender` VALUES ('d765cf0bcaa3679bc41524f9706ffe72', 0, '20200612', '2020-06-12', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:00'); +INSERT INTO `calender` VALUES ('d7fa163e01713d5d500ebf8f83db2395', 0, '20200503', '2020-05-03', 7, '20200501', '20200505', '5月1日至5日放假调休,共5天。4月26日(星期日)、5月9日(星期六)上班。', '3', '节假日', '劳动节', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:20'); +INSERT INTO `calender` VALUES ('d8bd7296f660a3bf16de959b4431341a', 0, '20200517', '2020-05-17', 7, '20200516', '20200517', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:34'); +INSERT INTO `calender` VALUES ('d90e6be07881b5899d57882b07461c62', 0, '20200125', '2020-01-25', 6, '20200124', '20200202', '1月24日至2月2日放假,共8天。1月19日(星期日)上班。', '3', '节假日', '春节', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:36'); +INSERT INTO `calender` VALUES ('da255693a2012a4c3e79b257eadb9deb', 0, '20200614', '2020-06-14', 7, '20200613', '20200614', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:02'); +INSERT INTO `calender` VALUES ('db4018d06ab9e21759892b18d4f0a90d', 0, '20200705', '2020-07-05', 7, '20200704', '20200705', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:23'); +INSERT INTO `calender` VALUES ('dc66f6a90771ee625c68cb35bd12caaa', 0, '20200111', '2020-01-11', 6, '20200111', '20200112', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:22'); +INSERT INTO `calender` VALUES ('dc734aa279bc49d095e9943d4aaa926a', 0, '20200504', '2020-05-04', 1, '20200501', '20200505', '5月1日至5日放假调休,共5天。4月26日(星期日)、5月9日(星期六)上班。', '3', '节假日', '劳动节', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:21'); +INSERT INTO `calender` VALUES ('dcd679675734164f9a42c11ee42f37df', 0, '20200515', '2020-05-15', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:32'); +INSERT INTO `calender` VALUES ('dd57752897902f2d36ae7e2530d6a0bc', 0, '20200831', '2020-08-31', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:30'); +INSERT INTO `calender` VALUES ('dd90ae4c03f15a7623300dee293af6d7', 0, '20201230', '2020-12-30', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:31'); +INSERT INTO `calender` VALUES ('ddf4c93eb9a52a31a2c132c9b71d5ae9', 0, '20200611', '2020-06-11', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:59'); +INSERT INTO `calender` VALUES ('df53b975c872875e564f237e892a7f45', 0, '20200606', '2020-06-06', 6, '20200606', '20200607', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:54'); +INSERT INTO `calender` VALUES ('df772282ee6f8e0062fb5cc6e97ae90d', 0, '20200803', '2020-08-03', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:02'); +INSERT INTO `calender` VALUES ('e182ab81b8a209acc50e0a64549aca88', 0, '20200325', '2020-03-25', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:36'); +INSERT INTO `calender` VALUES ('e1ca27bc239520538806abf727bfc200', 0, '20201026', '2020-10-26', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:26'); +INSERT INTO `calender` VALUES ('e2f0428aafcb13bf08e65bea14419a66', 0, '20200710', '2020-07-10', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:31'); +INSERT INTO `calender` VALUES ('e3967c80b22f8a37d9c025b0e56e5834', 0, '20200903', '2020-09-03', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:33'); +INSERT INTO `calender` VALUES ('e3f3e1f7a18c0239ac47980c8ca278ec', 0, '20200730', '2020-07-30', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:58'); +INSERT INTO `calender` VALUES ('e4a873788c057b427e5fbf5feca8efdc', 0, '20200130', '2020-01-30', 4, '20200124', '20200202', '1月24日至2月2日放假,共8天。1月19日(星期日)上班。', '3', '节假日', '春节', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:41'); +INSERT INTO `calender` VALUES ('e510c73bf124435322c309b64bf4e962', 0, '20201122', '2020-11-22', 7, '20201121', '20201122', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:53'); +INSERT INTO `calender` VALUES ('e520597165e33e4153c3d1f413ae21a1', 0, '20201115', '2020-11-15', 7, '20201114', '20201115', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:46'); +INSERT INTO `calender` VALUES ('e629863ed9e816ef5f7dddcf8c58fe5e', 0, '20200123', '2020-01-23', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:34'); +INSERT INTO `calender` VALUES ('e6374c05c6971018d931c67359fa1535', 0, '20200215', '2020-02-15', 6, '20200215', '20200216', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:57'); +INSERT INTO `calender` VALUES ('e701c2bfc6364efe9d0192a54a371202', 0, '20201114', '2020-11-14', 6, '20201114', '20201115', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:45'); +INSERT INTO `calender` VALUES ('e8ce8b627acff52e69de7eaf43a69d4e', 0, '20200630', '2020-06-30', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:18'); +INSERT INTO `calender` VALUES ('ea12f27e6f7c334883c5fc3cd6c9e2a7', 0, '20200120', '2020-01-20', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:31'); +INSERT INTO `calender` VALUES ('ea42c692fa8b41a63a2bad81581eeed2', 0, '20200806', '2020-08-06', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:05'); +INSERT INTO `calender` VALUES ('ead79d70f88de33eb312d685543ca39f', 0, '20200317', '2020-03-17', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:28'); +INSERT INTO `calender` VALUES ('ec9cc81dc46a38b05e6c9d6111b5a747', 0, '20200610', '2020-06-10', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:58'); +INSERT INTO `calender` VALUES ('ecb2989db7e4947262e26fc391078d91', 0, '20200124', '2020-01-24', 5, '20200124', '20200202', '1月24日至2月2日放假,共8天。1月19日(星期日)上班。', '3', '节假日', '春节', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:35'); +INSERT INTO `calender` VALUES ('eccc0c1b98d1c2fe893e034b63949a1e', 0, '20200721', '2020-07-21', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:49'); +INSERT INTO `calender` VALUES ('ecd5cec32212253b2e75206f48109aa6', 0, '20200811', '2020-08-11', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:10'); +INSERT INTO `calender` VALUES ('ed64f2920a350691ba8e35e4be53efe2', 0, '20200820', '2020-08-20', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:19'); +INSERT INTO `calender` VALUES ('edc0394f130c6541c9929902428e920f', 0, '20200505', '2020-05-05', 2, '20200501', '20200505', '5月1日至5日放假调休,共5天。4月26日(星期日)、5月9日(星期六)上班。', '3', '节假日', '劳动节', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:22'); +INSERT INTO `calender` VALUES ('edc0b603d0180d7a7d458729207d321c', 0, '20200423', '2020-04-23', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:10'); +INSERT INTO `calender` VALUES ('ee4ee5fe78a69c126df116db0469eb49', 0, '20201105', '2020-11-05', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:36'); +INSERT INTO `calender` VALUES ('f211b321e826467d855312b2990c3ab6', 0, '20200810', '2020-08-10', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:09'); +INSERT INTO `calender` VALUES ('f2feb01264e6514b3b302f0cc1ec24f0', 0, '20200316', '2020-03-16', 1, '', '', '', '1', '工作日', '无', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:27'); +INSERT INTO `calender` VALUES ('f38bd5ad9aa6b4e729aff1a0a3d99bd6', 0, '20200904', '2020-09-04', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:34'); +INSERT INTO `calender` VALUES ('f3fb39f3eeeceebdbd57ede89623cb28', 0, '20200430', '2020-04-30', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:17'); +INSERT INTO `calender` VALUES ('f4317a5304c4753a8ea3d70efab3ecaa', 0, '20200516', '2020-05-16', 6, '20200516', '20200517', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:33'); +INSERT INTO `calender` VALUES ('f447b913d68dd9ff3de429e7b531bede', 0, '20200901', '2020-09-01', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:31'); +INSERT INTO `calender` VALUES ('f51d1825b43afe99f478664bfc179f1f', 0, '20200728', '2020-07-28', 2, '', '', '', '1', '工作日', '无', 'Tuesday', '周二', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:56'); +INSERT INTO `calender` VALUES ('f6b262efde2bb391bfe1ca3db9a56472', 0, '20201210', '2020-12-10', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:27', 'APP_USER', '2020-05-12 10:09:11'); +INSERT INTO `calender` VALUES ('f762a73ff252cb0eb9e05534ad849d1e', 0, '20200521', '2020-05-21', 4, '', '', '', '1', '工作日', '无', 'Thursday', '周四', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:38'); +INSERT INTO `calender` VALUES ('f806b608c775f98ee4bc398b7725d3ad', 0, '20200308', '2020-03-08', 7, '20200307', '20200308', '', '2', '周末', '周末', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:04:19'); +INSERT INTO `calender` VALUES ('fa73f2294e0a4eee0c69615c974168cb', 0, '20200912', '2020-09-12', 6, '20200912', '20200913', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:42'); +INSERT INTO `calender` VALUES ('fae8a185567ae608b0817da8344ae306', 0, '20200126', '2020-01-26', 7, '20200124', '20200202', '1月24日至2月2日放假,共8天。1月19日(星期日)上班。', '3', '节假日', '春节', 'Sunday', '周日', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:03:37'); +INSERT INTO `calender` VALUES ('fb90507b253c954641fa5c12d40fd8fa', 0, '20200509', '2020-05-09', 6, '', '', '调休', '1', '工作日', '无', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:26'); +INSERT INTO `calender` VALUES ('fcee0731147e0d43a3c9ec9753177943', 0, '20200603', '2020-06-03', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:05:51'); +INSERT INTO `calender` VALUES ('fd059c1e43782ca8cc076f0ad49df900', 0, '20201005', '2020-10-05', 1, '20201001', '20201008', '10月1日至8日放假调休,共8天。9月27日(星期日)、10月10日(星期六)上班。', '3', '节假日', '国庆节、中秋节', 'Monday', '周一', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:05'); +INSERT INTO `calender` VALUES ('fd1845c5ac1eb3ca2e1ddb3cc85f7f54', 0, '20201023', '2020-10-23', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:08:23'); +INSERT INTO `calender` VALUES ('fd4a1e46c44e492c460fab94c1071452', 0, '20200902', '2020-09-02', 3, '', '', '', '1', '工作日', '无', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:07:32'); +INSERT INTO `calender` VALUES ('fe45e48535e36660744c5856def4b64d', 0, '20200101', '2020-01-01', 3, '20200101', '20200101', '2020年1月1日放假,共1天。', '3', '节假日', '元旦', 'Wednesday', '周三', 0, 0, 'APP_USER', '2020-05-12 01:32:00', 'fa5e50ca724911eab9c900163e08c0f9', '2020-05-12 13:48:50'); +INSERT INTO `calender` VALUES ('ff7e08ece3008eeb1661a2b1d8b4e20e', 0, '20200711', '2020-07-11', 6, '20200711', '20200712', '', '2', '周末', '周末', 'Saturday', '周六', 0, 0, 'APP_USER', '2020-05-12 01:32:26', 'APP_USER', '2020-05-12 10:06:32'); +INSERT INTO `calender` VALUES ('ffe45e7059c67874f88498cfcfd19b4c', 0, '20200424', '2020-04-24', 5, '', '', '', '1', '工作日', '无', 'Friday', '周五', 0, 0, 'APP_USER', '2020-05-12 01:32:25', 'APP_USER', '2020-05-12 10:05:11'); + +SET FOREIGN_KEY_CHECKS = 1; From 9778dd748cc68aa4c1998b8fad0c8cc4991e6af5 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 12 May 2020 16:15:29 +0800 Subject: [PATCH 09/22] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B7=9F=E8=B8=AA-?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=A4=84=E7=90=86=E8=BF=9B=E5=B1=95=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/form/.gitkeep | 0 .../epmet/dto/form/ProcessListFormDTO.java | 20 ++++++ .../main/java/com/epmet/dto/result/.gitkeep | 0 .../dto/result/ProcesslistResultDTO.java | 71 +++++++++++++++++++ .../main/java/com/epmet/controller/.gitkeep | 0 .../controller/ProjectTraceController.java | 30 ++++++++ .../src/main/java/com/epmet/dao/.gitkeep | 0 .../java/com/epmet/dao/ProjectProcessDao.java | 13 +++- .../src/main/java/com/epmet/entity/.gitkeep | 0 .../src/main/java/com/epmet/service/.gitkeep | 0 .../epmet/service/ProjectProcessService.java | 10 +++ .../impl/ProjectProcessServiceImpl.java | 26 +++++-- .../src/main/resources/mapper/.gitkeep | 0 .../resources/mapper/ProjectProcessDao.xml | 32 ++++----- 14 files changed, 181 insertions(+), 21 deletions(-) delete mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/.gitkeep create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessListFormDTO.java delete mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/.gitkeep create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProcesslistResultDTO.java delete mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/.gitkeep delete mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/.gitkeep delete mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/.gitkeep delete mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/.gitkeep delete mode 100644 epmet-module/gov-project/gov-project-server/src/main/resources/mapper/.gitkeep diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/.gitkeep b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessListFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessListFormDTO.java new file mode 100644 index 0000000000..ec88405a6e --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessListFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 项目处理进展列表-接口入参 + * @Author sun + */ +@Data +public class ProcessListFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + + @NotBlank(message = "项目Id不能为空") + private String projectId; + +} + diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/.gitkeep b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProcesslistResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProcesslistResultDTO.java new file mode 100644 index 0000000000..d77367e075 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProcesslistResultDTO.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.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + + +/** + * 项目跟踪-项目处理进展列表-接口返参 + * + * @author sun + */ +@Data +public class ProcesslistResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 项目Id + */ + private String projectId = ""; + + /** + * 项目处理进展Id + */ + private String processId = ""; + + /** + * 处理进展名称 + */ + private String processName = ""; + + /** + * 处理进展时间 + */ + private Long processTime; + + /** + * 处理部门 + */ + private String departmentName = ""; + + /** + * 公开答复 + */ + private String publicReply = ""; + + /** + * 内部备注 + */ + private String internalRemark = ""; +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/.gitkeep b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index 9a4329be26..6d7d98ba0f 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -1,8 +1,22 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.annotation.RequirePermission; +import com.epmet.commons.tools.enums.RequirePermissionEnum; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.result.ProcesslistResultDTO; +import com.epmet.service.ProjectProcessService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description 政府端-项目跟踪 * @Author yinzuomei @@ -11,5 +25,21 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("trace") public class ProjectTraceController { + + @Autowired + private ProjectProcessService projectProcessService; + + /** + * @param formDTO + * @return + * @Author sun + * @Description 项目跟踪-项目处理进展列表 + **/ + @PostMapping("processlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL) + public Result> processList(@LoginUser TokenDto tokenDTO, @RequestBody ProcessListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result>().ok(projectProcessService.progressList(formDTO)); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/.gitkeep b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java index 5472b13ba0..825918297a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java @@ -18,8 +18,12 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.ProcesslistResultDTO; import com.epmet.entity.ProjectProcessEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 项目处理进展表 @@ -29,5 +33,12 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ProjectProcessDao extends BaseDao { - + + /** + * @param projectId + * @return + * @Author sun + * @Description 根据项目Id查询项目处理进展列表 + **/ + List getProcessListByProjectId(@Param("projectId") String projectId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/.gitkeep b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/.gitkeep b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java index b44896e261..ce4889776a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java @@ -20,6 +20,8 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ProjectProcessDTO; +import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.result.ProcesslistResultDTO; import com.epmet.entity.ProjectProcessEntity; import java.util.List; @@ -92,4 +94,12 @@ public interface ProjectProcessService extends BaseService * @date 2020-05-11 */ void delete(String[] ids); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 项目跟踪-项目处理进展列表 + **/ + List progressList(ProcessListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 3d43b730eb..6c45ca75e9 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -20,12 +20,16 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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.commons.tools.constant.FieldConstant; import com.epmet.dao.ProjectProcessDao; +import com.epmet.dao.ProjectStaffDao; import com.epmet.dto.ProjectProcessDTO; +import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.result.ProcesslistResultDTO; import com.epmet.entity.ProjectProcessEntity; +import com.epmet.feign.GovOrgFeignClient; import com.epmet.redis.ProjectProcessRedis; import com.epmet.service.ProjectProcessService; import org.apache.commons.lang3.StringUtils; @@ -33,9 +37,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 项目处理进展表 @@ -48,6 +50,10 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl page(Map params) { @@ -101,4 +107,16 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl progressList(ProcessListFormDTO formDTO) { + //根据项目Id查询所有处理进展数据,按时间倒序 + return baseDao.getProcessListByProjectId(formDTO.getProjectId()); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/.gitkeep b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml index 9350f107ea..a952540452 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml @@ -3,22 +3,22 @@ - - - - - - - - - - - - - - - - + \ No newline at end of file From ac67a34cea13235bef6237fee05aa95b4625c0e9 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 12 May 2020 16:58:04 +0800 Subject: [PATCH 10/22] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=92=8C=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/constant/ServiceConstant.java | 5 + .../epmet/dto/form/ProjectClosedFromDTO.java | 32 ++ .../epmet/dto/form/ProjectDetailFromDTO.java | 25 ++ .../epmet/dto/form/ProjectListFromDTO.java | 31 ++ .../com/epmet/dto/form/ReturnFromDTO.java | 32 ++ .../com/epmet/dto/form/ReturnListFromDTO.java | 19 ++ .../dto/result/CreatedListResultDTO.java | 42 +++ .../epmet/dto/result/DepartmentResultDTO.java | 23 ++ .../dto/result/InvolvedListResultDTO.java | 41 +++ .../dto/result/PendProjectListResultDTO.java | 36 +++ .../dto/result/ProjectDetailResultDTO.java | 49 +++ .../epmet/dto/result/ReturnListResultDTO.java | 23 ++ .../gov-project/gov-project-server/pom.xml | 6 + .../epmet/constant/ParameterKeyConstant.java | 14 + .../com/epmet/constant/ProjectConstant.java | 71 +++++ .../controller/ProjectTraceController.java | 117 ++++++- .../dao/CustomerProjectParameterDao.java | 9 + .../main/java/com/epmet/dao/ProjectDao.java | 57 +++- .../java/com/epmet/dao/ProjectStaffDao.java | 16 +- .../com/epmet/feign/CommonFeignClient.java | 23 ++ .../fallback/CommonFeignClientFallBack.java | 24 ++ .../CustomerProjectParameterService.java | 9 + .../com/epmet/service/ProjectService.java | 155 ++++++---- .../epmet/service/ProjectStaffService.java | 11 + .../epmet/service/ProjectTraceService.java | 91 ++++++ .../CustomerProjectParameterServiceImpl.java | 6 + .../service/impl/ProjectServiceImpl.java | 285 ++++++++++++++---- .../service/impl/ProjectStaffServiceImpl.java | 6 + .../service/impl/ProjectTraceServiceImpl.java | 60 ++++ .../mapper/CustomerProjectParameterDao.xml | 9 + .../src/main/resources/mapper/ProjectDao.xml | 89 ++++++ .../main/resources/mapper/ProjectStaffDao.xml | 12 + 32 files changed, 1311 insertions(+), 117 deletions(-) create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectDetailFromDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectListFromDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnListFromDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/DepartmentResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PendProjectListResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ReturnListResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ParameterKeyConstant.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/CommonFeignClient.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/CommonFeignClientFallBack.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java index 5fd9af0bd1..c6b5591ff0 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java @@ -98,4 +98,9 @@ public interface ServiceConstant { * 政府端项目跟踪(项目管理) */ String GOV_PROJECT_SERVER="gov-project-server"; + + /** + * 共通 + */ + String EPMET_COMMON_SERVICE = "epmet-common-service"; } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java new file mode 100644 index 0000000000..29f755243b --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription 项目结案 + * @date 2020/5/11 15:44 + */ +@Data +public class ProjectClosedFromDTO implements Serializable { + + private static final long serialVersionUID = -7383213527369892832L; + /** + * 项目Id + */ + private String projectId; + /** + * 是否解决(已解决 resolved,未解决 unresolved) + */ + private String closedStatus; + /** + * 公开答复内容 + */ + private String publicReply; + /** + * 内部备注内容 + */ + private String internalRemark; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectDetailFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectDetailFromDTO.java new file mode 100644 index 0000000000..28178701c5 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectDetailFromDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription 项目详情入参 + * @date 2020/5/11 15:24 + */ +@Data +public class ProjectDetailFromDTO implements Serializable { + private static final long serialVersionUID = 1246868104866189698L; + + /** + * 项目Id + */ + private String projectId; + + /** + * 用户ID + */ + private String userId; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectListFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectListFromDTO.java new file mode 100644 index 0000000000..d608acf068 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectListFromDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/11 14:01 + */ +@Data +public class ProjectListFromDTO implements Serializable { + private static final long serialVersionUID = 1L; + /** + * 客户ID + */ + private String customerId; + /** + * 用户ID + */ + private String userId; + /** + * 页码 + */ + private Integer pageNo; + /** + * 每页显示数量 + */ + private Integer pageSize; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java new file mode 100644 index 0000000000..12ec7137d1 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription 项目退回 + * @date 2020/5/11 15:55 + */ +@Data +public class ReturnFromDTO implements Serializable { + + private static final long serialVersionUID = -8747667324909671154L; + /** + * 项目Id + */ + private String projectId; + /** + * 流程节点Id + */ + private String projectProcessId; + /** + * 公开答复内容 + */ + private String publicReply; + /** + * 内部流转意见 + */ + private String internalRemark; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnListFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnListFromDTO.java new file mode 100644 index 0000000000..cd0aa2638a --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnListFromDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription 可退回节点列表 + * @date 2020/5/11 15:49 + */ +@Data +public class ReturnListFromDTO implements Serializable { + private static final long serialVersionUID = 741782201514313323L; + /** + * 项目Id + */ + private String projectId; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java new file mode 100644 index 0000000000..3481754cba --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java @@ -0,0 +1,42 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription 我发起的项目列表 + * @date 2020/5/11 15:57 + */ +@Data +public class CreatedListResultDTO implements Serializable { + + private static final long serialVersionUID = 5957826616179876849L; + /** + * 项目Id + */ + private String projectId; + /** + * 项目标题 + */ + private String projectTitle; + /** + * 项目创建时间 + */ + private Long projectTime; + /** + * 滞留天数 + */ + private String detentionDays; + /** + * 当前处理部门(组织-网格、组织-部门 ) + */ + private List departmentNameList; + /** + * 是否超期预警 + */ + private Boolean warningFlag; + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/DepartmentResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/DepartmentResultDTO.java new file mode 100644 index 0000000000..d63091b73e --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/DepartmentResultDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/12 16:29 + */ +@Data +public class DepartmentResultDTO implements Serializable { + private static final long serialVersionUID = 394316321928642799L; + /** + * 项目人员关联表ID + */ + private String projectStaffId; + /** + * 部门名 + */ + private String departmentName; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java new file mode 100644 index 0000000000..39c552f9e5 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java @@ -0,0 +1,41 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription 我参与的项目列表 + * @date 2020/5/11 16:06 + */ +@Data +public class InvolvedListResultDTO implements Serializable { + + private static final long serialVersionUID = 6050021263050922594L; + /** + * 项目Id + */ + private String projectId; + /** + * 项目标题 + */ + private String projectTitle; + /** + * 创建时间 + */ + private Long projectTime; + /** + * 滞留天数 + */ + private String detentionDays; + /** + * 当前处理部门(组织-网格、组织-部门 ) + */ + private List departmentNameList; + /** + * 是否超期预警 + */ + private Boolean warningFlag; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PendProjectListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PendProjectListResultDTO.java new file mode 100644 index 0000000000..a2fe308a27 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PendProjectListResultDTO.java @@ -0,0 +1,36 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription 待处理项目列表 + * @date 2020/5/11 15:38 + */ +@Data +public class PendProjectListResultDTO implements Serializable { + + private static final long serialVersionUID = -7900117646827271573L; + /** + * 项目Id + */ + private String projectId; + /** + * 项目标题 + */ + private String projectTitle; + /** + * 项目创建时间 + */ + private Long projectTime; + /** + * 滞留天数 + */ + private String detentionDays; + /** + * 是否超期预警 + */ + private Boolean warningFlag; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java new file mode 100644 index 0000000000..9c9425d36f --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java @@ -0,0 +1,49 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/11 15:33 + */ +@Data +public class ProjectDetailResultDTO implements Serializable { + + private static final long serialVersionUID = -2969103790181586848L; + /** + * 项目Id + */ + private String projectId; + /** + * 来源 + */ + private String origin; + /** + * 来源Id + */ + private String originId; + /** + * 项目标题 + */ + private String projectTitle; + /** + * 项目方案 + */ + private String publicReply; + /** + * 内部备注 + */ + private String internalRemark; + /** + * 项目状态(待处理 pending,结案closed) + */ + private String projectStatus; + /** + * 处理状态(是否由我处理) + */ + private Boolean processable; + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ReturnListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ReturnListResultDTO.java new file mode 100644 index 0000000000..229f769753 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ReturnListResultDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription 可退回节点列表 + * @date 2020/5/11 15:50 + */ +@Data +public class ReturnListResultDTO implements Serializable { + private static final long serialVersionUID = -7082368401375611559L; + /** + * 处理进展表Id + */ + private String projectProcessId; + /** + * 处理人名称(组织-部门-人员 组织-网格-人员 组织-人员) + */ + private String processor; +} diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index a1329fba1c..7fa15bd39f 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -60,6 +60,12 @@ feign-httpclient 10.3.0 + + com.epmet + common-service-client + 2.0.0 + compile + diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ParameterKeyConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ParameterKeyConstant.java new file mode 100644 index 0000000000..502b895544 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ParameterKeyConstant.java @@ -0,0 +1,14 @@ +package com.epmet.constant; + +/** + * @author zhaoqifeng + * @dscription 客户定制参数key + * @date 2020/5/12 11:02 + */ +public interface ParameterKeyConstant { + + /** + * 可滞留天数 + */ + String DETENTION_DAYS = "detention_days"; +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java new file mode 100644 index 0000000000..e9b81ef0f9 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -0,0 +1,71 @@ +package com.epmet.constant; + +/** + * @author zhaoqifeng + * @dscription 项目相关常量 + * @date 2020/5/12 10:47 + */ +public interface ProjectConstant { + /** + * 项目来源-议题 + */ + String ISSUE = "issue"; + /** + * 状态-待处理 + */ + String PENDING = "pending"; + /** + * 状态-结案 + */ + String CLOSED = "closed"; + /** + * 结案状态-已解决 + */ + String RESOLVED = "resolved"; + /** + * 结案状态-未解决 + */ + String UNRESOLVED = "unresolved"; + + /** + * 处理-结案 + */ + String OPERATION_CLOSE = "close"; + /** + * 处理名-结案 + */ + String OPERATION_CLOSE_NAME = "结案"; + /** + * 处理-退回 + */ + String OPERATION_RETURN = "return"; + /** + * 处理名-退回 + */ + String OPERATION_RETURN_NAME = "退回"; + /** + * 处理-部门流转 + */ + String OPERATION_TRANSFER = "transfer"; + /** + * 处理名-部门流转 + */ + String OPERATION_TRANSFER_NAME = "部门流转"; + /** + * 处理-转项目 + */ + String OPERATION_CREATED = "created"; + /** + * 处理名-转项目 + */ + String OPERATION_CREATED_NAME = "转项目"; + + /** + * 是否处理-未处理 + */ + String UNHANDLED = "unhandled"; + /** + * 是否处理-已处理 + */ + String HANDLE = "handle"; +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index 6d7d98ba0f..b862ba1085 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -6,9 +6,10 @@ import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.form.ProcessListFormDTO; -import com.epmet.dto.result.ProcesslistResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.service.ProjectProcessService; +import com.epmet.service.ProjectTraceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -26,8 +27,116 @@ import java.util.List; @RequestMapping("trace") public class ProjectTraceController { - @Autowired - private ProjectProcessService projectProcessService; + @Autowired + private ProjectTraceService projectTraceService; + + @Autowired + private ProjectProcessService projectProcessService; + + /** + * 待处理项目列表 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:14 + */ + @PostMapping("pendprojectlist") + public Result> getPendProjectList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { + List result = projectTraceService.getPendProjectList(tokenDto, fromDTO); + return new Result>().ok(result); + } + + /** + * 我发起的项目列表 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:19 + */ + @PostMapping("createdlist") + public Result> getCreatedList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { + List result = projectTraceService.getCreatedList(tokenDto, fromDTO); + return new Result>().ok(result); + } + + /** + * 我参与的项目列表 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:21 + */ + @PostMapping("involvedlist") + public Result> getInvolvedList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { + List result = projectTraceService.getInvolvedList(tokenDto, fromDTO); + return new Result>().ok(result); + } + + /** + * 项目详情 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/5/11 16:25 + */ + @PostMapping("projectdetail") + public Result getProjectDetail(@LoginUser TokenDto tokenDto, @RequestBody ProjectDetailFromDTO fromDTO) { + ProjectDetailResultDTO result = projectTraceService.getProjectDetail(tokenDto, fromDTO); + return new Result().ok(result); + } + + /** + * 项目结案 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/5/11 16:27 + */ + @PostMapping("closeproject") + public Result closed(@LoginUser TokenDto tokenDto, @RequestBody ProjectClosedFromDTO fromDTO) { + projectTraceService.closed(tokenDto, fromDTO); + return new Result(); + } + + /** + * 可退回节点列表 + * + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:30 + */ + @PostMapping("returnablelist") + public Result> getReturnableList(@RequestBody ReturnListFromDTO fromDTO) { + List result = projectTraceService.getReturnableList(fromDTO); + return new Result>().ok(result); + } + + /** + * 项目退回 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/5/11 16:32 + */ + @PostMapping("return") + public Result projectReturn(@LoginUser TokenDto tokenDto, @RequestBody ReturnFromDTO fromDTO) { + projectTraceService.projectReturn(tokenDto, fromDTO); + return new Result(); + } + /** * @param formDTO diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java index 715945aaca..c94ad69046 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.CustomerProjectParameterEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 项目客户参数订制表 @@ -29,5 +30,13 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface CustomerProjectParameterDao extends BaseDao { + /** + * 根据key查找value + * @author zhaoqifeng + * @date 2020/5/12 10:39 + * @param entity 参数 + * @return java.lang.String + */ + String selectParameterValueByKey(CustomerProjectParameterEntity entity); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java index e7ba5bd385..c84c8d6f2d 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java @@ -18,8 +18,15 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.ProjectDTO; +import com.epmet.dto.form.ProjectListFromDTO; +import com.epmet.dto.result.DepartmentResultDTO; +import com.epmet.dto.result.ProjectDetailResultDTO; import com.epmet.entity.ProjectEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 项目表 @@ -29,5 +36,53 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ProjectDao extends BaseDao { - + /** + * 待处理项目列表 + * + * @param fromDTO 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/11 17:04 + **/ + List selectPendList(ProjectListFromDTO fromDTO); + + /** + * 我发起的项目列表 + * + * @param fromDTO 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 13:59 + */ + List selectCreatedList(ProjectListFromDTO fromDTO); + + /** + * 我参与的项目列表 + * + * @param fromDTO 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 14:16 + */ + List selectInvolvedList(ProjectListFromDTO fromDTO); + + /** + * 当前处理部门 + * + * @param dto 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 14:47 + */ + List selectDepartmentNameList(ProjectDTO dto); + + /** + * 获取项目详情 + * @author zhaoqifeng + * @date 2020/5/12 15:18 + * @param id + * @return com.epmet.dto.ProjectDTO + */ + ProjectDetailResultDTO selectProjectDetail(@Param("id") String id); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java index e78229e0f5..b93b670473 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java @@ -18,9 +18,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.ProjectStaffDTO; +import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.entity.ProjectStaffEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 项目人员关联表 * @@ -29,5 +33,15 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ProjectStaffDao extends BaseDao { - + + /** + * 未处理部门列表 + * + * @param dto 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 16:40 + */ + List selectDepartmentNameList(ProjectStaffDTO dto); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/CommonFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/CommonFeignClient.java new file mode 100644 index 0000000000..10ed3733c3 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/CommonFeignClient.java @@ -0,0 +1,23 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.WorkDayFormDTO; +import com.epmet.dto.result.WorkDayResultDTO; +import com.epmet.feign.fallback.CommonFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/12 15:48 + */ +@FeignClient(name = ServiceConstant.EPMET_COMMON_SERVICE, fallback = CommonFeignClientFallBack.class) +public interface CommonFeignClient { + @PostMapping("commonservice/workday/detentiondays") + Result> detentionDays(@RequestBody List formDTO); +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/CommonFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/CommonFeignClientFallBack.java new file mode 100644 index 0000000000..0d7aa93769 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/CommonFeignClientFallBack.java @@ -0,0 +1,24 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.WorkDayFormDTO; +import com.epmet.dto.result.WorkDayResultDTO; +import com.epmet.feign.CommonFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/12 15:51 + */ +@Component +public class CommonFeignClientFallBack implements CommonFeignClient { + @Override + public Result> detentionDays(List formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "detentionDays", formDTO); + } +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java index ba787d4171..87664dc583 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java @@ -92,4 +92,13 @@ public interface CustomerProjectParameterService extends BaseService { - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2020-05-11 - */ - PageData page(Map params); + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-05-11 + */ + PageData page(Map params); - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2020-05-11 - */ - List list(Map params); + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-05-11 + */ + List list(Map params); - /** - * 单条查询 - * - * @param id - * @return ProjectDTO - * @author generator - * @date 2020-05-11 - */ - ProjectDTO get(String id); + /** + * 单条查询 + * + * @param id + * @return ProjectDTO + * @author generator + * @date 2020-05-11 + */ + ProjectDTO get(String id); - /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2020-05-11 - */ - void save(ProjectDTO dto); + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-05-11 + */ + void save(ProjectDTO dto); - /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2020-05-11 - */ - void update(ProjectDTO dto); + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-05-11 + */ + void update(ProjectDTO dto); - /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2020-05-11 - */ - void delete(String[] ids); + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-05-11 + */ + void delete(String[] ids); + + /** + * 待处理项目列表 + * + * @param fromDTO 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 10:23 + */ + List getPendProjectList(ProjectListFromDTO fromDTO); + + /** + * 我发起的项目列表 + * + * @param fromDTO 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 13:58 + */ + List getCreatedList(ProjectListFromDTO fromDTO); + + /** + * 我参与的项目列表 + * + * @param fromDTO 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 14:57 + */ + List getInvolvedList(ProjectListFromDTO fromDTO); + + /** + * 项目详情 + * + * @param fromDTO 参数 + * @return com.epmet.dto.result.ProjectDetailResultDTO + * @author zhaoqifeng + * @date 2020/5/12 15:13 + */ + ProjectDetailResultDTO getProjectDetail(ProjectDetailFromDTO fromDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java index 30b07ac3b1..62d3b66965 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java @@ -20,6 +20,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ProjectStaffDTO; +import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.entity.ProjectStaffEntity; import java.util.List; @@ -92,4 +93,14 @@ public interface ProjectStaffService extends BaseService { * @date 2020-05-11 */ void delete(String[] ids); + + /** + * 未处理部门列表 + * + * @param dto 参数 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/12 16:40 + */ + List getDepartmentNameList(ProjectStaffDTO dto); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java new file mode 100644 index 0000000000..f91afc3c3a --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java @@ -0,0 +1,91 @@ +package com.epmet.service; + +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription 项目追踪 + * @date 2020/5/11 16:34 + */ +public interface ProjectTraceService { + /** + * 待处理项目列表 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:14 + */ + List getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO); + + /** + * 我发起的项目列表 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:19 + */ + List getCreatedList(TokenDto tokenDto, ProjectListFromDTO fromDTO); + + /** + * 我参与的项目列表 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:21 + */ + List getInvolvedList(TokenDto tokenDto, ProjectListFromDTO fromDTO); + + /** + * 项目详情 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/5/11 16:25 + */ + ProjectDetailResultDTO getProjectDetail(TokenDto tokenDto, ProjectDetailFromDTO fromDTO); + + /** + * 项目结案 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/5/11 16:27 + */ + void closed(TokenDto tokenDto, ProjectClosedFromDTO fromDTO); + + /** + * 可退回节点列表 + * + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/11 16:30 + */ + List getReturnableList(ReturnListFromDTO fromDTO); + + /** + * 项目退回 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/5/11 16:32 + */ + void projectReturn(TokenDto tokenDto, ReturnFromDTO fromDTO); +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java index a3942c0295..3df0971eb3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java @@ -101,4 +101,10 @@ public class CustomerProjectParameterServiceImpl extends BaseServiceImpl implements ProjectService { - @Autowired - private ProjectRedis projectRedis; - - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, ProjectDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, ProjectDTO.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 ProjectDTO get(String id) { - ProjectEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, ProjectDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(ProjectDTO dto) { - ProjectEntity entity = ConvertUtils.sourceToTarget(dto, ProjectEntity.class); - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(ProjectDTO dto) { - ProjectEntity entity = ConvertUtils.sourceToTarget(dto, ProjectEntity.class); - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); - } + @Autowired + private ProjectRedis projectRedis; + @Autowired + private CustomerProjectParameterService parameterService; + @Autowired + private CommonFeignClient commonFeignClient; + @Autowired + private ProjectStaffService projectStaffService; + + private final static String ONE_DAY = "<1"; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, ProjectDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, ProjectDTO.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 ProjectDTO get(String id) { + ProjectEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, ProjectDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(ProjectDTO dto) { + ProjectEntity entity = ConvertUtils.sourceToTarget(dto, ProjectEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(ProjectDTO dto) { + ProjectEntity entity = ConvertUtils.sourceToTarget(dto, ProjectEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + @Override + public List getPendProjectList(ProjectListFromDTO fromDTO) { + List list = new ArrayList<>(); + + List projectList = baseDao.selectPendList(fromDTO); + //获取客户定制的可滞留天数 + Integer finalDays = getDays(fromDTO); + projectList.forEach(p -> { + PendProjectListResultDTO pend = new PendProjectListResultDTO(); + pend.setProjectId(p.getId()); + pend.setProjectTitle(p.getTitle()); + pend.setProjectTime(p.getCreatedTime().getTime()); + String detentionDays = getDetentionDays(p); + if (!ONE_DAY.equals(detentionDays) && Integer.parseInt(detentionDays) > finalDays) { + pend.setWarningFlag(true); + pend.setDetentionDays(detentionDays); + } else { + pend.setDetentionDays(detentionDays); + pend.setWarningFlag(false); + } + list.add(pend); + }); + + return list; + } + + @Override + public List getCreatedList(ProjectListFromDTO fromDTO) { + List list = new ArrayList<>(); + List projectList = baseDao.selectCreatedList(fromDTO); + //获取客户定制的可滞留天数 + Integer finalDays = getDays(fromDTO); + projectList.forEach(p -> { + CreatedListResultDTO created = new CreatedListResultDTO(); + created.setProjectId(p.getId()); + created.setProjectTitle(p.getTitle()); + created.setProjectTime(p.getCreatedTime().getTime()); + String detentionDays = getDetentionDays(p); + if (!ONE_DAY.equals(detentionDays) && Integer.parseInt(detentionDays) > finalDays) { + created.setWarningFlag(true); + created.setDetentionDays(detentionDays); + } else { + created.setDetentionDays(detentionDays); + created.setWarningFlag(false); + } + //获取当前处理部门 + List departmentNameList = new ArrayList<>(); + if (ProjectConstant.CLOSED.equals(p.getStatus())) { + created.setDepartmentNameList(departmentNameList); + } else { + departmentNameList = baseDao.selectDepartmentNameList(p); + created.setDepartmentNameList(departmentNameList); + } + list.add(created); + }); + return list; + } + + @Override + public List getInvolvedList(ProjectListFromDTO fromDTO) { + List list = new ArrayList<>(); + List projectList = baseDao.selectCreatedList(fromDTO); + //获取客户定制的可滞留天数 + Integer finalDays = getDays(fromDTO); + projectList.forEach(p -> { + InvolvedListResultDTO involved = new InvolvedListResultDTO(); + involved.setProjectId(p.getId()); + involved.setProjectTitle(p.getTitle()); + involved.setProjectTime(p.getCreatedTime().getTime()); + String detentionDays = getDetentionDays(p); + if (!ONE_DAY.equals(detentionDays) && Integer.parseInt(detentionDays) > finalDays) { + involved.setWarningFlag(true); + involved.setDetentionDays(detentionDays); + } else { + involved.setDetentionDays(detentionDays); + involved.setWarningFlag(false); + } + //获取当前处理部门 + List departmentNameList = new ArrayList<>(); + if (ProjectConstant.CLOSED.equals(p.getStatus())) { + involved.setDepartmentNameList(departmentNameList); + } else { + departmentNameList = baseDao.selectDepartmentNameList(p); + involved.setDepartmentNameList(departmentNameList); + } + list.add(involved); + }); + return list; + } + + @Override + public ProjectDetailResultDTO getProjectDetail(ProjectDetailFromDTO fromDTO) { + ProjectDetailResultDTO resultDTO = baseDao.selectProjectDetail(fromDTO.getProjectId()); + if (ProjectConstant.CLOSED.equals(resultDTO.getProjectStatus())) { + resultDTO.setProcessable(true); + } else { + //获取我未处理的部门 + ProjectStaffDTO projectStaffDTO = new ProjectStaffDTO(); + projectStaffDTO.setProjectId(fromDTO.getProjectId()); + projectStaffDTO.setStaffId(fromDTO.getUserId()); + List departmentList = projectStaffService.getDepartmentNameList(projectStaffDTO); + if (null != departmentList && departmentList.size() > 0) { + resultDTO.setProcessable(false); + } else { + resultDTO.setProcessable(true); + } + } + + return resultDTO; + } + + /** + * 获取客户定制的可滞留天数 + * + * @param fromDTO + * @return java.lang.Integer + * @author zhaoqifeng + * @date 2020/5/12 16:20 + */ + private Integer getDays(ProjectListFromDTO fromDTO) { + //获取客户定制的可滞留天数 + CustomerProjectParameterDTO dto = new CustomerProjectParameterDTO(); + dto.setCustomerId(fromDTO.getCustomerId()); + dto.setParameterKey(ParameterKeyConstant.DETENTION_DAYS); + String value = parameterService.getParameterValueByKey(dto); + Integer days = 5; + if (value != null) { + days = Integer.valueOf(value); + } + return days; + } + + /** + * 工作日计算 + * + * @param projectDTO + * @return java.lang.String + * @author zhaoqifeng + * @date 2020/5/12 16:20 + */ + private String getDetentionDays(ProjectDTO projectDTO) { + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + + List list = new ArrayList<>(); + WorkDayFormDTO workDayFormDTO = new WorkDayFormDTO(); + workDayFormDTO.setId(projectDTO.getId()); + workDayFormDTO.setStartDate(format.format(projectDTO.getCreatedTime())); + workDayFormDTO.setEndDate(format.format(new Date())); + Result> detentionDays = commonFeignClient.detentionDays(list); + return detentionDays.getData().get(0).getDetentionDays(); + } } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java index 0eea5ed1fc..bfab5baef5 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java @@ -25,6 +25,7 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.dao.ProjectStaffDao; import com.epmet.dto.ProjectStaffDTO; +import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.entity.ProjectStaffEntity; import com.epmet.redis.ProjectStaffRedis; import com.epmet.service.ProjectStaffService; @@ -101,4 +102,9 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl getDepartmentNameList(ProjectStaffDTO dto) { + return baseDao.selectDepartmentNameList(dto); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java new file mode 100644 index 0000000000..d7ff474a5d --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -0,0 +1,60 @@ +package com.epmet.service.impl; + +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; +import com.epmet.service.ProjectService; +import com.epmet.service.ProjectTraceService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/11 16:35 + */ +@Service +public class ProjectTraceServiceImpl implements ProjectTraceService { + @Autowired + private ProjectService projectService; + + @Override + public List getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { + fromDTO.setUserId(tokenDto.getUserId()); + return projectService.getPendProjectList(fromDTO); + } + + @Override + public List getCreatedList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { + fromDTO.setUserId(tokenDto.getUserId()); + return projectService.getCreatedList(fromDTO); + } + + @Override + public List getInvolvedList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { + fromDTO.setUserId(tokenDto.getUserId()); + return projectService.getInvolvedList(fromDTO); + } + + @Override + public ProjectDetailResultDTO getProjectDetail(TokenDto tokenDto, ProjectDetailFromDTO fromDTO) { + return null; + } + + @Override + public void closed(TokenDto tokenDto, ProjectClosedFromDTO fromDTO) { + + } + + @Override + public List getReturnableList(ReturnListFromDTO fromDTO) { + return null; + } + + @Override + public void projectReturn(TokenDto tokenDto, ReturnFromDTO fromDTO) { + + } +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/CustomerProjectParameterDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/CustomerProjectParameterDao.xml index 5883ac863f..25a30d23a9 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/CustomerProjectParameterDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/CustomerProjectParameterDao.xml @@ -17,6 +17,15 @@ + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index e14269cbb7..9b8fd485ff 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -19,6 +19,95 @@ + + + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index eb733d0eb7..736a87d3ae 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml @@ -20,6 +20,18 @@ + \ No newline at end of file From 3b8663a7fc6bb46643cef5c1e451ebc029800596 Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Tue, 12 May 2020 18:37:30 +0800 Subject: [PATCH 11/22] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E8=A1=A8=E5=86=B3?= =?UTF-8?q?=E6=8A=98=E7=BA=BF=E5=9B=BE=E3=80=81=E6=8F=90=E4=BA=A4=E6=BB=A1?= =?UTF-8?q?=E6=84=8F=E5=BA=A6=E8=AF=84=E4=BB=B7=E3=80=81=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E3=80=81=E5=8F=8D=E5=AF=B9=E8=AE=AE=E9=A2=98=EF=BC=8C=E6=BB=A1?= =?UTF-8?q?=E6=84=8F=E5=BA=A6=E8=AF=84=E4=BB=B7=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E8=A1=A8=E5=86=B3=E4=B8=AD=E8=AF=A6=E6=83=85=E2=80=94?= =?UTF-8?q?=E2=80=94=E6=94=AF=E6=8C=81=E5=8F=8D=E5=AF=B9=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/EvaluateInfoDTO.java | 26 +++++ .../main/java/com/epmet/dto/PolyLineDTO.java | 32 ++++++ .../com/epmet/dto/form/EvaluateFormDTO.java | 37 ++++++ .../epmet/dto/form/InitEvaluationFormDTO.java | 27 +++++ .../com/epmet/dto/form/IssueIdFormDTO.java | 21 ++++ .../java/com/epmet/dto/form/VoteFormDTO.java | 32 ++++++ .../dto/result/InitEvaluationResultDTO.java | 27 +++++ .../com/epmet/dto/result/VoteResultDTO.java | 32 ++++++ .../dto/result/VotingTrendResultDTO.java | 44 +++++++ .../IssueSatisfactionDetailController.java | 24 ++++ .../controller/IssueVoteDetailController.java | 13 +++ .../IssueVoteStatisticalController.java | 27 +++++ .../epmet/dao/IssueSatisfactionDetailDao.java | 11 +- .../com/epmet/dao/IssueVoteDetailDao.java | 10 +- .../dao/IssueVoteStatisticalDailyDao.java | 2 +- .../epmet/dao/IssueVoteStatisticalDao.java | 38 ++++++- .../IssueSatisfactionDetailService.java | 17 +++ .../epmet/service/IssueVoteDetailService.java | 8 ++ .../service/IssueVoteStatisticalService.java | 19 ++++ .../IssueSatisfactionDetailServiceImpl.java | 47 ++++++++ .../impl/IssueVoteDetailServiceImpl.java | 22 ++++ .../impl/IssueVoteStatisticalServiceImpl.java | 44 +++++++ .../mapper/IssueSatisfactionDetailDao.xml | 12 ++ .../resources/mapper/IssueVoteDetailDao.xml | 11 ++ .../mapper/IssueVoteStatisticalDao.xml | 51 +++++++++ .../java/com/epmet/dto/EvaluateInfoDTO.java | 26 +++++ .../main/java/com/epmet/dto/PolyLineDTO.java | 22 +--- .../com/epmet/dto/form/EvaluateFormDTO.java | 37 ++++++ .../epmet/dto/form/InitEvaluationFormDTO.java | 27 +++++ .../com/epmet/dto/form/IssueIdFormDTO.java | 1 - .../java/com/epmet/dto/form/VoteFormDTO.java | 32 ++++++ .../dto/result/InitEvaluationResultDTO.java | 28 +++++ .../com/epmet/dto/result/VoteResultDTO.java | 32 ++++++ .../dto/result/VotingTrendResultDTO.java | 6 + .../com/epmet/controller/IssueController.java | 74 +++++++++++- .../com/epmet/feign/GovIssueFeignClient.java | 49 +++++++- .../fallback/GovIssueFeignClientFallBack.java | 31 ++++- .../java/com/epmet/service/IssueService.java | 51 +++++++++ .../epmet/service/impl/IssueServiceImpl.java | 107 +++++++++++++++--- 39 files changed, 1115 insertions(+), 42 deletions(-) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/EvaluateInfoDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/PolyLineDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluateFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/InitEvaluationFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueIdFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/VoteFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/InitEvaluationResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VotingTrendResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/EvaluateInfoDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/EvaluateFormDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/InitEvaluationFormDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/VoteFormDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/InitEvaluationResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/EvaluateInfoDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/EvaluateInfoDTO.java new file mode 100644 index 0000000000..6dd8446aef --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/EvaluateInfoDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 评价信息 + */ +@Data +public class EvaluateInfoDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/PolyLineDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/PolyLineDTO.java new file mode 100644 index 0000000000..975971e403 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/PolyLineDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 投票折线数据 + * @CreateTime 2020/5/11 9:36 + */ +@Data +public class PolyLineDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 投票日期 + */ + private Long voteDtae; + + /** + * 当日赞成票数量 + */ + private Integer supportIncrement; + + /** + * 当日反对票数量 + */ + private Integer oppositionIncrement; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluateFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluateFormDTO.java new file mode 100644 index 0000000000..541b1c6f58 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluateFormDTO.java @@ -0,0 +1,37 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 提交满意度评价 + */ +@Data +public class EvaluateFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String IssueId; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价内容 + */ + private String comment; + + /** + * 用户id + */ + private String userId; + + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/InitEvaluationFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/InitEvaluationFormDTO.java new file mode 100644 index 0000000000..c61af4f268 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/InitEvaluationFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价初始化 + */ +@Data +public class InitEvaluationFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String IssueId; + + /** + * 创建人 + */ + private String userId; + + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueIdFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueIdFormDTO.java new file mode 100644 index 0000000000..6b16e733ec --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueIdFormDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 议题Id + * @Author zxc + * @Date 2020/5/11 9:30 + */ +@Data +public class IssueIdFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214503489L; + + @NotBlank(message = "议题id不能为空") + private String issueId; + +} + diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/VoteFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/VoteFormDTO.java new file mode 100644 index 0000000000..126257e37d --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/VoteFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 表决中 支持、反对 投票 + */ +@Data +public class VoteFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 话题Id + */ + private String IssueId; + + /** + * 态度 - opposition(反对)support(赞成) + */ + private String attitude; + + /** + * 创建人 + */ + private String createdBy; + + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/InitEvaluationResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/InitEvaluationResultDTO.java new file mode 100644 index 0000000000..09d9f16635 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/InitEvaluationResultDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.result; + +import com.epmet.dto.EvaluateInfoDTO; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价初始化 + */ +@Data +public class InitEvaluationResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价状态:true已评价,false未评价 + */ + private Boolean status; + + /** + * 评价信息 + */ + private EvaluateInfoDTO evaluateInfo; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java new file mode 100644 index 0000000000..3d4db2594e --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 表决中议题详情——支持、反对数 + */ +@Data +public class VoteResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 表决状态:true已表决 false未表决 + */ + private Boolean voteFlag; + + /** + * 支持数量 + */ + private Integer supportCount; + + /** + * 反对数量 + */ + private Integer oppositionCount; + + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VotingTrendResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VotingTrendResultDTO.java new file mode 100644 index 0000000000..4718a4f2f0 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VotingTrendResultDTO.java @@ -0,0 +1,44 @@ +package com.epmet.dto.result; + +import com.epmet.dto.PolyLineDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * 议题表决折线图 + * @CreateTime 2020/5/11 9:36 + */ +@Data +public class VotingTrendResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 应表决数量 + */ + private Integer shouldVoteCount; + + /** + * 实际表决数量 + */ + private Integer realityVoteCount; + + /** + * 截至今日赞成票总数 + */ + private Integer supportAmount; + + /** + * 截至今日反对票总数 + */ + private Integer oppositionAmount; + + /** + * 投票折线数据 + */ + private List polyLine; + +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSatisfactionDetailController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSatisfactionDetailController.java index 8772539ab3..b899a287ca 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSatisfactionDetailController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSatisfactionDetailController.java @@ -26,6 +26,9 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.IssueSatisfactionDetailDTO; +import com.epmet.dto.form.EvaluateFormDTO; +import com.epmet.dto.form.InitEvaluationFormDTO; +import com.epmet.dto.result.InitEvaluationResultDTO; import com.epmet.excel.IssueSatisfactionDetailExcel; import com.epmet.service.IssueSatisfactionDetailService; import org.springframework.beans.factory.annotation.Autowired; @@ -91,4 +94,25 @@ public class IssueSatisfactionDetailController { ExcelUtils.exportExcelToTarget(response, null, list, IssueSatisfactionDetailExcel.class); } + /** + * @Description 满意度评价初始化 + * @param formDTO + * @author zxc + */ + @PostMapping("initevaluation") + public Result initEvaluation(@RequestBody InitEvaluationFormDTO formDTO){ + return new Result().ok(issueSatisfactionDetailService.initEvaluation(formDTO)); + } + + /** + * @Description 提交满意度评价 + * @param formDTO + * @author zxc + */ + @PostMapping("evaluate") + public Result evaluate(@RequestBody EvaluateFormDTO formDTO){ + issueSatisfactionDetailService.evaluate(formDTO); + return new Result(); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteDetailController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteDetailController.java index 981aacf50e..d7a6153418 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteDetailController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteDetailController.java @@ -17,6 +17,7 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; @@ -26,6 +27,7 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.IssueVoteDetailDTO; +import com.epmet.dto.form.VoteFormDTO; import com.epmet.excel.IssueVoteDetailExcel; import com.epmet.service.IssueVoteDetailService; import org.springframework.beans.factory.annotation.Autowired; @@ -91,4 +93,15 @@ public class IssueVoteDetailController { ExcelUtils.exportExcelToTarget(response, null, list, IssueVoteDetailExcel.class); } + /** + * @Description 表决中 反对、支持 投票 + * @param formDTO + * @author zxc + */ + @PostMapping("vote") + public Result vote(@RequestBody VoteFormDTO formDTO){ + issueVoteDetailService.vote(formDTO); + return new Result(); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteStatisticalController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteStatisticalController.java index ab98b72498..a1d69e59d9 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteStatisticalController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteStatisticalController.java @@ -17,7 +17,9 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; @@ -26,6 +28,9 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.IssueVoteStatisticalDTO; +import com.epmet.dto.form.IssueIdFormDTO; +import com.epmet.dto.result.VoteResultDTO; +import com.epmet.dto.result.VotingTrendResultDTO; import com.epmet.excel.IssueVoteStatisticalExcel; import com.epmet.service.IssueVoteStatisticalService; import org.springframework.beans.factory.annotation.Autowired; @@ -91,4 +96,26 @@ public class IssueVoteStatisticalController { ExcelUtils.exportExcelToTarget(response, null, list, IssueVoteStatisticalExcel.class); } + /** + * @Description 表决中议题详情——支持、反对数 + * @param tokenDto + * @param formDTO + * @author zxc + */ + @PostMapping("votecount") + public Result voteCount(@LoginUser TokenDto tokenDto, @RequestBody IssueIdFormDTO formDTO){ + return new Result().ok(issueVoteStatisticalService.voteCount(tokenDto,formDTO)); + } + + + /** + * @Description 议题表决折线图 + * @param formDTO + * @author zxc + */ + @PostMapping("votingtrend") + public Result votingTrend(@RequestBody IssueIdFormDTO formDTO){ + return new Result().ok(issueVoteStatisticalService.votingTrend(formDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSatisfactionDetailDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSatisfactionDetailDao.java index 01727f507a..0c29b55ace 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSatisfactionDetailDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSatisfactionDetailDao.java @@ -18,6 +18,8 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.EvaluateInfoDTO; +import com.epmet.dto.form.InitEvaluationFormDTO; import com.epmet.entity.IssueSatisfactionDetailEntity; import org.apache.ibatis.annotations.Mapper; @@ -29,5 +31,12 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IssueSatisfactionDetailDao extends BaseDao { - + + /** + * @Description 满意度评价初始化 + * @param formDTO + * @author zxc + */ + EvaluateInfoDTO checkSatisfaction(InitEvaluationFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java index f8a41e3747..1b0b35cd83 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.VoteFormDTO; import com.epmet.entity.IssueVoteDetailEntity; import org.apache.ibatis.annotations.Mapper; @@ -29,5 +30,12 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IssueVoteDetailDao extends BaseDao { - + + /** + * @Description 支持、反对校验 + * @param formDTO + * @author zxc + */ + Integer checkoutVote(VoteFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDailyDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDailyDao.java index e09695b2b8..06cfea984f 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDailyDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDailyDao.java @@ -29,5 +29,5 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IssueVoteStatisticalDailyDao extends BaseDao { - + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDao.java index 7f833487d8..f6aa7956ee 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDao.java @@ -18,8 +18,15 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.PolyLineDTO; +import com.epmet.dto.form.IssueIdFormDTO; +import com.epmet.dto.result.VoteResultDTO; +import com.epmet.dto.result.VotingTrendResultDTO; import com.epmet.entity.IssueVoteStatisticalEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 议题表决统计表 @@ -29,5 +36,34 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IssueVoteStatisticalDao extends BaseDao { - + + /** + * @Description 表决中议题详情——支持、反对数 + * @param issueId + * @author zxc + */ + VoteResultDTO voteCount(IssueIdFormDTO issueId); + + /** + * @Description 校验是否投票(表决中详情——支持、反对) + * @param issueId + * @param userId + * @author zxc + */ + Integer checkVote(@Param("issueId")String issueId,@Param("userId")String userId); + + /** + * @Description 议题表决折线图 + * @param issueId + * @author zxc + */ + VotingTrendResultDTO votingTrend(IssueIdFormDTO issueId); + + /** + * @Description 获取折线每天的支持、反对数量 + * @param issueId + * @author zxc + */ + List polyLineData(IssueIdFormDTO issueId); + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSatisfactionDetailService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSatisfactionDetailService.java index ab47a3797a..1abbd939af 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSatisfactionDetailService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSatisfactionDetailService.java @@ -20,6 +20,9 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IssueSatisfactionDetailDTO; +import com.epmet.dto.form.EvaluateFormDTO; +import com.epmet.dto.form.InitEvaluationFormDTO; +import com.epmet.dto.result.InitEvaluationResultDTO; import com.epmet.entity.IssueSatisfactionDetailEntity; import java.util.List; @@ -92,4 +95,18 @@ public interface IssueSatisfactionDetailService extends BaseService page(Map params) { @@ -101,4 +108,41 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl polyLineDTOS = issueVoteStatisticalDao.polyLineData(issueId); + votingTrendResultDTO.setPolyLine(polyLineDTOS); + } + return votingTrendResultDTO; + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSatisfactionDetailDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSatisfactionDetailDao.xml index 86f0a14d13..576f6b859d 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSatisfactionDetailDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSatisfactionDetailDao.xml @@ -16,5 +16,17 @@ + + \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml index 93a382ef60..6e6166601b 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml @@ -15,5 +15,16 @@ + + \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml index d34f9eb2ae..5fe5c88507 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml @@ -17,5 +17,56 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/EvaluateInfoDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/EvaluateInfoDTO.java new file mode 100644 index 0000000000..6dd8446aef --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/EvaluateInfoDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 评价信息 + */ +@Data +public class EvaluateInfoDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/PolyLineDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/PolyLineDTO.java index b4fee06837..838dfbad15 100644 --- a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/PolyLineDTO.java +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/PolyLineDTO.java @@ -16,28 +16,18 @@ public class PolyLineDTO implements Serializable { private static final long serialVersionUID = 1L; /** - * 话题id + * 投票日期 */ - private String topicId; + private Long voteDtae; /** - * 话题内容 + * 当日赞成票数量 */ - private String topicContent; + private Integer supportIncrement; /** - * 图片列表 + * 当日反对票数量 */ - private List topicImgs; - - /** - * 话题发表人(山东路168-尹女士) - */ - private String publishedUser; - - /** - * 话题发表时间 (时间戳 毫秒级) - */ - private Long publishedTime; + private Integer oppositionIncrement; } diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/EvaluateFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/EvaluateFormDTO.java new file mode 100644 index 0000000000..4f3b88f227 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/EvaluateFormDTO.java @@ -0,0 +1,37 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 提交满意度评价 + */ +@Data +public class EvaluateFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String IssueId; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价内容 + */ + private String comment; + + /** + * 用户ID + */ + private String userId; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/InitEvaluationFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/InitEvaluationFormDTO.java new file mode 100644 index 0000000000..c61af4f268 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/InitEvaluationFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价初始化 + */ +@Data +public class InitEvaluationFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String IssueId; + + /** + * 创建人 + */ + private String userId; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/IssueIdFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/IssueIdFormDTO.java index 6b16e733ec..9fe2c9f69c 100644 --- a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/IssueIdFormDTO.java +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/IssueIdFormDTO.java @@ -8,7 +8,6 @@ import java.io.Serializable; /** * @Description 议题Id * @Author zxc - * @Date 2020/5/11 9:30 */ @Data public class IssueIdFormDTO implements Serializable { diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/VoteFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/VoteFormDTO.java new file mode 100644 index 0000000000..6bde30f08b --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/VoteFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 表决中 支持、反对 投票 + */ +@Data +public class VoteFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String IssueId; + + /** + * 态度 - opposition(反对)support(赞成) + */ + private String attitude; + + /** + * 创建人 + */ + private String createdBy; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/InitEvaluationResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/InitEvaluationResultDTO.java new file mode 100644 index 0000000000..57fece2b4d --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/InitEvaluationResultDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.result; + +import com.epmet.dto.EvaluateInfoDTO; +import com.sun.org.apache.xpath.internal.operations.Bool; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价初始化 + */ +@Data +public class InitEvaluationResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价状态:true已评价,false未评价 + */ + private Boolean status; + + /** + * 评价信息 + */ + private EvaluateInfoDTO evaluateInfo; + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java new file mode 100644 index 0000000000..3d4db2594e --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 表决中议题详情——支持、反对数 + */ +@Data +public class VoteResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 表决状态:true已表决 false未表决 + */ + private Boolean voteFlag; + + /** + * 支持数量 + */ + private Integer supportCount; + + /** + * 反对数量 + */ + private Integer oppositionCount; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VotingTrendResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VotingTrendResultDTO.java index b92e466fce..4718a4f2f0 100644 --- a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VotingTrendResultDTO.java +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VotingTrendResultDTO.java @@ -1,8 +1,10 @@ package com.epmet.dto.result; +import com.epmet.dto.PolyLineDTO; import lombok.Data; import java.io.Serializable; +import java.util.List; /** * @Author zxc @@ -34,5 +36,9 @@ public class VotingTrendResultDTO implements Serializable { */ private Integer oppositionAmount; + /** + * 投票折线数据 + */ + private List polyLine; } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java index 48d63f37c9..508694bfea 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java @@ -1,10 +1,17 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.enums.RequirePermissionEnum; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.EvaluateFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.form.IssueIdFormDTO; +import com.epmet.dto.result.InitEvaluationResultDTO; import com.epmet.dto.result.IssueDetailResultDTO; +import com.epmet.dto.result.VoteResultDTO; +import com.epmet.dto.result.VotingTrendResultDTO; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -36,10 +43,69 @@ public class IssueController { return new Result().ok(issueService.detail(issueDetail)); } - /*@PostMapping(value = "votingtrend") - public Result<> votingTrend(){ - return - }*/ + /** + * @Description 议题表决折线图 + * @param formDTO + * @author zxc + */ + @PostMapping(value = "votingtrend") + public Result votingTrend(@RequestBody IssueIdFormDTO formDTO){ + return new Result().ok(issueService.votingTrend(formDTO)); + } + + /** + * @Description 支持议题 + * @param formDTO + * @author zxc + */ + @PostMapping(value = "support") + public Result support(@LoginUser TokenDto tokenDto, @RequestBody IssueIdFormDTO formDTO){ + issueService.support(tokenDto,formDTO); + return new Result(); + } + + /** + * @Description 反对议题 + * @param formDTO + * @author zxc + */ + @PostMapping(value = "oppose") + public Result oppose(@LoginUser TokenDto tokenDto,@RequestBody IssueIdFormDTO formDTO){ + issueService.oppose(tokenDto,formDTO); + return new Result(); + } + + /** + * @Description 表决中议题详情——支持、反对数 + * @param formDTO + * @author zxc + */ + @PostMapping(value = "vote") + public Result vote(@RequestBody IssueIdFormDTO formDTO){ + return new Result().ok(issueService.vote(formDTO)); + } + + /** + * @Description 满意度评价初始化 + * @param tokenDto + * @param issueId + * @author zxc + */ + @PostMapping("initevaluation") + public Result initEvaluation(@LoginUser TokenDto tokenDto, @RequestBody IssueIdFormDTO issueId){ + return new Result().ok(issueService.initEvaluation(tokenDto,issueId)); + } + + /** + * @Description 提交满意度评价 + * @param formDTO + * @author zxc + */ + @PostMapping("evaluate") + public Result evaluate(@LoginUser TokenDto tokenDto,@RequestBody EvaluateFormDTO formDTO){ + issueService.evaluate(tokenDto,formDTO); + return new Result(); + } } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java index 972dad25ff..c4103e74dc 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java @@ -1,9 +1,14 @@ package com.epmet.feign; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.InitEvaluationResultDTO; import com.epmet.dto.result.IssueResultDTO; +import com.epmet.dto.result.VoteResultDTO; +import com.epmet.dto.result.VotingTrendResultDTO; import com.epmet.feign.fallback.GovIssueFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -22,8 +27,48 @@ public interface GovIssueFeignClient { * @Description 议题详情 * @param issueDetail * @author zxc - * @date 2020/5/11 16:50 */ @PostMapping("/gov/issue/issue/issuedetail") Result issueDetail(@RequestBody IssueDetailFormDTO issueDetail); + + /** + * @Description 表决中议题详情——支持、反对数 + * @param issueId + * @author zxc + */ + @PostMapping("/gov/issue/issuevotestatistical/votecount") + Result voteCount(@RequestBody IssueIdFormDTO issueId); + + /** + * @Description 议题表决折线图 + * @param issueId + * @author zxc + */ + @PostMapping("/gov/issue/issuevotestatistical/votingtrend") + Result votingTrend(@RequestBody IssueIdFormDTO issueId); + + /** + * @Description 表决中的 支持、反对 投票 + * @param issueId + * @author zxc + */ + @PostMapping("/gov/issue/issuevotedetail/vote") + Result vote(@RequestBody VoteFormDTO issueId); + + /** + * @Description 满意度评价初始化 + * @param formDTO + * @author zxc + */ + @PostMapping("/gov/issue/issuesatisfactiondetail/initevaluation") + Result initEvaluation(@RequestBody InitEvaluationFormDTO formDTO); + + /** + * @Description 提交满意度评价 + * @param formDTO + * @author zxc + */ + @PostMapping("/gov/issue/issuesatisfactiondetail/evaluate") + Result evaluate(@RequestBody EvaluateFormDTO formDTO); + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java index 62d2ceb77b..c464a6f5a3 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java @@ -1,10 +1,14 @@ package com.epmet.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.InitEvaluationResultDTO; import com.epmet.dto.result.IssueResultDTO; +import com.epmet.dto.result.VoteResultDTO; +import com.epmet.dto.result.VotingTrendResultDTO; import com.epmet.feign.GovIssueFeignClient; import org.springframework.stereotype.Component; @@ -19,4 +23,29 @@ public class GovIssueFeignClientFallBack implements GovIssueFeignClient { public Result issueDetail(IssueDetailFormDTO issueDetail) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "issueDetail", issueDetail); } + + @Override + public Result voteCount(IssueIdFormDTO issueId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "voteCount", issueId); + } + + @Override + public Result votingTrend(IssueIdFormDTO issueId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "votingTrend", issueId); + } + + @Override + public Result vote(VoteFormDTO voteFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "vote", voteFormDTO); + } + + @Override + public Result initEvaluation(InitEvaluationFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "initEvaluation", formDTO); + } + + @Override + public Result evaluate(EvaluateFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "evaluate", formDTO); + } } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java index 999fb46355..20eace94e3 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java @@ -1,7 +1,14 @@ package com.epmet.service; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dto.form.EvaluateFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.form.IssueIdFormDTO; +import com.epmet.dto.result.InitEvaluationResultDTO; import com.epmet.dto.result.IssueDetailResultDTO; +import com.epmet.dto.result.VoteResultDTO; +import com.epmet.dto.result.VotingTrendResultDTO; +import org.springframework.web.bind.annotation.RequestBody; /** * @Author zxc @@ -17,4 +24,48 @@ public interface IssueService { */ IssueDetailResultDTO detail(IssueDetailFormDTO issueDetail); + /** + * @Description 议题表决折线图 + * @param issueId + * @author zxc + * @date 2020/5/12 8:48 + */ + VotingTrendResultDTO votingTrend(IssueIdFormDTO issueId); + + /** + * @Description 支持议题 + * @param issueId + * @author zxc + */ + void support(TokenDto tokenDto,IssueIdFormDTO issueId); + + /** + * @Description 反对议题 + * @param issueId + * @author zxc + */ + void oppose(TokenDto tokenDto,IssueIdFormDTO issueId); + + /** + * @Description 表决中议题详情——支持、反对数 + * @param issueId + * @author zxc + */ + VoteResultDTO vote(IssueIdFormDTO issueId); + + /** + * @Description 满意度评价初始化 + * @param tokenDto + * @param issueId + * @author zxc + */ + InitEvaluationResultDTO initEvaluation(TokenDto tokenDto, IssueIdFormDTO issueId); + + /** + * @Description 提交满意度评价 + * @param evaluateFormDTO + * @author zxc + */ + void evaluate(TokenDto tokenDto,EvaluateFormDTO evaluateFormDTO); + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index b27ed53daf..2f520351cf 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -1,20 +1,16 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.TopicInfoDTO; -import com.epmet.dto.form.BelongGridNameFormDTO; -import com.epmet.dto.form.IssueDetailFormDTO; -import com.epmet.dto.form.IssueInitiatorFormDTO; -import com.epmet.dto.form.TopicInfoFormDTO; -import com.epmet.dto.result.BelongGridNameResultDTO; -import com.epmet.dto.result.IssueDetailResultDTO; -import com.epmet.dto.result.IssueInitiatorResultDTO; -import com.epmet.dto.result.IssueResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.GovIssueFeignClient; import com.epmet.feign.GovOrgFeignClient; import com.epmet.feign.ResiGroupFeignClient; import com.epmet.service.IssueService; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -54,18 +50,101 @@ public class IssueServiceImpl implements IssueService { //话题发起人 IssueInitiatorFormDTO initiatorFormDTO = new IssueInitiatorFormDTO(); initiatorFormDTO.setUserId(issueResult.getUserId()); - Result initiatorResult = userFeignClient.selectIssueInitiator(initiatorFormDTO); - issueDetailResult.setIssueInitiator(initiatorResult.getData().getIssueInitiator()); + if (!StringUtils.isBlank(issueResult.getUserId())) { + Result initiatorResult = userFeignClient.selectIssueInitiator(initiatorFormDTO); + issueDetailResult.setIssueInitiator(initiatorResult.getData().getIssueInitiator()); + } //网格名称 BelongGridNameFormDTO belongGridName = new BelongGridNameFormDTO(); belongGridName.setGridId(issueResult.getGridId()); - Result belongGridNameResult = govOrgFeignClient.getGridNameByGridId(belongGridName); - issueDetailResult.setBelongsGridName(belongGridNameResult.getData().getBelongsGridName()); + if (!StringUtils.isBlank(issueResult.getGridId())) { + Result belongGridNameResult = govOrgFeignClient.getGridNameByGridId(belongGridName); + issueDetailResult.setBelongsGridName(belongGridNameResult.getData().getBelongsGridName()); + } //话题信息 TopicInfoFormDTO topicInfoFormDTO = new TopicInfoFormDTO(); topicInfoFormDTO.setTopicId(issueResult.getTopicId()); - Result topicInfoDTOResult = resiGroupFeignClient.selectDetail(topicInfoFormDTO); - issueDetailResult.setTopicInfo(topicInfoDTOResult.getData()); + if (!StringUtils.isBlank(issueResult.getTopicId())) { + Result topicInfoDTOResult = resiGroupFeignClient.selectDetail(topicInfoFormDTO); + issueDetailResult.setTopicInfo(topicInfoDTOResult.getData()); + } return issueDetailResult; } + + /** + * @Description 议题表决折线图 + * @param issueId + * @author zxc + * @date 2020/5/12 8:49 + */ + @Override + public VotingTrendResultDTO votingTrend(IssueIdFormDTO issueId) { + Result votingTrendResultDTOResult = govIssueFeignClient.votingTrend(issueId); + return votingTrendResultDTOResult.getData(); + } + + /** + * @Description 支持议题 + * @param issueId + * @author zxc + */ + @Override + public void support(TokenDto tokenDto,IssueIdFormDTO issueId) { + VoteFormDTO voteFormDTO = new VoteFormDTO(); + voteFormDTO.setAttitude("support"); + voteFormDTO.setCreatedBy(tokenDto.getUserId()); + voteFormDTO.setIssueId(issueId.getIssueId()); + govIssueFeignClient.vote(voteFormDTO); + } + + /** + * @Description 反对议题 + * @param issueId + * @author zxc + */ + @Override + public void oppose(TokenDto tokenDto,IssueIdFormDTO issueId) { + VoteFormDTO voteFormDTO = new VoteFormDTO(); + voteFormDTO.setAttitude("opposition"); + voteFormDTO.setCreatedBy(tokenDto.getUserId()); + voteFormDTO.setIssueId(issueId.getIssueId()); + govIssueFeignClient.vote(voteFormDTO); + } + + /** + * @Description 表决中议题详情——支持、反对数 + * @param issueId + * @author zxc + */ + @Override + public VoteResultDTO vote(IssueIdFormDTO issueId) { + Result voteResultDTOResult = govIssueFeignClient.voteCount(issueId); + return voteResultDTOResult.getData(); + } + + /** + * @Description 满意度评价初始化 + * @param tokenDto + * @param issueId + * @author zxc + */ + @Override + public InitEvaluationResultDTO initEvaluation(TokenDto tokenDto, IssueIdFormDTO issueId) { + InitEvaluationFormDTO formDTO = new InitEvaluationFormDTO(); + formDTO.setIssueId(issueId.getIssueId()); + formDTO.setUserId(tokenDto.getUserId()); + Result initEvaluationResult = govIssueFeignClient.initEvaluation(formDTO); + return initEvaluationResult.getData(); + } + + /** + * @Description 提交满意度评价 + * @param evaluateFormDTO + * @author zxc + */ + @Override + public void evaluate(TokenDto tokenDto,EvaluateFormDTO evaluateFormDTO) { + evaluateFormDTO.setUserId(tokenDto.getUserId()); + govIssueFeignClient.evaluate(evaluateFormDTO); + } } From e7ace76d26b5f64982d6450069794b05585c6584 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 13 May 2020 09:04:54 +0800 Subject: [PATCH 12/22] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B7=9F=E8=B8=AA-?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=BB=A1=E6=84=8F=E5=BA=A6=E8=AF=84=E4=BB=B7?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/EvaluationListFormDTO.java | 31 +++++++++ .../dto/result/EvaluationListResultDTO.java | 65 +++++++++++++++++++ .../gov-project/gov-project-server/pom.xml | 6 ++ .../com/epmet/constant/ProjectConstant.java | 5 ++ .../controller/ProjectTraceController.java | 18 ++++- .../dao/ProjectSatisfactionDetailDao.java | 13 +++- .../com/epmet/feign/EpmetUserFeignClient.java | 17 ++++- .../EpmetUserFeignClientFallBack.java | 11 ++++ .../ProjectSatisfactionDetailService.java | 10 +++ .../ProjectSatisfactionDetailServiceImpl.java | 48 +++++++++++++- .../mapper/ProjectSatisfactionDetailDao.xml | 14 ++++ 11 files changed, 233 insertions(+), 5 deletions(-) create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java new file mode 100644 index 0000000000..57f5fbb8ee --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 项目跟踪-项目满意度评价列表-接口入参 + * @Author sun + */ +@Data +public class EvaluationListFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + + @NotBlank(message = "项目Id不能为空") + private String projectId; + + /** + * 请求页码 + * */ + @Min(1) + private int pageNo; + + /** + * 每页多少条数据 + * */ + private int pageSize = 20; +} + diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java new file mode 100644 index 0000000000..0a9dd49d82 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java @@ -0,0 +1,65 @@ +/** + * 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 EvaluationListResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 评价用户id + */ + private String userId = ""; + + /** + * 评论人员全称(街道-姓氏先生/女士) + */ + private String userNickName = ""; + + /** + * 满意程度(不满意:bad、基本满意:good、非常满意:perfect) + */ + private String satisfaction = ""; + + /** + * 评价时间 + */ + private Long evaluateTime; + + /** + * 评价内容 + */ + private String evaluateContent = ""; + + /** + * 头像 + */ + private String userHeadPhoto = ""; + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index 7fa15bd39f..ef9a20e890 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -66,6 +66,12 @@ 2.0.0 compile + + com.epmet + epmet-user-client + 2.0.0 + compile + diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java index e9b81ef0f9..1c2b314f41 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -68,4 +68,9 @@ public interface ProjectConstant { * 是否处理-已处理 */ String HANDLE = "handle"; + + /** + * 调用epmet-user服务查询数据失败 + */ + String SELECT_USERINFO_EXCEPTION = "获取用户昵称、头像失败"; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index b862ba1085..9f2e75ed7f 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -9,6 +9,7 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.service.ProjectProcessService; +import com.epmet.service.ProjectSatisfactionDetailService; import com.epmet.service.ProjectTraceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -33,6 +34,9 @@ public class ProjectTraceController { @Autowired private ProjectProcessService projectProcessService; + @Autowired + private ProjectSatisfactionDetailService projectSatisfactionDetailService; + /** * 待处理项目列表 * @@ -137,7 +141,6 @@ public class ProjectTraceController { return new Result(); } - /** * @param formDTO * @return @@ -150,5 +153,18 @@ public class ProjectTraceController { ValidatorUtils.validateEntity(formDTO); return new Result>().ok(projectProcessService.progressList(formDTO)); } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 项目跟踪-项目满意度评价列表 + **/ + @PostMapping("evaluationlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL) + public Result> evaluationList(@LoginUser TokenDto tokenDTO, @RequestBody EvaluationListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result>().ok(projectSatisfactionDetailService.evaluationList(formDTO)); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java index aacb3e4d87..514c7060b1 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java @@ -18,8 +18,12 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.entity.ProjectSatisfactionDetailEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 项目满意度调查记录表 @@ -29,5 +33,12 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ProjectSatisfactionDetailDao extends BaseDao { - + + /** + * @param projectId + * @return + * @Author sun + * @Description 根据项目Id查询项目评价列表数据 + **/ + List getEvaluationListByProjectId(@Param("projectId") String projectId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index cc2404269e..11f0f28937 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -1,8 +1,15 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.fallback.EpmetUserFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; /** * @Description 调用epmet-user服务 @@ -11,6 +18,12 @@ import org.springframework.cloud.openfeign.FeignClient; @FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class) public interface EpmetUserFeignClient { - - + /** + * @param userResiInfoListFormDTO + * @return com.epmet.commons.tools.utils.Result> + * @Author sun + * @Description 根据userId集合查询用户信息 + **/ + @PostMapping("/epmetuser/userresiinfo/getuserresiinfolist") + Result> getUserResiInfoList(@RequestBody UserResiInfoListFormDTO userResiInfoListFormDTO); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java index cfb62dcabf..88e9590eaf 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java @@ -1,8 +1,15 @@ package com.epmet.feign.fallback; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.EpmetUserFeignClient; import org.springframework.stereotype.Component; +import java.util.List; + /** * @Description 调用epmet-user服务 * @Author sun @@ -10,4 +17,8 @@ import org.springframework.stereotype.Component; @Component public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { + @Override + public Result> getUserResiInfoList(UserResiInfoListFormDTO userResiInfoListFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResiInfoList", userResiInfoListFormDTO); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java index a1fef8ff1c..94decfd804 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java @@ -20,6 +20,8 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ProjectSatisfactionDetailDTO; +import com.epmet.dto.form.EvaluationListFormDTO; +import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.entity.ProjectSatisfactionDetailEntity; import java.util.List; @@ -92,4 +94,12 @@ public interface ProjectSatisfactionDetailService extends BaseService evaluationList(EvaluationListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java index 8a0e4705a8..7ad9452c05 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java @@ -20,12 +20,20 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.constant.ProjectConstant; import com.epmet.dao.ProjectSatisfactionDetailDao; import com.epmet.dto.ProjectSatisfactionDetailDTO; +import com.epmet.dto.form.EvaluationListFormDTO; +import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.EvaluationListResultDTO; +import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.entity.ProjectSatisfactionDetailEntity; +import com.epmet.feign.EpmetUserFeignClient; import com.epmet.redis.ProjectSatisfactionDetailRedis; import com.epmet.service.ProjectSatisfactionDetailService; import org.apache.commons.lang3.StringUtils; @@ -33,9 +41,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 项目满意度调查记录表 @@ -48,6 +58,8 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl page(Map params) { @@ -101,4 +113,38 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl evaluationList(EvaluationListFormDTO formDTO) { + //1:根据项目Id查询项目评价列表,按时间倒序 + List evaluationList = baseDao.getEvaluationListByProjectId(formDTO.getProjectId()); + if (null == evaluationList || evaluationList.size() < NumConstant.ONE) { + return new ArrayList<>(); + } + //2:调用epmet-user服务 获取用户头像 昵称 + //2.1:遍历获取所有的userId + List userIds = evaluationList.stream().map(EvaluationListResultDTO::getUserId).collect(Collectors.toList()); + //2.2:获取所有用户的头像 昵称 + UserResiInfoListFormDTO userResiInfoListFormDTO = new UserResiInfoListFormDTO(); + userResiInfoListFormDTO.setUserIdList(userIds); + List userResiInfoList = epmetUserFeignClient.getUserResiInfoList(userResiInfoListFormDTO).getData(); + if (null == userResiInfoList || userResiInfoList.size() < NumConstant.ONE) { + throw new RenException(ProjectConstant.SELECT_USERINFO_EXCEPTION); + } + //3:将每个用户的头像 昵称放到对应实体中返回给前台 + List resultList = evaluationList.stream().flatMap(evaluation -> userResiInfoList.stream().filter(user -> + evaluation.getUserId().equals(user.getUserId())).map(userInfo -> { + EvaluationListResultDTO resultDTO = ConvertUtils.sourceToTarget(evaluation, EvaluationListResultDTO.class); + resultDTO.setUserNickName(null == userInfo.getShowName() ? "" : userInfo.getShowName()); + resultDTO.setUserHeadPhoto(null == userInfo.getHeadPhoto() ? "" : userInfo.getHeadPhoto()); + return resultDTO; + })).collect(Collectors.toList()); + return resultList; + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml index a644923a30..e2ddbd3417 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml @@ -16,5 +16,19 @@ + + \ No newline at end of file From 66295e450fcb2d9699e3aed60b73c43732e24c09 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 13 May 2020 15:19:42 +0800 Subject: [PATCH 13/22] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E3=80=81=E9=A1=B9=E7=9B=AE=E8=B7=9F=E8=B8=AA-=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E4=BA=BA=E5=91=98=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/IssueManageController.java | 15 ++ .../com/epmet/feign/GovOrgFeignClient.java | 11 ++ .../fallback/GovOrgFeignClientFallBack.java | 7 + .../java/com/epmet/service/IssueService.java | 9 ++ .../epmet/service/impl/IssueServiceImpl.java | 15 ++ .../dto/form/DepartmentStaffListFormDTO.java | 20 +++ .../result/CustomerStaffListResultDTO.java | 45 ++++++ .../result/CustomerStaffRoleResultDTO.java | 48 ++++++ .../result/DepartmentStaffListResultDTO.java | 51 ++++++ .../epmet/dto/result/DeptListResultDTO.java | 49 ++++++ .../epmet/dto/result/GridListResultDTO.java | 49 ++++++ .../epmet/dto/result/StaffListResultDTO.java | 36 +++++ .../constant/CustomerAgencyConstant.java | 13 ++ .../controller/CustomerAgencyController.java | 12 ++ .../java/com/epmet/dao/CustomerGridDao.java | 11 +- .../com/epmet/dao/CustomerStaffAgencyDao.java | 7 + .../epmet/dao/CustomerStaffDepartmentDao.java | 8 + .../com/epmet/dao/CustomerStaffGridDao.java | 8 + .../com/epmet/feign/EpmetUserFeignClient.java | 10 ++ .../EpmetUserFeignClientFallBack.java | 5 + .../epmet/service/CustomerAgencyService.java | 9 ++ .../impl/CustomerAgencyServiceImpl.java | 149 ++++++++++++++++-- .../main/resources/mapper/CustomerGridDao.xml | 10 ++ .../mapper/CustomerStaffAgencyDao.xml | 10 +- .../mapper/CustomerStaffDepartmentDao.xml | 14 ++ .../resources/mapper/CustomerStaffGridDao.xml | 14 ++ .../gov-project/gov-project-server/pom.xml | 6 + .../controller/ProjectTraceController.java | 17 ++ .../com/epmet/feign/GovOrgFeignClient.java | 12 ++ .../fallback/GovOrgFeignClientFallBack.java | 8 + .../epmet/service/ProjectStaffService.java | 10 ++ .../service/impl/ProjectStaffServiceImpl.java | 15 +- .../controller/CustomerStaffController.java | 11 ++ .../java/com/epmet/dao/CustomerStaffDao.java | 9 ++ .../main/java/com/epmet/dao/StaffRoleDao.java | 9 ++ .../epmet/service/CustomerStaffService.java | 8 + .../impl/CustomerStaffServiceImpl.java | 21 +++ .../resources/mapper/CustomerStaffDao.xml | 16 ++ .../main/resources/mapper/StaffRoleDao.xml | 17 ++ 39 files changed, 781 insertions(+), 13 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffListResultDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffRoleResultDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DepartmentStaffListResultDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DeptListResultDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridListResultDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java index 6ad967cdca..9738c4272d 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java @@ -7,6 +7,8 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.CloseIssueFormDTO; +import com.epmet.dto.form.DepartmentStaffListFormDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -39,5 +41,18 @@ public class IssueManageController { issueService.closeIssue(formDTO); return new Result(); } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-部门人员选择 + **/ + @PostMapping("departmentstafflist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT) + public Result departmentStaffList(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentStaffListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result().ok(issueService.departmentStaffList(formDTO)); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index 9cd829abe4..448afc2e58 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -5,8 +5,10 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.form.CustomerGridFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.feign.fallback.GovOrgFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; /** @@ -24,4 +26,13 @@ public interface GovOrgFeignClient { **/ @PostMapping("/gov/org/customergrid/getcustomergridbygridid") Result getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO); + + /** + * @param agencyId + * @return + * @Author sun + * @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息 + **/ + @PostMapping(value = "/gov/org/customeragency/departmentstafflist/{agencyId}") + Result departmentStaffList(@PathVariable("agencyId") String agencyId); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index 8aec17593a..336832326b 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -4,6 +4,7 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.result.AgencyGridResultDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.feign.GovOrgFeignClient; import org.springframework.stereotype.Component; @@ -13,8 +14,14 @@ import org.springframework.stereotype.Component; */ @Component public class GovOrgFeignClientFallBack implements GovOrgFeignClient { + @Override public Result getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getagencyandgrid", agencyGridResultDTO); } + + @Override + public Result departmentStaffList(String agencyId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java index ab38c329c5..a7d58e66e9 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java @@ -2,7 +2,9 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.dto.form.CloseIssueFormDTO; +import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.entity.IssueEntity; @@ -28,4 +30,11 @@ public interface IssueService extends BaseService { **/ void closeIssue(CloseIssueFormDTO formDTO); + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-部门人员选择 + **/ + DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 536a12307e..64d9759f67 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -11,9 +11,11 @@ import com.epmet.constant.UserMessageConstant; import com.epmet.dao.IssueDao; import com.epmet.dao.IssueProcessDao; import com.epmet.dto.form.CloseIssueFormDTO; +import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.entity.IssueEntity; import com.epmet.entity.IssueProcessEntity; @@ -136,4 +138,17 @@ public class IssueServiceImpl extends BaseServiceImpl imp msgList.add(msgDTO); return messageFeignClient.saveUserMessageList(msgList); } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-部门人员选择 + **/ + @Override + public DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO) { + //1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息 + Result resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId()); + return resultDTOResult.getData(); + } } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java new file mode 100644 index 0000000000..4542a587db --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 项目跟踪-部门人员选择-接口入参 + * @Author sun + */ +@Data +public class DepartmentStaffListFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + + @NotBlank(message = "机关组织Id不能为空") + private String agencyId; + +} + diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffListResultDTO.java new file mode 100644 index 0000000000..4ca73628f7 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffListResultDTO.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; +import java.util.List; + + +/** + * 工作人员信息及角色 + * + * @author sun + */ +@Data +public class CustomerStaffListResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 工作人员信息集合 + */ + private List staffList; + /** + * 工作人员角色集合 + */ + private List roleList; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffRoleResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffRoleResultDTO.java new file mode 100644 index 0000000000..f54628f303 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffRoleResultDTO.java @@ -0,0 +1,48 @@ +/** + * 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 CustomerStaffRoleResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 工作人员Id + */ + private String staffId = ""; + /** + * 人员角色Key + */ + private String roleKey = ""; + /** + * 人员角色名称 + */ + private String roleName = ""; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DepartmentStaffListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DepartmentStaffListResultDTO.java new file mode 100644 index 0000000000..6f706566c3 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DepartmentStaffListResultDTO.java @@ -0,0 +1,51 @@ +/** + * 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; +import java.util.List; + + +/** + * 项目跟踪-部门人员选择-接口返参 + * + * @author sun + */ +@Data +public class DepartmentStaffListResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 组织下工作人员信息 + */ + private List agencyStaffList; + + /** + * 部门人员选择-组织下部门及人员列表 + */ + private List departmentList; + + /** + * 部门人员选择-组织下网格及人员列表 + */ + private List gridList; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DeptListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DeptListResultDTO.java new file mode 100644 index 0000000000..480b6ac408 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DeptListResultDTO.java @@ -0,0 +1,49 @@ +/** + * 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; +import java.util.List; + + +/** + * 部门人员选择-组织下部门及人员列表 + * + * @author sun + */ +@Data +public class DeptListResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 部门Id + */ + private String departmentId; + /** + * 部门名称 + */ + private String departmentName; + /** + * 部门下人员集合 + */ + private List departmentStaffList; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridListResultDTO.java new file mode 100644 index 0000000000..49be734771 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridListResultDTO.java @@ -0,0 +1,49 @@ +/** + * 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; +import java.util.List; + + +/** + * 部门人员选择-组织下网格及人员列表 + * + * @author sun + */ +@Data +public class GridListResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 网格Id + */ + private String gridId; + /** + * 网格名称 + */ + private String gridName; + /** + * 网格下工作人员集合 + */ + private List gridStaffList; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java new file mode 100644 index 0000000000..27ff1b358b --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java @@ -0,0 +1,36 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @dscription 工作人员信息 + * @author sun + */ +@Data +public class StaffListResultDTO implements Serializable { + + private static final long serialVersionUID = 5957826616179876849L; + /** + * 人员Id + */ + private String staffId; + /** + * 人员名称 + */ + private String staffName; + /** + * 人员头像 + */ + private String staffHeadPhoto; + /** + * 性别 + */ + private String gender; + /** + * 角色名称(机关领导、部门领导、网格长) + */ + private String roleName; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java index 330185b612..f30c8c65ce 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java @@ -38,4 +38,17 @@ public interface CustomerAgencyConstant { * 组织信息查询失败 */ String SELECT_EXCEPTION = "根据组织ID未查询到机构组织信息"; + + /** + * 工作人员角色-单位领导 + */ + String AGENCY_LEADER = "agency_leader"; + /** + * 工作人员角色-部门领导 + */ + String DEPT_LEADER = "dept_leader"; + /** + * 工作人员角色-网格长 + */ + String GRID_MANAGER = "grid_manager"; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index ee839de020..50cfe3c5be 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -28,6 +28,7 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.StaffOrgFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.StaffOrgsResultDTO; import com.epmet.excel.CustomerAgencyExcel; import com.epmet.service.CustomerAgencyService; @@ -117,4 +118,15 @@ public class CustomerAgencyController { return new Result().ok(customerAgencyService.getAgencyAndGrid(agencyGridResultDTO)); } + /** + * @param agencyId + * @return + * @Author sun + * @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息 + **/ + @PostMapping("departmentstafflist/{agencyId}") + public Result departmentStaffList(@PathVariable("agencyId") String agencyId) { + return new Result().ok(customerAgencyService.departmentStaffList(agencyId)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java index cc9f544cfb..669664481c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java @@ -18,10 +18,11 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.dto.*; +import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.UserIdAndPidDTO; +import com.epmet.dto.UserIdDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.dto.result.CustomerGridForStrangerResultDTO; import com.epmet.entity.CustomerGridEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -160,4 +161,10 @@ public interface CustomerGridDao extends BaseDao { * @date 2020/5/11 18:50 */ BelongGridNameResultDTO getGridNameByGridId(BelongGridNameFormDTO formDTO); + + /** + * @Description 根据组织机关Id查询机关下网格列表 + * @author sun + */ + List selectGridList(@Param("agencyId") String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java index 9de920b942..7be691d69f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.CustomerStaffAgencyDTO; import com.epmet.dto.form.CustomerGridFormDTO; +import com.epmet.dto.result.StaffListResultDTO; import com.epmet.entity.CustomerStaffAgencyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -68,4 +69,10 @@ public interface CustomerStaffAgencyDao extends BaseDao getSelectableStaffsForDept(@Param("departmentId") String departmentId); + + /** + * 查询组织下人员列表 + * @Author sun + */ + List selectAgencyStaffList(@Param("agencyId") String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffDepartmentDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffDepartmentDao.java index 0c6fc36a4b..88fc246656 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffDepartmentDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffDepartmentDao.java @@ -19,6 +19,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.CustomerStaffDepartmentDTO; +import com.epmet.dto.result.ParentListResultDTO; import com.epmet.entity.CustomerStaffDepartmentEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -58,4 +59,11 @@ public interface CustomerStaffDepartmentDao extends BaseDao selectDeptStaffs(@Param("deptIdList") List deptIdList); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java index 7a01c76048..2a160f8a90 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java @@ -19,6 +19,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.CustomerStaffDepartmentDTO; import com.epmet.dto.CustomerStaffGridDTO; import com.epmet.dto.form.LatestGridFormDTO; import com.epmet.entity.CustomerStaffGridEntity; @@ -82,4 +83,11 @@ public interface CustomerStaffGridDao extends BaseDao { * @Author sun */ List selectByGridId(@Param("gridId")String gridId); + + /** + * + * @Author sun + * @Description 遍历查询每个部门下人员 + */ + List selectGridStaffs(@Param("gridIdList") List gridIdList); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index 2f9fbb99c9..297df14501 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -22,6 +22,7 @@ import com.epmet.dto.CustomerStaffGridDTO; import com.epmet.dto.StaffGridListDTO; import com.epmet.feign.fallback.EpmetUserFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -159,4 +160,13 @@ public interface EpmetUserFeignClient { **/ @PostMapping("/epmetuser/staffrole/getcustomerstaffroles") Result getCustomerStaffRoles(CommonUserFormDTO commonUserFormDTO); + + /** + * @param staffIdList + * @return + * @Author sun + * @Description 根据staffId集合查询工作人员基础信息 + **/ + @PostMapping(value = "/epmetuser/customerstaff/getcustomerstafflist", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result getCustomerStaffList(List staffIdList); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java index bac3fd9024..f6ac8153ce 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java @@ -101,4 +101,9 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { public Result getCustomerStaffRoles(CommonUserFormDTO commonUserFormDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getCustomerStaffRoles", commonUserFormDTO); } + + @Override + public Result getCustomerStaffList(List staffIdList) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getCustomerStaffList", staffIdList); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index dceb37c12e..7af4c11691 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -23,6 +23,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.StaffOrgFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.StaffOrgsResultDTO; import com.epmet.entity.CustomerAgencyEntity; @@ -113,4 +114,12 @@ public interface CustomerAgencyService extends BaseService * @Description 根据组织Id、网格Id查询组织、网格名称 **/ AgencyGridResultDTO getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO); + + /** + * @param agencyId + * @return + * @Author sun + * @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息 + **/ + DepartmentStaffListResultDTO departmentStaffList(String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 43d442b32e..8a7607b942 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -27,16 +27,14 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.CustomerAgencyConstant; import com.epmet.constant.CustomerGridConstant; -import com.epmet.dao.CustomerAgencyDao; -import com.epmet.dao.CustomerGridDao; -import com.epmet.dto.CustomerAgencyDTO; -import com.epmet.dto.CustomerDTO; +import com.epmet.dao.*; +import com.epmet.dto.*; import com.epmet.dto.form.CustomerFormDTO; import com.epmet.dto.form.StaffOrgFormDTO; -import com.epmet.dto.result.AgencyGridResultDTO; -import com.epmet.dto.result.StaffOrgsResultDTO; +import com.epmet.dto.result.*; import com.epmet.entity.CustomerAgencyEntity; import com.epmet.entity.CustomerGridEntity; +import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.OperCrmFeignClient; import com.epmet.redis.CustomerAgencyRedis; import com.epmet.service.CustomerAgencyService; @@ -47,9 +45,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * 机关单位信息表 @@ -67,6 +64,17 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -167,4 +175,127 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl agencyStaffList = customerStaffAgencyDao.selectAgencyStaffList(agencyId); + //2:根据组织Id查询该组织下部门、人员列表 + //2.1:查询组织下部门列表 + List listDept = customerDepartmentDao.selectDepartmentList(agencyId); + List departmentList = ConvertUtils.sourceToTarget(listDept, DeptListResultDTO.class); + //2.2:查询每一个部门下人员列表 + List deptIdList = departmentList.stream().map(DeptListResultDTO::getDepartmentId).collect(Collectors.toList()); + List deptStaffs = customerStaffDepartmentDao.selectDeptStaffs(deptIdList); + departmentList.forEach(dept->{ + List departmentStaffList = new ArrayList<>(); + deptStaffs.forEach(ds->{ + if(dept.getDepartmentId().equals(ds.getDepartmentId())){ + StaffListResultDTO sf = new StaffListResultDTO(); + sf.setStaffId(ds.getUserId()); + departmentStaffList.add(sf); + } + }); + dept.setDepartmentStaffList(departmentStaffList); + }); + //3:根据组织Id查询该组织下网格、人员列表 + //3.1:查询组织下网格列表 + List gridList = customerGridDao.selectGridList(agencyId); + //3.2:查询每一个网格下人员列表 + List gridIdList = gridList.stream().map(GridListResultDTO::getGridId).collect(Collectors.toList()); + List gridStaffs = customerStaffGridDao.selectGridStaffs(gridIdList); + gridList.forEach(grid->{ + List gridStaffList = new ArrayList<>(); + gridStaffs.forEach(gs->{ + if(grid.getGridId().equals(gs.getGridId())){ + StaffListResultDTO sf = new StaffListResultDTO(); + sf.setStaffId(gs.getUserId()); + gridStaffList.add(sf); + } + }); + grid.setGridStaffList(gridStaffList); + }); + //4:汇总组织下人员、组织下部门下人员、组织下网格下人员Id集合,调用epmet-user服务查询工作人员基本信息 + List staffIdList1 = agencyStaffList.stream().map(StaffListResultDTO::getStaffId).collect(Collectors.toList()); + List staffIdList2 = deptStaffs.stream().map(CustomerStaffDepartmentDTO::getUserId).collect(Collectors.toList()); + List staffIdList3 = gridStaffs.stream().map(CustomerStaffGridDTO::getUserId).collect(Collectors.toList()); + List staffIdList = new ArrayList<>(); + staffIdList.addAll(staffIdList1); staffIdList.addAll(staffIdList2); staffIdList.addAll(staffIdList3); + staffIdList = new ArrayList(new LinkedHashSet<>(staffIdList)); + Result userList = epmetUserFeignClient.getCustomerStaffList(staffIdList); + //5:循环数据,将人员数据放到对应数据结构下 + CustomerStaffListResultDTO dto = userList.getData(); + List staffList = dto.getStaffList(); + List roleList = dto.getRoleList(); + //有时间再优化成jdk8的遍历方式 + //5.1装载组织下人员数据 + for(StaffListResultDTO sf : agencyStaffList){ + //人员信息 + for(StaffListResultDTO stf : staffList){ + if(sf.getStaffId().equals(stf.getStaffId())){ + sf = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class); + break; + } + } + //人员角色信息 + for(CustomerStaffRoleResultDTO role : roleList){ + if(sf.getStaffId().equals(role.getStaffId())&&CustomerAgencyConstant.AGENCY_LEADER.equals(role.getRoleKey())){ + sf.setRoleName(role.getRoleName()); + break; + } + } + } + //5.2装载组织下部门下人员数据 + for(DeptListResultDTO dept : departmentList){ + List departmentStaffList = dept.getDepartmentStaffList(); + for(StaffListResultDTO ds : departmentStaffList){ + //人员信息 + for(StaffListResultDTO stf : staffList){ + if(ds.getStaffId().equals(stf.getStaffId())){ + ds = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class); + break; + } + } + //人员角色信息 + for(CustomerStaffRoleResultDTO role : roleList){ + if(ds.getStaffId().equals(role.getStaffId())&&CustomerAgencyConstant.DEPT_LEADER.equals(role.getRoleKey())){ + ds.setRoleName(role.getRoleName()); + break; + } + } + } + } + //5.3装载组织下网格下人员数据 + for(GridListResultDTO grid : gridList){ + List gridStaffList = grid.getGridStaffList(); + for(StaffListResultDTO gs : gridStaffList){ + //人员信息 + for(StaffListResultDTO stf : staffList){ + if(gs.getStaffId().equals(stf.getStaffId())){ + gs = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class); + break; + } + } + //人员角色信息 + for(CustomerStaffRoleResultDTO role : roleList){ + if(gs.getStaffId().equals(role.getStaffId())&&CustomerAgencyConstant.GRID_MANAGER.equals(role.getRoleKey())){ + gs.setRoleName(role.getRoleName()); + break; + } + } + } + } + resultDTO.setAgencyStaffList(agencyStaffList); + resultDTO.setDepartmentList(departmentList); + resultDTO.setGridList(gridList); + return resultDTO; + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml index 5f40d5c0d8..9723d1e3f0 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml @@ -285,4 +285,14 @@ AND cg.del_flag = 0 + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml index 9f09e6ab22..0a721b3f77 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml @@ -95,6 +95,14 @@ DEPARTMENT_ID = #{departmentId} ) - + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffDepartmentDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffDepartmentDao.xml index 7702cf9aa0..254cbc4ab2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffDepartmentDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffDepartmentDao.xml @@ -14,6 +14,20 @@ + + UPDATE diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml index 9a4290d11c..1e6501c6bb 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml @@ -63,6 +63,20 @@ AND csg.grid_id = #{gridId} + + insert into customer_staff_grid diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index ef9a20e890..1588d4238f 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -72,6 +72,12 @@ 2.0.0 compile + + com.epmet + gov-org-client + 2.0.0 + compile + diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index 9f2e75ed7f..3f88868a85 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -10,6 +10,7 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectSatisfactionDetailService; +import com.epmet.service.ProjectStaffService; import com.epmet.service.ProjectTraceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -37,6 +38,9 @@ public class ProjectTraceController { @Autowired private ProjectSatisfactionDetailService projectSatisfactionDetailService; + @Autowired + private ProjectStaffService projectStaffService; + /** * 待处理项目列表 * @@ -166,5 +170,18 @@ public class ProjectTraceController { ValidatorUtils.validateEntity(formDTO); return new Result>().ok(projectSatisfactionDetailService.evaluationList(formDTO)); } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 项目跟踪-部门人员选择 + **/ + @PostMapping("departmentstafflist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_TRANSFER) + public Result departmentStaffList(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentStaffListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result().ok(projectStaffService.departmentStaffList(formDTO)); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index e4ae2ffc95..27a818330e 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -2,8 +2,12 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.feign.fallback.GovOrgFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; /** @@ -13,5 +17,13 @@ import org.springframework.cloud.openfeign.FeignClient; @FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class) public interface GovOrgFeignClient { + /** + * @param agencyId + * @return + * @Author sun + * @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息 + **/ + @PostMapping(value = "/gov/org/customeragency/departmentstafflist/{agencyId}") + Result departmentStaffList(@PathVariable("agencyId") String agencyId); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index 6eccf9cb4a..b75b3c8b1d 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -1,5 +1,9 @@ package com.epmet.feign.fallback; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.feign.GovOrgFeignClient; import org.springframework.stereotype.Component; @@ -10,4 +14,8 @@ import org.springframework.stereotype.Component; @Component public class GovOrgFeignClientFallBack implements GovOrgFeignClient { + @Override + public Result departmentStaffList(String agencyId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java index 62d3b66965..605cc05f06 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java @@ -20,7 +20,9 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ProjectStaffDTO; +import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.result.DepartmentResultDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.entity.ProjectStaffEntity; import java.util.List; @@ -103,4 +105,12 @@ public interface ProjectStaffService extends BaseService { * @date 2020/5/12 16:40 */ List getDepartmentNameList(ProjectStaffDTO dto); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 项目跟踪-部门人员选择 + **/ + DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java index bfab5baef5..b6518c8684 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java @@ -20,13 +20,17 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.ProjectStaffDao; import com.epmet.dto.ProjectStaffDTO; +import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.result.DepartmentResultDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.entity.ProjectStaffEntity; +import com.epmet.feign.GovOrgFeignClient; import com.epmet.redis.ProjectStaffRedis; import com.epmet.service.ProjectStaffService; import org.apache.commons.lang3.StringUtils; @@ -49,6 +53,8 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl page(Map params) { @@ -107,4 +113,11 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId()); + return resultDTOResult.getData(); + } + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java index ca2bd6d210..375c4abd26 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java @@ -269,4 +269,15 @@ public class CustomerStaffController { ValidatorUtils.validateEntity(userIdList); return customerStaffService.getEnableStaffMsgList(userIdList); } + + /** + * @param staffIdList + * @return + * @Author sun + * @Description 根据staffId集合查询工作人员基础信息 + **/ + @PostMapping(value = "getcustomerstafflist") + public Result getCustomerStaffList(@RequestBody List staffIdList){ + return new Result().ok(customerStaffService.getCustomerStaffList(staffIdList)); + } } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java index 7b056bfea2..c5dbec183f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java @@ -24,6 +24,7 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.DepartInStaffListResultDTO; import com.epmet.dto.result.StaffInfoResultDTO; import com.epmet.dto.result.CommonStaffInfoResultDTO; +import com.epmet.dto.result.StaffListResultDTO; import com.epmet.entity.CustomerStaffEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -123,4 +124,12 @@ public interface CustomerStaffDao extends BaseDao { * @Date 2020.04.24 15:34 **/ List selectEnableStaffMsg(@Param("userIds") List userIds,@Param("customerId")String customerId); + + /** + * @param staffIdList + * @return + * @Author sun + * @Description 根据staffId集合查询工作人员基础信息 + **/ + List selectStaffByIds(@Param("staffIdList") List staffIdList); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java index 8f1f6a9d5b..c7e1be6e9c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java @@ -22,7 +22,9 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.entity.DataScope; import com.epmet.dto.StaffRoleDTO; import com.epmet.dto.form.CommonUserFormDTO; +import com.epmet.dto.result.CustomerStaffRoleResultDTO; import com.epmet.dto.result.GovStaffRoleResultDTO; +import com.epmet.dto.result.StaffListResultDTO; import com.epmet.dto.result.StaffRolesResultDTO; import com.epmet.entity.StaffRoleEntity; import org.apache.ibatis.annotations.Mapper; @@ -76,4 +78,11 @@ public interface StaffRoleDao extends BaseDao { **/ List selectSpecificRolesStaffs(@Param("roleKeys")List roleKeys,@Param("userIds")List userIds,@Param("customerId")String customerId); + /** + * @param staffIdList + * @return + * @Author sun + * @Description 根据staffId集合查询人员拥有的所有角色信息 + **/ + List selectStaffRoleList(@Param("staffIdList") List staffIdList); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java index 331cbf7223..cddd2a8c9a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java @@ -223,4 +223,12 @@ public interface CustomerStaffService extends BaseService { * @Date 2020.04.24 15:44 **/ Result> getEnableStaffMsgList(CommonUserIdListFormDTO userIdList); + + /** + * @param staffIdList + * @return + * @Author sun + * @Description 根据staffId集合查询工作人员基础信息 + **/ + CustomerStaffListResultDTO getCustomerStaffList(List staffIdList); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index e6d681851e..518697e1f6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -31,6 +31,7 @@ import com.epmet.constant.CustomerStaffConstant; import com.epmet.constant.UserConstant; import com.epmet.constant.UserRoleConstant; import com.epmet.dao.CustomerStaffDao; +import com.epmet.dao.StaffRoleDao; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -91,6 +92,8 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl page(Map params) { @@ -419,4 +422,22 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl>().ok(baseDao.selectEnableStaffMsg(userIdList.getUserIdList(), userIdList.getCustomerId())); } + /** + * @param staffIdList + * @return + * @Author sun + * @Description 根据staffId集合查询工作人员基础信息 + **/ + @Override + public CustomerStaffListResultDTO getCustomerStaffList(List staffIdList) { + //1:批量查询人员基本信息 + List staffList = baseDao.selectStaffByIds(staffIdList); + //2:批量查询人员拥有的所有角色信息 + List roleList = staffRoleDao.selectStaffRoleList(staffIdList); + CustomerStaffListResultDTO list = new CustomerStaffListResultDTO(); + list.setStaffList(staffList); + list.setRoleList(roleList); + return list; + } + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml index 6fbcd71df4..9b1dbc5c54 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml @@ -179,4 +179,20 @@ #{userId} + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml index 518b6ed7d8..e7a2ce2fa9 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml @@ -102,4 +102,21 @@ + + \ No newline at end of file From bcbcc0d822ca042573fe61ee165afc3f5d431465 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 13 May 2020 16:10:11 +0800 Subject: [PATCH 14/22] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=BB=93=E6=A1=88?= =?UTF-8?q?=EF=BC=8C=E9=80=80=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/ProjectDTO.java | 5 + .../java/com/epmet/dto/ProjectStaffDTO.java | 2 +- .../epmet/dto/form/ProjectClosedFromDTO.java | 17 +++ .../com/epmet/dto/form/ReturnFromDTO.java | 17 +++ .../dto/result/CreatedListResultDTO.java | 8 ++ .../dto/result/InvolvedListResultDTO.java | 8 ++ .../dto/result/ProjectDetailResultDTO.java | 5 + .../java/com/epmet/dao/ProjectProcessDao.java | 2 + .../java/com/epmet/dao/ProjectStaffDao.java | 10 ++ .../epmet/entity/ProjectProcessEntity.java | 5 - .../com/epmet/entity/ProjectStaffEntity.java | 2 +- .../com/epmet/feign/EpmetUserFeignClient.java | 10 ++ .../com/epmet/feign/GovOrgFeignClient.java | 9 ++ .../EpmetUserFeignClientFallBack.java | 7 ++ .../fallback/GovOrgFeignClientFallBack.java | 8 ++ .../epmet/service/ProjectProcessService.java | 11 ++ .../com/epmet/service/ProjectService.java | 20 ++++ .../epmet/service/ProjectStaffService.java | 10 ++ .../impl/ProjectProcessServiceImpl.java | 39 +++++++ .../service/impl/ProjectServiceImpl.java | 105 +++++++++++++++++- .../service/impl/ProjectStaffServiceImpl.java | 5 + .../service/impl/ProjectTraceServiceImpl.java | 14 ++- .../src/main/resources/mapper/ProjectDao.xml | 86 +++++++++----- .../resources/mapper/ProjectProcessDao.xml | 11 +- .../main/resources/mapper/ProjectStaffDao.xml | 8 ++ .../resi-hall-client/resi-hall-client.iml | 4 +- .../resi-hall-server/resi-hall-server.iml | 4 +- epmet-module/resi-hall/resi-hall.iml | 4 +- .../resources/mapper/CustomerStaffDao.xml | 5 +- 29 files changed, 384 insertions(+), 57 deletions(-) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java index d2c8daf6ed..356bff7769 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java @@ -63,6 +63,11 @@ public class ProjectDTO implements Serializable { */ private String status; + /** + * 结案说明 + */ + private String publicReply; + /** * 结案状态:已解决 resolved,未解决 unresolved */ diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectStaffDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectStaffDTO.java index ea0ef88350..7e4e7d2dce 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectStaffDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectStaffDTO.java @@ -84,7 +84,7 @@ public class ProjectStaffDTO implements Serializable { private String departmentName; /** - * 是否处理:未处理unhandle,已处理handle + * 是否处理:未处理unhandled,已处理handle */ private String isHandle; diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java index 29f755243b..4b9e9a5ff6 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java @@ -1,7 +1,9 @@ package com.epmet.dto.form; import lombok.Data; +import org.hibernate.validator.constraints.Length; +import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -13,6 +15,10 @@ import java.io.Serializable; public class ProjectClosedFromDTO implements Serializable { private static final long serialVersionUID = -7383213527369892832L; + /** + * 用户Id + */ + private String userId; /** * 项目Id */ @@ -24,9 +30,20 @@ public class ProjectClosedFromDTO implements Serializable { /** * 公开答复内容 */ + @NotBlank(message = "结案说明不能为空") + @Length(max = 1000, message = "结案说明不能超过1000个字符") private String publicReply; /** * 内部备注内容 */ + @Length(max = 1000, message = "内部备注不能超过1000个字符") private String internalRemark; + /** + * 项目人员关联表ID + */ + private String projectStaffId; + /** + * 部门名 + */ + private String departmentName; } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java index 12ec7137d1..8b36b5ddcd 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java @@ -1,7 +1,9 @@ package com.epmet.dto.form; import lombok.Data; +import org.hibernate.validator.constraints.Length; +import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -13,6 +15,10 @@ import java.io.Serializable; public class ReturnFromDTO implements Serializable { private static final long serialVersionUID = -8747667324909671154L; + /** + * 用户Id + */ + private String userId; /** * 项目Id */ @@ -24,9 +30,20 @@ public class ReturnFromDTO implements Serializable { /** * 公开答复内容 */ + @Length(max = 1000, message = "公开答复不能超过1000个字符") private String publicReply; /** * 内部流转意见 */ + @NotBlank(message = "内部备注不能为空") + @Length(max = 1000, message = "内部备注不能超过1000个字符") private String internalRemark; + /** + * 项目人员关联表ID + */ + private String projectStaffId; + /** + * 部门名 + */ + private String departmentName; } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java index 3481754cba..ed225dc760 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java @@ -22,6 +22,14 @@ public class CreatedListResultDTO implements Serializable { * 项目标题 */ private String projectTitle; + /** + * 项目状态 + */ + private String projectStatus; + /** + * 结案说明 + */ + private String publicReply; /** * 项目创建时间 */ diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java index 39c552f9e5..1d22d0b0b3 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java @@ -22,6 +22,14 @@ public class InvolvedListResultDTO implements Serializable { * 项目标题 */ private String projectTitle; + /** + * 项目状态 + */ + private String projectStatus; + /** + * 结案说明 + */ + private String publicReply; /** * 创建时间 */ diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java index 9c9425d36f..f44973bcea 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java @@ -3,6 +3,7 @@ package com.epmet.dto.result; import lombok.Data; import java.io.Serializable; +import java.util.List; /** * @author zhaoqifeng @@ -45,5 +46,9 @@ public class ProjectDetailResultDTO implements Serializable { * 处理状态(是否由我处理) */ private Boolean processable; + /** + * 当前跟进部门 + */ + private List departmentNameList; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java index 825918297a..71f0b72b72 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java @@ -41,4 +41,6 @@ public interface ProjectProcessDao extends BaseDao { * @Description 根据项目Id查询项目处理进展列表 **/ List getProcessListByProjectId(@Param("projectId") String projectId); + + List selectReturnableList(@Param("projectId") String projectId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java index b93b670473..27b5165246 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java @@ -22,6 +22,7 @@ import com.epmet.dto.ProjectStaffDTO; import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.entity.ProjectStaffEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -43,5 +44,14 @@ public interface ProjectStaffDao extends BaseDao { * @date 2020/5/12 16:40 */ List selectDepartmentNameList(ProjectStaffDTO dto); + + /** + * 获取节点处理人信息 + * @author zhaoqifeng + * @date 2020/5/13 15:08 + * @param processId + * @return com.epmet.dto.ProjectStaffDTO + */ + ProjectStaffDTO selectProjectStaffInfo(@Param("processId") String processId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java index 0890e5dec8..e9ae924698 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java @@ -43,11 +43,6 @@ public class ProjectProcessEntity extends BaseEpmetEntity { */ private String projectId; - /** - * 项目处理进展ID - */ - private String processId; - /** * 部门名 */ diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java index dc8e798090..3184a68a34 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java @@ -79,7 +79,7 @@ public class ProjectStaffEntity extends BaseEpmetEntity { private String departmentName; /** - * 是否处理:未处理unhandle,已处理handle + * 是否处理:未处理unhandled,已处理handle */ private String isHandle; diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index 11f0f28937..bf4458e68b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -2,7 +2,9 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.StaffsInAgencyFromDTO; import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.StaffInfoResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.fallback.EpmetUserFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; @@ -26,4 +28,12 @@ public interface EpmetUserFeignClient { **/ @PostMapping("/epmetuser/userresiinfo/getuserresiinfolist") Result> getUserResiInfoList(@RequestBody UserResiInfoListFormDTO userResiInfoListFormDTO); + + /** + * 工作人员列表 + * @param fromDTO + * @return + */ + @PostMapping("/epmetuser/customerstaff/stafflist") + Result> getStaffList(@RequestBody StaffsInAgencyFromDTO fromDTO); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index 27a818330e..503ee6d58c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -3,6 +3,8 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.CustomerAgencyDTO; +import com.epmet.commons.tools.utils.Result; import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.feign.fallback.GovOrgFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; @@ -17,6 +19,13 @@ import org.springframework.web.bind.annotation.PostMapping; @FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class) public interface GovOrgFeignClient { + /** + * 根据Id查询agency + * @param agencyId + * @return + */ + @PostMapping("/gov/org/agency/agencybyid/{agencyId}") + Result getAgencyById(@PathVariable("agencyId") String agencyId); /** * @param agencyId * @return diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java index 88e9590eaf..94a52d75f0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java @@ -3,7 +3,9 @@ package com.epmet.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.StaffsInAgencyFromDTO; import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.StaffInfoResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.EpmetUserFeignClient; import org.springframework.stereotype.Component; @@ -21,4 +23,9 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { public Result> getUserResiInfoList(UserResiInfoListFormDTO userResiInfoListFormDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResiInfoList", userResiInfoListFormDTO); } + + @Override + public Result> getStaffList(StaffsInAgencyFromDTO fromDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffList", fromDTO); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index b75b3c8b1d..318975d5c9 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -1,5 +1,9 @@ package com.epmet.feign.fallback; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.CustomerAgencyDTO; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; @@ -14,6 +18,10 @@ import org.springframework.stereotype.Component; @Component public class GovOrgFeignClientFallBack implements GovOrgFeignClient { + @Override + public Result getAgencyById(String agencyId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAgencyById", agencyId); + } @Override public Result departmentStaffList(String agencyId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId); diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java index ce4889776a..ebfc0e83ca 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java @@ -21,7 +21,9 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.form.ReturnListFromDTO; import com.epmet.dto.result.ProcesslistResultDTO; +import com.epmet.dto.result.ReturnListResultDTO; import com.epmet.entity.ProjectProcessEntity; import java.util.List; @@ -102,4 +104,13 @@ public interface ProjectProcessService extends BaseService * @Description 项目跟踪-项目处理进展列表 **/ List progressList(ProcessListFormDTO formDTO); + + /** + * 可退回节点列表 + * @author zhaoqifeng + * @date 2020/5/13 13:42 + * @param fromDTO + * @return java.util.List + */ + List getReturnableList(ReturnListFromDTO fromDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java index 99e0b34b68..cb39927bf0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java @@ -21,8 +21,10 @@ 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.dto.ProjectDTO; +import com.epmet.dto.form.ProjectClosedFromDTO; import com.epmet.dto.form.ProjectDetailFromDTO; import com.epmet.dto.form.ProjectListFromDTO; +import com.epmet.dto.form.ReturnFromDTO; import com.epmet.dto.result.CreatedListResultDTO; import com.epmet.dto.result.InvolvedListResultDTO; import com.epmet.dto.result.PendProjectListResultDTO; @@ -139,4 +141,22 @@ public interface ProjectService extends BaseService { * @date 2020/5/12 15:13 */ ProjectDetailResultDTO getProjectDetail(ProjectDetailFromDTO fromDTO); + + /** + * 项目结案 + * @author zhaoqifeng + * @date 2020/5/13 9:54 + * @param fromDTO 参数 + * @return void + */ + void closed(ProjectClosedFromDTO fromDTO); + + /** + * 项目退回 + * @author zhaoqifeng + * @date 2020/5/13 14:35 + * @param fromDTO 参数 + * @return void + */ + void projectReturn(ReturnFromDTO fromDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java index 605cc05f06..ba73f3a7de 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java @@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ProjectStaffDTO; import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.result.DepartmentResultDTO; +import com.epmet.entity.ProjectProcessEntity; import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.entity.ProjectStaffEntity; @@ -106,6 +107,15 @@ public interface ProjectStaffService extends BaseService { */ List getDepartmentNameList(ProjectStaffDTO dto); + /** + * 获取节点处理人信息 + * @author zhaoqifeng + * @date 2020/5/13 15:06 + * @param projectProcessId 项目处理进展ID + * @return com.epmet.dto.ProjectStaffDTO + */ + ProjectStaffDTO getProjectStaffInfo(String projectProcessId); + /** * @param formDTO * @return diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 6c45ca75e9..78ea0dc5b0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -23,21 +23,31 @@ 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.commons.tools.utils.Result; import com.epmet.dao.ProjectProcessDao; import com.epmet.dao.ProjectStaffDao; +import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.form.ReturnListFromDTO; +import com.epmet.dto.form.StaffsInAgencyFromDTO; import com.epmet.dto.result.ProcesslistResultDTO; +import com.epmet.dto.result.ReturnListResultDTO; +import com.epmet.dto.result.StaffInfoResultDTO; +import com.epmet.entity.ProjectEntity; import com.epmet.entity.ProjectProcessEntity; +import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.GovOrgFeignClient; import com.epmet.redis.ProjectProcessRedis; import com.epmet.service.ProjectProcessService; +import com.epmet.service.ProjectService; 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 java.util.*; +import java.util.stream.Collectors; /** * 项目处理进展表 @@ -54,6 +64,10 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl page(Map params) { @@ -119,4 +133,29 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl getReturnableList(ReturnListFromDTO fromDTO) { + List list = baseDao.selectReturnableList(fromDTO.getProjectId()); + //遍历获取所有的userId + List userIds = list.stream().map(ProjectProcessEntity::getStaffId).collect(Collectors.toList()); + //获取项目信息 + ProjectEntity projectEntity = projectService.selectById(fromDTO.getProjectId()); + //获取组织信息 + Result customerAgency = govOrgFeignClient.getAgencyById(projectEntity.getAgencyId()); + //获取人员信息 + StaffsInAgencyFromDTO staffsInAgencyFromDTO = new StaffsInAgencyFromDTO(); + staffsInAgencyFromDTO.setCustomerId(customerAgency.getData().getCustomerId()); + staffsInAgencyFromDTO.setStaffList(userIds); + List staffList = epmetUserFeignClient.getStaffList(staffsInAgencyFromDTO).getData(); + //合成返回值 + List resultList = + list.stream().flatMap(process -> staffList.stream().filter(staff -> process.getStaffId().equals(staff.getStaffId())).map(userInfo ->{ + ReturnListResultDTO resultDTO = new ReturnListResultDTO(); + resultDTO.setProjectProcessId(process.getId()); + resultDTO.setProcessor(process.getDepartmentName().concat("-").concat(userInfo.getStaffName())); + return resultDTO; + })).collect(Collectors.toList()); + return resultList; + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index fcb7ee4416..a9aa55a296 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -20,6 +20,7 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; @@ -30,14 +31,15 @@ import com.epmet.dao.ProjectDao; import com.epmet.dto.CustomerProjectParameterDTO; import com.epmet.dto.ProjectDTO; import com.epmet.dto.ProjectStaffDTO; -import com.epmet.dto.form.ProjectDetailFromDTO; -import com.epmet.dto.form.ProjectListFromDTO; -import com.epmet.dto.form.WorkDayFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.ProjectEntity; +import com.epmet.entity.ProjectProcessEntity; +import com.epmet.entity.ProjectStaffEntity; import com.epmet.feign.CommonFeignClient; import com.epmet.redis.ProjectRedis; import com.epmet.service.CustomerProjectParameterService; +import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectService; import com.epmet.service.ProjectStaffService; import org.apache.commons.lang3.StringUtils; @@ -65,6 +67,8 @@ public class ProjectServiceImpl extends BaseServiceImpl getPendProjectList(ProjectListFromDTO fromDTO) { List list = new ArrayList<>(); + //查询条件 + int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize(); + fromDTO.setPageNo(pageIndex); + List projectList = baseDao.selectPendList(fromDTO); //获取客户定制的可滞留天数 Integer finalDays = getDays(fromDTO); @@ -149,6 +157,11 @@ public class ProjectServiceImpl extends BaseServiceImpl getCreatedList(ProjectListFromDTO fromDTO) { List list = new ArrayList<>(); + + //查询条件 + int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize(); + fromDTO.setPageNo(pageIndex); + List projectList = baseDao.selectCreatedList(fromDTO); //获取客户定制的可滞留天数 Integer finalDays = getDays(fromDTO); @@ -156,6 +169,8 @@ public class ProjectServiceImpl extends BaseServiceImpl finalDays) { @@ -181,6 +196,11 @@ public class ProjectServiceImpl extends BaseServiceImpl getInvolvedList(ProjectListFromDTO fromDTO) { List list = new ArrayList<>(); + + //查询条件 + int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize(); + fromDTO.setPageNo(pageIndex); + List projectList = baseDao.selectCreatedList(fromDTO); //获取客户定制的可滞留天数 Integer finalDays = getDays(fromDTO); @@ -188,6 +208,8 @@ public class ProjectServiceImpl extends BaseServiceImpl finalDays) { @@ -228,13 +250,84 @@ public class ProjectServiceImpl extends BaseServiceImpl departmentNameList = new ArrayList<>(); + if (ProjectConstant.CLOSED.equals(resultDTO.getProjectStatus())) { + //项目已结案,跟进部门为空 + resultDTO.setDepartmentNameList(departmentNameList); + } else { + //项目未结案,找出所有跟进部门 + ProjectDTO projectDTO = new ProjectDTO(); + projectDTO.setId(fromDTO.getProjectId()); + departmentNameList = baseDao.selectDepartmentNameList(projectDTO); + resultDTO.setDepartmentNameList(departmentNameList); + } + return resultDTO; } + @Override + @Transactional(rollbackFor = Exception.class) + public void closed(ProjectClosedFromDTO fromDTO) { + //更新项目表状态 + ProjectEntity projectEntity = baseDao.selectById(fromDTO.getProjectId()); + projectEntity.setStatus(ProjectConstant.CLOSED); + projectEntity.setClosedStatus(fromDTO.getClosedStatus()); + baseDao.updateById(projectEntity); + + //更新项目关联表 + ProjectStaffEntity projectStaffEntity = new ProjectStaffEntity(); + projectStaffEntity.setId(fromDTO.getProjectStaffId()); + projectStaffEntity.setIsHandle(ProjectConstant.HANDLE); + projectStaffService.updateById(projectStaffEntity); + + //结案记录加入项目进展表 + ProjectProcessEntity projectProcessEntity = new ProjectProcessEntity(); + projectProcessEntity.setProjectId(fromDTO.getProjectId()); + projectProcessEntity.setDepartmentName(fromDTO.getDepartmentName()); + projectProcessEntity.setEndTime(new Date()); + projectProcessEntity.setOperation(ProjectConstant.OPERATION_CLOSE); + projectProcessEntity.setOperationName(ProjectConstant.OPERATION_CLOSE_NAME); + projectProcessEntity.setPublicReply(fromDTO.getPublicReply()); + projectProcessEntity.setInternalRemark(fromDTO.getInternalRemark()); + projectProcessEntity.setStaffId(fromDTO.getUserId()); + projectProcessEntity.setCostWorkdays(getDetentionDays(ConvertUtils.sourceToTarget(projectEntity, ProjectDTO.class))); + projectProcessService.insert(projectProcessEntity); + } + + @Override + public void projectReturn(ReturnFromDTO fromDTO) { + //更新项目关联表 + ProjectStaffEntity projectStaffEntity = new ProjectStaffEntity(); + projectStaffEntity.setId(fromDTO.getProjectStaffId()); + projectStaffEntity.setIsHandle(ProjectConstant.HANDLE); + projectStaffService.updateById(projectStaffEntity); + + //结案记录加入项目进展表 + ProjectProcessEntity projectProcessEntity = new ProjectProcessEntity(); + projectProcessEntity.setProjectId(fromDTO.getProjectId()); + projectProcessEntity.setDepartmentName(fromDTO.getDepartmentName()); + projectProcessEntity.setOperation(ProjectConstant.OPERATION_RETURN); + projectProcessEntity.setOperationName(ProjectConstant.OPERATION_RETURN_NAME); + projectProcessEntity.setPublicReply(fromDTO.getPublicReply()); + projectProcessEntity.setInternalRemark(fromDTO.getInternalRemark()); + projectProcessEntity.setStaffId(fromDTO.getUserId()); + projectProcessService.insert(projectProcessEntity); + + //将人员关系添加到项目关联表 + ProjectStaffDTO projectStaffDTO = projectStaffService.getProjectStaffInfo(fromDTO.getProjectProcessId()); + ProjectStaffEntity projectStaff = ConvertUtils.sourceToTarget(projectStaffDTO, ProjectStaffEntity.class); + projectStaff.setId(null); + projectStaff.setIsHandle(ProjectConstant.UNHANDLED); + projectStaffService.insert(projectStaff); + + //TODO 通知 + } + /** * 获取客户定制的可滞留天数 * - * @param fromDTO + * @param fromDTO 参数 * @return java.lang.Integer * @author zhaoqifeng * @date 2020/5/12 16:20 @@ -255,7 +348,7 @@ public class ProjectServiceImpl extends BaseServiceImpl list = new ArrayList<>(); WorkDayFormDTO workDayFormDTO = new WorkDayFormDTO(); workDayFormDTO.setId(projectDTO.getId()); - workDayFormDTO.setStartDate(format.format(projectDTO.getCreatedTime())); + workDayFormDTO.setStartDate(format.format(projectDTO.getUpdatedTime())); workDayFormDTO.setEndDate(format.format(new Date())); Result> detentionDays = commonFeignClient.detentionDays(list); return detentionDays.getData().get(0).getDetentionDays(); diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java index b6518c8684..03b6c60045 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java @@ -113,6 +113,11 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { @@ -40,21 +43,24 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { @Override public ProjectDetailResultDTO getProjectDetail(TokenDto tokenDto, ProjectDetailFromDTO fromDTO) { - return null; + fromDTO.setProjectId(tokenDto.getUserId()); + return projectService.getProjectDetail(fromDTO); } @Override public void closed(TokenDto tokenDto, ProjectClosedFromDTO fromDTO) { - + fromDTO.setUserId(tokenDto.getUserId()); + projectService.closed(fromDTO); } @Override public List getReturnableList(ReturnListFromDTO fromDTO) { - return null; + return projectProcessService.getReturnableList(fromDTO); } @Override public void projectReturn(TokenDto tokenDto, ReturnFromDTO fromDTO) { - + fromDTO.setUserId(tokenDto.getUserId()); + projectService.projectReturn(fromDTO); } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index 9b8fd485ff..e7cc041e78 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -23,7 +23,8 @@ SELECT distinct p.ID, p.TITLE, - psp.CREATED_TIME + p.CREATED_TIME, + psp.CREATED_TIME AS UPDATED_TIME FROM project p INNER JOIN (SELECT ps.PROJECT_ID, @@ -37,51 +38,76 @@ GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID WHERE p.DEL_FLAG = '0' AND p.status = 'pending' - ORDER BY psp.CREATED_TIME ASC + ORDER BY p.CREATED_TIME ASC + LIMIT #{pageNo}, #{pageSize} - + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index 736a87d3ae..bb19e5068a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml @@ -32,6 +32,14 @@ AND IS_HANDLE = 'unhandled' + \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml b/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml index f1936e17be..6f6a140623 100644 --- a/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml +++ b/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml @@ -14,6 +14,8 @@ + + @@ -139,7 +141,5 @@ - - \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml b/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml index 9b122af4a2..4e6ad803c2 100644 --- a/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml +++ b/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml @@ -20,6 +20,8 @@ + + @@ -190,7 +192,5 @@ - - \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall.iml b/epmet-module/resi-hall/resi-hall.iml index 0d9345ff78..2837671944 100644 --- a/epmet-module/resi-hall/resi-hall.iml +++ b/epmet-module/resi-hall/resi-hall.iml @@ -8,6 +8,8 @@ + + @@ -45,7 +47,5 @@ - - \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml index 9b1dbc5c54..8f762dbe01 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml @@ -118,9 +118,8 @@ WHERE cs.DEL_FLAG = '0' AND cs.CUSTOMER_ID = #{customerId} - AND cs.USER_ID in - - #{userId} + + cs.USER_ID = #{userId} ORDER BY convert(cs.REAL_NAME using gbk) ASC From 6ea12c8224c029946be5a9b8401f435360bb19ad Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Wed, 13 May 2020 19:26:53 +0800 Subject: [PATCH 15/22] =?UTF-8?q?=E6=BB=A1=E6=84=8F=E5=BA=A6=E8=AF=84?= =?UTF-8?q?=E4=BB=B7=E3=80=81=E5=88=9D=E5=A7=8B=E5=8C=96=E3=80=81=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/EvaluationListFormDTO.java | 32 ++++++ .../dto/form/UserResiInfoListFormDTO.java | 22 ++++ .../dto/result/EvaluationListResultDTO.java | 47 ++++++++ .../dto/result/UserResiInfoResultDTO.java | 64 +++++++++++ .../com/epmet/constant/IssueConstant.java | 2 + .../controller/IssueManageController.java | 30 ++++- .../IssueSatisfactionDetailController.java | 14 ++- .../epmet/dao/IssueSatisfactionDetailDao.java | 11 ++ .../com/epmet/feign/EpmetUserFeignClient.java | 32 ++++++ .../EpmetUserFeignClientFallBack.java | 24 ++++ .../IssueSatisfactionDetailService.java | 14 ++- .../service/IssueVoteStatisticalService.java | 10 ++ .../IssueSatisfactionDetailServiceImpl.java | 18 ++- .../impl/IssueVoteDetailServiceImpl.java | 2 +- .../impl/IssueVoteStatisticalServiceImpl.java | 46 ++++++++ .../mapper/IssueSatisfactionDetailDao.xml | 16 +++ .../dto/form/ProjectEvaluateFormDTO.java | 37 +++++++ .../form/ProjectEvaluationListFormDTO.java | 32 ++++++ .../form/ProjectInitEvaluationFormDTO.java | 27 +++++ .../result/ProjectEvaluateInfoResultDTO.java | 25 +++++ .../ProjectEvaluationListResultDTO.java | 47 ++++++++ .../ProjectInitEvaluationResultDTO.java | 28 +++++ .../ProjectSatisfactionDetailController.java | 36 ++++++ .../dao/ProjectSatisfactionDetailDao.java | 19 ++++ .../ProjectSatisfactionDetailService.java | 27 +++++ .../ProjectSatisfactionDetailServiceImpl.java | 63 ++++++++++- .../mapper/ProjectSatisfactionDetailDao.xml | 28 +++++ .../epmet/dto/form/EvaluationListFormDTO.java | 32 ++++++ .../dto/form/ProjectEvaluateFormDTO.java | 37 +++++++ .../form/ProjectEvaluationListFormDTO.java | 32 ++++++ .../com/epmet/dto/form/ProjectIdFormDTO.java | 20 ++++ .../form/ProjectInitEvaluationFormDTO.java | 27 +++++ .../dto/form/UserResiInfoListFormDTO.java | 22 ++++ .../dto/result/EvaluationListResultDTO.java | 47 ++++++++ .../result/ProjectEvaluateInfoResultDTO.java | 25 +++++ .../ProjectEvaluationListResultDTO.java | 47 ++++++++ .../ProjectInitEvaluationResultDTO.java | 26 +++++ .../dto/result/UserResiInfoResultDTO.java | 64 +++++++++++ .../java/com/epmet/constat/HallConstat.java | 14 +++ .../com/epmet/controller/IssueController.java | 57 ++++++++-- .../com/epmet/feign/EpmetUserFeignClient.java | 13 +++ .../com/epmet/feign/GovIssueFeignClient.java | 19 ++-- .../epmet/feign/GovProjectFeignClient.java | 49 +++++++++ .../EpmetUserFeignClientFallBack.java | 10 ++ .../fallback/GovIssueFeignClientFallBack.java | 12 +- .../GovProjectFeignClientFallBack.java | 37 +++++++ .../java/com/epmet/service/IssueService.java | 45 ++++++-- .../epmet/service/impl/IssueServiceImpl.java | 104 +++++++++++++++++- .../dto/result/EvaluationListResultDTO.java | 47 ++++++++ .../com/epmet/service/UserWechatService.java | 6 +- .../service/impl/UserWechatServiceImpl.java | 8 +- .../main/resources/mapper/UserResiInfoDao.xml | 2 +- 52 files changed, 1503 insertions(+), 52 deletions(-) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/UserResiInfoListFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluationListFormDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectInitEvaluationFormDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluateInfoResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluationListResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectInitEvaluationResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluationListFormDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectInitEvaluationFormDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/UserResiInfoListFormDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectEvaluateInfoResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectEvaluationListResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectInitEvaluationResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/constat/HallConstat.java create mode 100644 epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java create mode 100644 epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java new file mode 100644 index 0000000000..11c8bc0d5e --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已关闭 + */ +@Data +public class EvaluationListFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String IssueId; + + /** + * 页码 + */ + private Integer pageNo; + + /** + * 每页数量 + */ + private Integer pageSize; + + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/UserResiInfoListFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/UserResiInfoListFormDTO.java new file mode 100644 index 0000000000..1a5fe5274c --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/UserResiInfoListFormDTO.java @@ -0,0 +1,22 @@ +package com.epmet.dto.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description userId集合 + * @Author yinzuomei + * @Date 2020/4/7 18:20 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class UserResiInfoListFormDTO implements Serializable { + private static final long serialVersionUID = -4454561042197166135L; + + private List userIdList; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java new file mode 100644 index 0000000000..0a286112d7 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java @@ -0,0 +1,47 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已关闭 + */ +@Data +public class EvaluationListResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价用户Id + */ + private String userId; + + /** + * 评价用户(山东路168-尹女士) + */ + private String userNickName; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价时间 + */ + private Long evaluateTime; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 用户头像 + */ + private String userHeadPhoto; + + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java new file mode 100644 index 0000000000..6bdc1f6d2f --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java @@ -0,0 +1,64 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 用户注册信息返参DTO + * @Author yinzuomei + * @Date 2020/4/7 18:45 + */ +@Data +public class UserResiInfoResultDTO implements Serializable { + + /** + * 唯一标识 + */ + private String id; + + /** + * 用户Id(主键) user.id + */ + private String userId; + + /** + * 手机号(注册手机号) + */ + private String regMobile; + + /** + * 姓氏 + */ + private String surname; + + /** + * 名称 + */ + private String name; + + /** + * 街道 + */ + private String street; + + /** + * 小区名称 + */ + private String district; + + /** + * 楼栋单元 + */ + private String buildingAddress; + + /** + * 用户显示名称 + */ + private String showName; + + /** + * 用户头像 + */ + private String headPhoto; +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java index 48ed20352d..c5170b7e79 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java @@ -52,4 +52,6 @@ public interface IssueConstant { String ISSUE_AGENCY = "agency"; String ISSUE_DEPT = "dept"; String ISSUE_GRID = "grid"; + + String SELECT_USERINFO_EXCEPTION = "获取用户昵称、头像失败"; } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java index 9738c4272d..da9fa30482 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java @@ -6,16 +6,20 @@ import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.form.CloseIssueFormDTO; -import com.epmet.dto.form.DepartmentStaffListFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.DepartmentStaffListResultDTO; +import com.epmet.dto.result.EvaluationListResultDTO; +import com.epmet.dto.result.VotingTrendResultDTO; import com.epmet.service.IssueService; +import com.epmet.service.IssueVoteStatisticalService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description 政府端-基层治理-议题管理 * @Author yinzuomei @@ -27,6 +31,8 @@ public class IssueManageController { @Autowired private IssueService issueService; + @Autowired + private IssueVoteStatisticalService issueVoteStatisticalService; /** * @param formDTO @@ -54,5 +60,25 @@ public class IssueManageController { ValidatorUtils.validateEntity(formDTO); return new Result().ok(issueService.departmentStaffList(formDTO)); } + + /** + * @Description 详情折线图 + * @param issueId + * @author zxc + */ + @PostMapping("votingtrend") + public Result votingTrend(@RequestBody IssueIdFormDTO issueId){ + return new Result().ok(issueVoteStatisticalService.votingTrend(issueId)); + } + + /** + * @Description 满意度评价列表——已关闭 + * @param formDTO + * @author zxc + */ + @PostMapping("evaluationlist") + public Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO){ + return new Result>().ok(issueVoteStatisticalService.evaluationList(formDTO)); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSatisfactionDetailController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSatisfactionDetailController.java index b899a287ca..4eb362bec6 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSatisfactionDetailController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSatisfactionDetailController.java @@ -27,7 +27,9 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.IssueSatisfactionDetailDTO; import com.epmet.dto.form.EvaluateFormDTO; +import com.epmet.dto.form.EvaluationListFormDTO; import com.epmet.dto.form.InitEvaluationFormDTO; +import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.dto.result.InitEvaluationResultDTO; import com.epmet.excel.IssueSatisfactionDetailExcel; import com.epmet.service.IssueSatisfactionDetailService; @@ -105,7 +107,7 @@ public class IssueSatisfactionDetailController { } /** - * @Description 提交满意度评价 + * @Description 提交满意度评价——已关闭 * @param formDTO * @author zxc */ @@ -115,4 +117,14 @@ public class IssueSatisfactionDetailController { return new Result(); } + /** + * @Description 满意度评价列表——已关闭 + * @param formDTO + * @author zxc + */ + @PostMapping("evaluationlist") + public Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO){ + return new Result>().ok(issueSatisfactionDetailService.evaluationList(formDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSatisfactionDetailDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSatisfactionDetailDao.java index 0c29b55ace..b8152ad1d3 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSatisfactionDetailDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSatisfactionDetailDao.java @@ -19,10 +19,14 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.EvaluateInfoDTO; +import com.epmet.dto.form.EvaluationListFormDTO; import com.epmet.dto.form.InitEvaluationFormDTO; +import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.entity.IssueSatisfactionDetailEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 议题满意度调查记录表 * @@ -39,4 +43,11 @@ public interface IssueSatisfactionDetailDao extends BaseDao evaluationList(EvaluationListFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java new file mode 100644 index 0000000000..dd7dd564dc --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -0,0 +1,32 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.UserResiInfoResultDTO; +import com.epmet.feign.fallback.EpmetUserFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @author zxc + * @dscription + * @date 2020/5/11 10:32 + */ +//url = "localhost:8087" +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class) +public interface EpmetUserFeignClient { + + /** + * @Description 查询评价人和评价人头像 + * @param formDTO + * @author zxc + */ + @PostMapping("/epmetuser/userresiinfo/getuserresiinfolist") + Result> getUserResiInfoList(@RequestBody UserResiInfoListFormDTO formDTO); + + +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java new file mode 100644 index 0000000000..8dd1e31196 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java @@ -0,0 +1,24 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.UserResiInfoResultDTO; +import com.epmet.feign.EpmetUserFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @Auther zxc + * @Create 2020-05-11 10:33 + */ +@Component +public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { + + @Override + public Result> getUserResiInfoList(UserResiInfoListFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResiInfoList", formDTO); + } +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSatisfactionDetailService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSatisfactionDetailService.java index 1abbd939af..a8fafa08a0 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSatisfactionDetailService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSatisfactionDetailService.java @@ -21,9 +21,12 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IssueSatisfactionDetailDTO; import com.epmet.dto.form.EvaluateFormDTO; +import com.epmet.dto.form.EvaluationListFormDTO; import com.epmet.dto.form.InitEvaluationFormDTO; +import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.dto.result.InitEvaluationResultDTO; import com.epmet.entity.IssueSatisfactionDetailEntity; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -97,16 +100,23 @@ public interface IssueSatisfactionDetailService extends BaseService evaluationList(@RequestBody EvaluationListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java index 8e1751de09..39e65850e8 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java @@ -21,10 +21,13 @@ 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.dto.IssueVoteStatisticalDTO; +import com.epmet.dto.form.EvaluationListFormDTO; import com.epmet.dto.form.IssueIdFormDTO; +import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.dto.result.VoteResultDTO; import com.epmet.dto.result.VotingTrendResultDTO; import com.epmet.entity.IssueVoteStatisticalEntity; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -111,4 +114,11 @@ public interface IssueVoteStatisticalService extends BaseService evaluationList(EvaluationListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSatisfactionDetailServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSatisfactionDetailServiceImpl.java index 5bd8aff0e6..37fb08814d 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSatisfactionDetailServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSatisfactionDetailServiceImpl.java @@ -20,6 +20,8 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; @@ -28,7 +30,9 @@ import com.epmet.dao.IssueSatisfactionDetailDao; import com.epmet.dto.EvaluateInfoDTO; import com.epmet.dto.IssueSatisfactionDetailDTO; import com.epmet.dto.form.EvaluateFormDTO; +import com.epmet.dto.form.EvaluationListFormDTO; import com.epmet.dto.form.InitEvaluationFormDTO; +import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.dto.result.InitEvaluationResultDTO; import com.epmet.entity.IssueSatisfactionDetailEntity; import com.epmet.redis.IssueSatisfactionDetailRedis; @@ -130,7 +134,7 @@ public class IssueSatisfactionDetailServiceImpl extends BaseServiceImpl evaluationList(EvaluationListFormDTO formDTO) { + return baseDao.evaluationList(formDTO); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java index 2f10a43d19..ab2483778d 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java @@ -119,7 +119,7 @@ public class IssueVoteDetailServiceImpl extends BaseServiceImpl page(Map params) { @@ -145,4 +160,35 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl evaluationList(EvaluationListFormDTO formDTO) { + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + List data = issueSatisfactionDetailDao.evaluationList(formDTO); + if (data.size()==NumConstant.ZERO||data==null){ + return new ArrayList<>(); + } + //获取头像和昵称 eg:山东路168号-周先生 + List userIds = data.stream().map(EvaluationListResultDTO::getUserId).collect(Collectors.toList()); + UserResiInfoListFormDTO userResiInfo = new UserResiInfoListFormDTO(); + userResiInfo.setUserIdList(userIds); + List userResiInfoList = userFeignClient.getUserResiInfoList(userResiInfo).getData(); + if (null == userResiInfoList || userResiInfoList.size() < NumConstant.ONE) { + throw new RenException(IssueConstant.SELECT_USERINFO_EXCEPTION); + } + List resultList = data.stream().flatMap(evaluation -> userResiInfoList.stream().filter(user -> + evaluation.getUserId().equals(user.getUserId())).map(userInfo -> { + EvaluationListResultDTO resultDTO = ConvertUtils.sourceToTarget(evaluation, EvaluationListResultDTO.class); + resultDTO.setUserNickName(null == userInfo.getShowName() ? "" : userInfo.getShowName()); + resultDTO.setUserHeadPhoto(null == userInfo.getHeadPhoto() ? "" : userInfo.getHeadPhoto()); + return resultDTO; + })).collect(Collectors.toList()); + return resultList; + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSatisfactionDetailDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSatisfactionDetailDao.xml index 576f6b859d..9f3644db84 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSatisfactionDetailDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSatisfactionDetailDao.xml @@ -29,4 +29,20 @@ AND created_by = #{userId} + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java new file mode 100644 index 0000000000..d70fe56a24 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java @@ -0,0 +1,37 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 提交满意度评价——已转项目 + */ +@Data +public class ProjectEvaluateFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String projectId; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价内容 + */ + private String comment; + + /** + * 用户ID + */ + private String userId; + + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluationListFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluationListFormDTO.java new file mode 100644 index 0000000000..6ba8cf9c1d --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluationListFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已转项目 + */ +@Data +public class ProjectEvaluationListFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String projectId; + + /** + * 页码 + */ + private Integer pageNo; + + /** + * 每页数量 + */ + private Integer pageSize; + + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectInitEvaluationFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectInitEvaluationFormDTO.java new file mode 100644 index 0000000000..c57d2cc4be --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectInitEvaluationFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价初始化 + */ +@Data +public class ProjectInitEvaluationFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 项目Id + */ + private String projectId; + + /** + * 创建人 + */ + private String userId; + + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluateInfoResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluateInfoResultDTO.java new file mode 100644 index 0000000000..52950afad5 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluateInfoResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 项目满意度评价信息 + */ +@Data +public class ProjectEvaluateInfoResultDTO implements Serializable { + + private static final long serialVersionUID = -3699103790181586654L; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluationListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluationListResultDTO.java new file mode 100644 index 0000000000..dc40ce5a3c --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluationListResultDTO.java @@ -0,0 +1,47 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已关闭 + */ +@Data +public class ProjectEvaluationListResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价用户Id + */ + private String userId; + + /** + * 评价用户(山东路168-尹女士) + */ + private String userNickName; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价时间 + */ + private Long evaluateTime; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 用户头像 + */ + private String userHeadPhoto; + + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectInitEvaluationResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectInitEvaluationResultDTO.java new file mode 100644 index 0000000000..33883cd6ab --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectInitEvaluationResultDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.result; + +import com.epmet.dto.form.ProjectEvaluateFormDTO; +import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价初始化 + */ +@Data +public class ProjectInitEvaluationResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价状态:true已评价,false未评价 + */ + private Boolean status; + + /** + * 评价信息 + */ + private ProjectEvaluateInfoResultDTO evaluateInfo; + +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectSatisfactionDetailController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectSatisfactionDetailController.java index 4505cf4ec7..e6cff263f9 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectSatisfactionDetailController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectSatisfactionDetailController.java @@ -26,6 +26,11 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.ProjectSatisfactionDetailDTO; +import com.epmet.dto.form.ProjectEvaluateFormDTO; +import com.epmet.dto.form.ProjectEvaluationListFormDTO; +import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import com.epmet.dto.result.ProjectEvaluationListResultDTO; +import com.epmet.dto.result.ProjectInitEvaluationResultDTO; import com.epmet.excel.ProjectSatisfactionDetailExcel; import com.epmet.service.ProjectSatisfactionDetailService; import org.springframework.beans.factory.annotation.Autowired; @@ -91,4 +96,35 @@ public class ProjectSatisfactionDetailController { ExcelUtils.exportExcelToTarget(response, null, list, ProjectSatisfactionDetailExcel.class); } + /** + * @Description 提交满意度评价初始化——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("projectinitevaluation") + public Result projectInitEvaluation(@RequestBody ProjectInitEvaluationFormDTO formDTO){ + return new Result().ok(projectSatisfactionDetailService.projectInitEvaluation(formDTO)); + } + + /** + * @Description 提交满意度评价——已转项目 + * @param projectEvaluate + * @author zxc + */ + @PostMapping("projectevaluate") + public Result projectEvaluate(@RequestBody ProjectEvaluateFormDTO projectEvaluate){ + projectSatisfactionDetailService.projectEvaluate(projectEvaluate); + return new Result(); + } + + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("projectevaluationlist") + public Result> projectEvaluationList(@RequestBody ProjectEvaluationListFormDTO formDTO){ + return new Result>().ok(projectSatisfactionDetailService.projectEvaluationList(formDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java index 514c7060b1..83ab6375c0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java @@ -18,7 +18,11 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.ProjectEvaluationListFormDTO; +import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import com.epmet.dto.result.ProjectEvaluateInfoResultDTO; import com.epmet.dto.result.EvaluationListResultDTO; +import com.epmet.dto.result.ProjectEvaluationListResultDTO; import com.epmet.entity.ProjectSatisfactionDetailEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -41,4 +45,19 @@ public interface ProjectSatisfactionDetailDao extends BaseDao getEvaluationListByProjectId(@Param("projectId") String projectId); + + /** + * @Description 满意度评价初始化——已转项目 + * @param projectEvaluateFormDTO + * @author zxc + */ + ProjectEvaluateInfoResultDTO checkProjectSatisfaction(ProjectInitEvaluationFormDTO projectEvaluateFormDTO); + + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + List projectEvaluationList(ProjectEvaluationListFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java index 94decfd804..245b443e28 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java @@ -21,8 +21,14 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ProjectSatisfactionDetailDTO; import com.epmet.dto.form.EvaluationListFormDTO; +import com.epmet.dto.form.ProjectEvaluationListFormDTO; import com.epmet.dto.result.EvaluationListResultDTO; +import com.epmet.dto.form.ProjectEvaluateFormDTO; +import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import com.epmet.dto.result.ProjectEvaluationListResultDTO; +import com.epmet.dto.result.ProjectInitEvaluationResultDTO; import com.epmet.entity.ProjectSatisfactionDetailEntity; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -102,4 +108,25 @@ public interface ProjectSatisfactionDetailService extends BaseService evaluationList(EvaluationListFormDTO formDTO); + + /** + * @Description 满意度评价初始化——已转项目 + * @param projectInitEvaluation + * @author zxc + */ + ProjectInitEvaluationResultDTO projectInitEvaluation(ProjectInitEvaluationFormDTO projectInitEvaluation); + + /** + * @Description 提交满意度评价——已转项目 + * @param projectEvaluate + * @author zxc + */ + void projectEvaluate(ProjectEvaluateFormDTO projectEvaluate); + + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + List projectEvaluationList(@RequestBody ProjectEvaluationListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java index 7ad9452c05..df8fb0c47b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java @@ -20,6 +20,8 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; @@ -28,15 +30,14 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.constant.ProjectConstant; import com.epmet.dao.ProjectSatisfactionDetailDao; import com.epmet.dto.ProjectSatisfactionDetailDTO; -import com.epmet.dto.form.EvaluationListFormDTO; -import com.epmet.dto.form.UserResiInfoListFormDTO; -import com.epmet.dto.result.EvaluationListResultDTO; -import com.epmet.dto.result.UserResiInfoResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.entity.ProjectSatisfactionDetailEntity; import com.epmet.feign.EpmetUserFeignClient; import com.epmet.redis.ProjectSatisfactionDetailRedis; import com.epmet.service.ProjectSatisfactionDetailService; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -147,4 +148,58 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl projectEvaluationList(ProjectEvaluationListFormDTO formDTO) { + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + return baseDao.projectEvaluationList(formDTO); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml index e2ddbd3417..afa26f2ac2 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml @@ -30,5 +30,33 @@ ORDER BY CREATED_TIME DESC + + + + + \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java new file mode 100644 index 0000000000..11c8bc0d5e --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已关闭 + */ +@Data +public class EvaluationListFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String IssueId; + + /** + * 页码 + */ + private Integer pageNo; + + /** + * 每页数量 + */ + private Integer pageSize; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java new file mode 100644 index 0000000000..d70fe56a24 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java @@ -0,0 +1,37 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 提交满意度评价——已转项目 + */ +@Data +public class ProjectEvaluateFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String projectId; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价内容 + */ + private String comment; + + /** + * 用户ID + */ + private String userId; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluationListFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluationListFormDTO.java new file mode 100644 index 0000000000..6ba8cf9c1d --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluationListFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已转项目 + */ +@Data +public class ProjectEvaluationListFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String projectId; + + /** + * 页码 + */ + private Integer pageNo; + + /** + * 每页数量 + */ + private Integer pageSize; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java new file mode 100644 index 0000000000..318eae5dcf --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 项目Id + * @Author zxc + */ +@Data +public class ProjectIdFormDTO implements Serializable { + private static final long serialVersionUID = 2887479755214503489L; + + @NotBlank(message = "项目id不能为空") + private String projectId; + +} + diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectInitEvaluationFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectInitEvaluationFormDTO.java new file mode 100644 index 0000000000..c57d2cc4be --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectInitEvaluationFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价初始化 + */ +@Data +public class ProjectInitEvaluationFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 项目Id + */ + private String projectId; + + /** + * 创建人 + */ + private String userId; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/UserResiInfoListFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/UserResiInfoListFormDTO.java new file mode 100644 index 0000000000..1a5fe5274c --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/UserResiInfoListFormDTO.java @@ -0,0 +1,22 @@ +package com.epmet.dto.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description userId集合 + * @Author yinzuomei + * @Date 2020/4/7 18:20 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class UserResiInfoListFormDTO implements Serializable { + private static final long serialVersionUID = -4454561042197166135L; + + private List userIdList; +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java new file mode 100644 index 0000000000..0a286112d7 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java @@ -0,0 +1,47 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已关闭 + */ +@Data +public class EvaluationListResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价用户Id + */ + private String userId; + + /** + * 评价用户(山东路168-尹女士) + */ + private String userNickName; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价时间 + */ + private Long evaluateTime; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 用户头像 + */ + private String userHeadPhoto; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectEvaluateInfoResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectEvaluateInfoResultDTO.java new file mode 100644 index 0000000000..52950afad5 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectEvaluateInfoResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 项目满意度评价信息 + */ +@Data +public class ProjectEvaluateInfoResultDTO implements Serializable { + + private static final long serialVersionUID = -3699103790181586654L; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectEvaluationListResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectEvaluationListResultDTO.java new file mode 100644 index 0000000000..dc40ce5a3c --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectEvaluationListResultDTO.java @@ -0,0 +1,47 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已关闭 + */ +@Data +public class ProjectEvaluationListResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价用户Id + */ + private String userId; + + /** + * 评价用户(山东路168-尹女士) + */ + private String userNickName; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价时间 + */ + private Long evaluateTime; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 用户头像 + */ + private String userHeadPhoto; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectInitEvaluationResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectInitEvaluationResultDTO.java new file mode 100644 index 0000000000..182cdff0fd --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectInitEvaluationResultDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价初始化 + */ +@Data +public class ProjectInitEvaluationResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价状态:true已评价,false未评价 + */ + private Boolean status; + + /** + * 评价信息 + */ + private ProjectEvaluateInfoResultDTO evaluateInfo; + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java new file mode 100644 index 0000000000..6bdc1f6d2f --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java @@ -0,0 +1,64 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 用户注册信息返参DTO + * @Author yinzuomei + * @Date 2020/4/7 18:45 + */ +@Data +public class UserResiInfoResultDTO implements Serializable { + + /** + * 唯一标识 + */ + private String id; + + /** + * 用户Id(主键) user.id + */ + private String userId; + + /** + * 手机号(注册手机号) + */ + private String regMobile; + + /** + * 姓氏 + */ + private String surname; + + /** + * 名称 + */ + private String name; + + /** + * 街道 + */ + private String street; + + /** + * 小区名称 + */ + private String district; + + /** + * 楼栋单元 + */ + private String buildingAddress; + + /** + * 用户显示名称 + */ + private String showName; + + /** + * 用户头像 + */ + private String headPhoto; +} diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/constat/HallConstat.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/constat/HallConstat.java new file mode 100644 index 0000000000..19af02540a --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/constat/HallConstat.java @@ -0,0 +1,14 @@ +package com.epmet.constat; + +/** + * @Author zxc + * @CreateTime 2020/5/13 18:02 + */ +public interface HallConstat { + + /** + * 调用epmet-user服务查询数据失败 + */ + String SELECT_USERINFO_EXCEPTION = "获取用户昵称、头像失败"; + +} diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java index 508694bfea..cc50d7dcd0 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java @@ -5,13 +5,8 @@ import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.form.EvaluateFormDTO; -import com.epmet.dto.form.IssueDetailFormDTO; -import com.epmet.dto.form.IssueIdFormDTO; -import com.epmet.dto.result.InitEvaluationResultDTO; -import com.epmet.dto.result.IssueDetailResultDTO; -import com.epmet.dto.result.VoteResultDTO; -import com.epmet.dto.result.VotingTrendResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -19,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description 居民端党群议事 * @Author yinzuomei @@ -86,7 +83,7 @@ public class IssueController { } /** - * @Description 满意度评价初始化 + * @Description 满意度评价初始化——已关闭 * @param tokenDto * @param issueId * @author zxc @@ -97,7 +94,18 @@ public class IssueController { } /** - * @Description 提交满意度评价 + * @Description 满意度评价初始化——已转项目 + * @param tokenDto + * @param projectId + * @author zxc + */ + @PostMapping("projectinitevaluation") + public Result projectInitEvaluation(@LoginUser TokenDto tokenDto, @RequestBody ProjectIdFormDTO projectId){ + return new Result().ok(issueService.projectInitEvaluation(tokenDto,projectId)); + } + + /** + * @Description 提交满意度评价——已关闭的议题 * @param formDTO * @author zxc */ @@ -107,5 +115,36 @@ public class IssueController { return new Result(); } + /** + * @Description 提交满意度评价——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("projectevaluate") + public Result projectEvaluate(@LoginUser TokenDto tokenDto,@RequestBody ProjectEvaluateFormDTO formDTO){ + issueService.projectEvaluate(tokenDto,formDTO); + return new Result(); + } + + /** + * @Description 满意度评价列表——已关闭 + * @param formDTO + * @author zxc + */ + @PostMapping("evaluationlist") + public Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO){ + return new Result>().ok(issueService.evaluationList(formDTO)); + } + + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("projectevaluationlist") + public Result> projectEvaluationList(@RequestBody ProjectEvaluationListFormDTO formDTO){ + return new Result>().ok(issueService.projectEvaluationList(formDTO)); + } + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index 6b397e298e..e5721246f5 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -3,12 +3,16 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.IssueInitiatorFormDTO; +import com.epmet.dto.form.UserResiInfoListFormDTO; import com.epmet.dto.result.IssueInitiatorResultDTO; +import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.fallback.EpmetUserFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import java.util.List; + /** * @author zxc * @dscription @@ -27,4 +31,13 @@ public interface EpmetUserFeignClient { @PostMapping(value = "/epmetuser/userresiinfo/selectissueinitiator") Result selectIssueInitiator(@RequestBody IssueInitiatorFormDTO formDTO); + /** + * @Description 查询评价人和评价人头像 + * @param formDTO + * @author zxc + */ + @PostMapping("/epmetuser/userresiinfo/getuserresiinfolist") + Result> getUserResiInfoList(@RequestBody UserResiInfoListFormDTO formDTO); + + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java index c4103e74dc..992cf49c72 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java @@ -1,19 +1,16 @@ package com.epmet.feign; -import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.constant.ServiceConstant; -import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.*; -import com.epmet.dto.result.InitEvaluationResultDTO; -import com.epmet.dto.result.IssueResultDTO; -import com.epmet.dto.result.VoteResultDTO; -import com.epmet.dto.result.VotingTrendResultDTO; +import com.epmet.dto.result.*; import com.epmet.feign.fallback.GovIssueFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import java.util.List; + /** * @Description Feign调用gov-issue-server模块 @@ -56,7 +53,7 @@ public interface GovIssueFeignClient { Result vote(@RequestBody VoteFormDTO issueId); /** - * @Description 满意度评价初始化 + * @Description 满意度评价初始化——已关闭 * @param formDTO * @author zxc */ @@ -71,4 +68,12 @@ public interface GovIssueFeignClient { @PostMapping("/gov/issue/issuesatisfactiondetail/evaluate") Result evaluate(@RequestBody EvaluateFormDTO formDTO); + /** + * @Description 满意度评价列表——已关闭 + * @param formDTO + * @author zxc + */ + @PostMapping("/gov/issue/issuesatisfactiondetail/evaluationlist") + Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO); + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java new file mode 100644 index 0000000000..1d9f6bcabc --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java @@ -0,0 +1,49 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.ProjectEvaluateFormDTO; +import com.epmet.dto.form.ProjectEvaluationListFormDTO; +import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import com.epmet.dto.result.ProjectEvaluationListResultDTO; +import com.epmet.dto.result.ProjectInitEvaluationResultDTO; +import com.epmet.feign.fallback.GovProjectFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + + +/** + * @Description Feign调用gov-project-server模块 + * @ClassName GovProjectFeignClient + * url = "localhost:8102" + */ +@FeignClient(name = ServiceConstant.GOV_PROJECT_SERVER, fallback = GovProjectFeignClientFallBack.class) +public interface GovProjectFeignClient { + + /** + * @Description 提交满意度评价初始化——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("/gov/project/projectsatisfactiondetail/projectinitevaluation") + Result projectInitEvaluation(@RequestBody ProjectInitEvaluationFormDTO formDTO); + + /** + * @Description 提交满意度评价——已转项目 + * @param projectEvaluate + * @author zxc + */ + @PostMapping("/gov/project/projectsatisfactiondetail/projectevaluate") + Result projectEvaluate(@RequestBody ProjectEvaluateFormDTO projectEvaluate); + + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("/gov/project/projectsatisfactiondetail/projectevaluationlist") + Result> projectEvaluationList(ProjectEvaluationListFormDTO formDTO); +} diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java index e7003949aa..8cdf3782bb 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java @@ -4,10 +4,15 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.IssueInitiatorFormDTO; +import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.dto.result.IssueInitiatorResultDTO; +import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.EpmetUserFeignClient; import org.springframework.stereotype.Component; +import java.util.List; + /** * @Auther zxc * @Create 2020-05-11 10:33 @@ -25,4 +30,9 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { public Result selectIssueInitiator(IssueInitiatorFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "selectIssueInitiator", formDTO); } + + @Override + public Result> getUserResiInfoList(UserResiInfoListFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResiInfoList", formDTO); + } } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java index c464a6f5a3..03ba888efa 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java @@ -5,13 +5,12 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.*; -import com.epmet.dto.result.InitEvaluationResultDTO; -import com.epmet.dto.result.IssueResultDTO; -import com.epmet.dto.result.VoteResultDTO; -import com.epmet.dto.result.VotingTrendResultDTO; +import com.epmet.dto.result.*; import com.epmet.feign.GovIssueFeignClient; import org.springframework.stereotype.Component; +import java.util.List; + /** * @Description Feign * @ClassName GovIssueFeginFallBack @@ -48,4 +47,9 @@ public class GovIssueFeignClientFallBack implements GovIssueFeignClient { public Result evaluate(EvaluateFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "evaluate", formDTO); } + + @Override + public Result> evaluationList(EvaluationListFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "evaluationList", formDTO); + } } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java new file mode 100644 index 0000000000..a68d848f90 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java @@ -0,0 +1,37 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.ProjectEvaluateFormDTO; +import com.epmet.dto.form.ProjectEvaluationListFormDTO; +import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import com.epmet.dto.result.ProjectEvaluationListResultDTO; +import com.epmet.dto.result.ProjectInitEvaluationResultDTO; +import com.epmet.feign.GovProjectFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @Description Feign + * @ClassName GovProjectFeignClientFallBack + */ +@Component +public class GovProjectFeignClientFallBack implements GovProjectFeignClient { + + @Override + public Result projectInitEvaluation(ProjectInitEvaluationFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "projectInitEvaluation", formDTO); + } + + @Override + public Result projectEvaluate(ProjectEvaluateFormDTO projectEvaluate) { + return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "projectEvaluate", projectEvaluate); + } + + @Override + public Result> projectEvaluationList(ProjectEvaluationListFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "projectEvaluationList", formDTO); + } +} diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java index 20eace94e3..7127ec9eee 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java @@ -1,15 +1,13 @@ package com.epmet.service; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; -import com.epmet.dto.form.EvaluateFormDTO; -import com.epmet.dto.form.IssueDetailFormDTO; -import com.epmet.dto.form.IssueIdFormDTO; -import com.epmet.dto.result.InitEvaluationResultDTO; -import com.epmet.dto.result.IssueDetailResultDTO; -import com.epmet.dto.result.VoteResultDTO; -import com.epmet.dto.result.VotingTrendResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import org.springframework.web.bind.annotation.RequestBody; +import java.util.List; + /** * @Author zxc * @CreateTime 2020/5/11 9:44 @@ -54,7 +52,7 @@ public interface IssueService { VoteResultDTO vote(IssueIdFormDTO issueId); /** - * @Description 满意度评价初始化 + * @Description 满意度评价初始化——已关闭 * @param tokenDto * @param issueId * @author zxc @@ -62,10 +60,39 @@ public interface IssueService { InitEvaluationResultDTO initEvaluation(TokenDto tokenDto, IssueIdFormDTO issueId); /** - * @Description 提交满意度评价 + * @Description 满意度评价初始化——已转项目 + * @param tokenDto + * @param projectId + * @author zxc + */ + ProjectInitEvaluationResultDTO projectInitEvaluation(TokenDto tokenDto, ProjectIdFormDTO projectId); + + /** + * @Description 提交满意度评价——已关闭 * @param evaluateFormDTO * @author zxc */ void evaluate(TokenDto tokenDto,EvaluateFormDTO evaluateFormDTO); + /** + * @Description 提交满意度评价——已转项目 + * @param projectEvaluateFormDTO + * @author zxc + */ + void projectEvaluate(TokenDto tokenDto, ProjectEvaluateFormDTO projectEvaluateFormDTO); + + /** + * @Description 满意度评价列表——已关闭 + * @param formDTO + * @author zxc + */ + List evaluationList(EvaluationListFormDTO formDTO); + + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + List projectEvaluationList(ProjectEvaluationListFormDTO formDTO); + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 2f520351cf..dd197c2d98 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -1,20 +1,25 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.RenException; 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.constat.HallConstat; import com.epmet.dto.TopicInfoDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.feign.EpmetUserFeignClient; -import com.epmet.feign.GovIssueFeignClient; -import com.epmet.feign.GovOrgFeignClient; -import com.epmet.feign.ResiGroupFeignClient; +import com.epmet.feign.*; import com.epmet.service.IssueService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + /** * @Author zxc * @CreateTime 2020/5/11 9:46 @@ -30,6 +35,8 @@ public class IssueServiceImpl implements IssueService { private ResiGroupFeignClient resiGroupFeignClient; @Autowired private GovIssueFeignClient govIssueFeignClient; + @Autowired + private GovProjectFeignClient govProjectFeignClient; /** * @Description 议题详情 @@ -123,7 +130,7 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 满意度评价初始化 + * @Description 满意度评价初始化——已关闭 * @param tokenDto * @param issueId * @author zxc @@ -138,7 +145,22 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 提交满意度评价 + * @Description 满意度评价初始化——已转项目 + * @param tokenDto + * @param projectId + * @author zxc + */ + @Override + public ProjectInitEvaluationResultDTO projectInitEvaluation(TokenDto tokenDto, ProjectIdFormDTO projectId) { + ProjectInitEvaluationFormDTO formDTO = new ProjectInitEvaluationFormDTO(); + formDTO.setProjectId(projectId.getProjectId()); + formDTO.setUserId(tokenDto.getUserId()); + Result projectInitEvaluationResult = govProjectFeignClient.projectInitEvaluation(formDTO); + return projectInitEvaluationResult.getData(); + } + + /** + * @Description 提交满意度评价——已关闭 * @param evaluateFormDTO * @author zxc */ @@ -147,4 +169,74 @@ public class IssueServiceImpl implements IssueService { evaluateFormDTO.setUserId(tokenDto.getUserId()); govIssueFeignClient.evaluate(evaluateFormDTO); } + + /** + * @Description 提交满意度评价——已转项目 + * @param projectEvaluateFormDTO + * @author zxc + */ + @Override + public void projectEvaluate(TokenDto tokenDto, ProjectEvaluateFormDTO projectEvaluateFormDTO) { + projectEvaluateFormDTO.setUserId(tokenDto.getUserId()); + govProjectFeignClient.projectEvaluate(projectEvaluateFormDTO); + } + + /** + * @Description 满意度评价列表——已关闭 + * @param formDTO + * @author zxc + */ + @Override + public List evaluationList(EvaluationListFormDTO formDTO) { + Result> listResult = govIssueFeignClient.evaluationList(formDTO); + List data = listResult.getData(); + if (data.size()==NumConstant.ZERO||data==null){ + return new ArrayList<>(); + } + //获取头像和昵称 eg:山东路168号-周先生 + List userIds = data.stream().map(EvaluationListResultDTO::getUserId).collect(Collectors.toList()); + UserResiInfoListFormDTO userResiInfo = new UserResiInfoListFormDTO(); + userResiInfo.setUserIdList(userIds); + List userResiInfoList = userFeignClient.getUserResiInfoList(userResiInfo).getData(); + if (null == userResiInfoList || userResiInfoList.size() < NumConstant.ONE) { + throw new RenException(HallConstat.SELECT_USERINFO_EXCEPTION); + } + List resultList = data.stream().flatMap(evaluation -> userResiInfoList.stream().filter(user -> + evaluation.getUserId().equals(user.getUserId())).map(userInfo -> { + EvaluationListResultDTO resultDTO = ConvertUtils.sourceToTarget(evaluation, EvaluationListResultDTO.class); + resultDTO.setUserNickName(null == userInfo.getShowName() ? "" : userInfo.getShowName()); + resultDTO.setUserHeadPhoto(null == userInfo.getHeadPhoto() ? "" : userInfo.getHeadPhoto()); + return resultDTO; + })).collect(Collectors.toList()); + return resultList; + } + + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + @Override + public List projectEvaluationList(ProjectEvaluationListFormDTO formDTO) { + List listResult = govProjectFeignClient.projectEvaluationList(formDTO).getData(); + if (listResult.size()==NumConstant.ZERO||listResult.equals(null)){ + return new ArrayList<>(); + } + //获取头像和昵称 eg:山东路168号-周先生 + List userIds = listResult.stream().map(ProjectEvaluationListResultDTO::getUserId).collect(Collectors.toList()); + UserResiInfoListFormDTO userResiInfo = new UserResiInfoListFormDTO(); + userResiInfo.setUserIdList(userIds); + List userResiInfoList = userFeignClient.getUserResiInfoList(userResiInfo).getData(); + if (null == userResiInfoList || userResiInfoList.size() < NumConstant.ONE) { + throw new RenException(HallConstat.SELECT_USERINFO_EXCEPTION); + } + List resultList = listResult.stream().flatMap(evaluation -> userResiInfoList.stream().filter(user -> + evaluation.getUserId().equals(user.getUserId())).map(userInfo -> { + EvaluationListResultDTO resultDTO = ConvertUtils.sourceToTarget(evaluation, EvaluationListResultDTO.class); + resultDTO.setUserNickName(null == userInfo.getShowName() ? "" : userInfo.getShowName()); + resultDTO.setUserHeadPhoto(null == userInfo.getHeadPhoto() ? "" : userInfo.getHeadPhoto()); + return resultDTO; + })).collect(Collectors.toList()); + return resultList; + } } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java new file mode 100644 index 0000000000..0a286112d7 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java @@ -0,0 +1,47 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已关闭 + */ +@Data +public class EvaluationListResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价用户Id + */ + private String userId; + + /** + * 评价用户(山东路168-尹女士) + */ + private String userNickName; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价时间 + */ + private Long evaluateTime; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 用户头像 + */ + private String userHeadPhoto; + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserWechatService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserWechatService.java index 8d6f6cbdb0..5dde082f0f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserWechatService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserWechatService.java @@ -1,7 +1,6 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; -import com.epmet.commons.tools.utils.Result; import com.epmet.dto.result.CertifiedResultDTO; import com.epmet.entity.UserWechatEntity; @@ -15,6 +14,11 @@ import java.util.List; */ public interface UserWechatService extends BaseService { + /** + * @Description 获取头像 + * @param certifiedResultDTOS + * @author zxc + */ List selectUserHeadPhotoByUserId(List certifiedResultDTOS); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserWechatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserWechatServiceImpl.java index 3231224271..2f2f27b7d2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserWechatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserWechatServiceImpl.java @@ -1,6 +1,5 @@ package com.epmet.service.impl; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.dao.UserWechatDao; import com.epmet.dto.UserHeadPhotoDTO; @@ -10,8 +9,6 @@ import com.epmet.service.UserWechatService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.io.Serializable; -import java.util.Collection; import java.util.List; /** @@ -26,6 +23,11 @@ public class UserWechatServiceImpl extends BaseServiceImpl selectUserHeadPhotoByUserId(List certifiedResultDTOS) { List userHeadPhotoDTOS = userWechatDao.selectUserHeadPhotoByUserId(certifiedResultDTOS); diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml index c889d350da..16b1f13c66 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml @@ -121,7 +121,7 @@ '先生' WHEN uw.sex = '2' THEN '女士' - ELSE '某某' + ELSE '先生/女士' END ) AS issueInitiator FROM From debc462e8c8a96eedbff18e6a44ef5bf72cf9f24 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 14 May 2020 00:08:14 +0800 Subject: [PATCH 16/22] =?UTF-8?q?=E6=94=BF=E5=BA=9C=E7=AB=AF=E5=BE=85?= =?UTF-8?q?=E5=8A=9E=E4=BA=8B=E9=A1=B9=EF=BC=88reddot=EF=BC=89=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E3=80=81=E6=9F=A5=E8=AF=A2=E7=BD=91=E6=A0=BC=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91=E5=8F=8A=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=8C=E6=B6=89=E5=8F=8A=E5=90=84=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/redis/RedisKeys.java | 22 - .../epmet/commons/tools/redis/RedisUtils.java | 31 ++ .../com/epmet/dto/form/RedDotFormDTO.java | 29 ++ .../result/GridProcessingCountResultDTO.java | 24 + .../com/epmet/dto/result/RedDotResultDTO.java | 28 + .../WorkGrassRootsFunctionConstant.java | 30 ++ .../epmet/controller/RemindController.java | 48 ++ .../com/epmet/controller/TestFormDTO1.java | 15 + .../com/epmet/controller/TestResultDTO1.java | 15 + .../com/epmet/feign/GovIssueFeignClient.java | 29 ++ .../com/epmet/feign/GovOrgFeignClient.java | 29 ++ .../com/epmet/feign/ResiGroupFeignClient.java | 24 +- .../feign/ResiPartymemberFeignClient.java | 21 + .../fallback/GovIssueFeignClientFallBack.java | 23 + .../fallback/GovOrgFeignClientFallBack.java | 27 + .../ResiGroupFeignClientFallBack.java | 13 + .../ResiPartymemberFeignClientFallBack.java | 11 + .../java/com/epmet/service/RemindService.java | 24 + .../epmet/service/impl/RemindServiceImpl.java | 174 +++++++ .../result/GridVotingIssueCountResultDTO.java | 24 + .../com/epmet/constant/GovIssueRedisKeys.java | 22 + .../com/epmet/controller/IssueController.java | 15 + .../java/com/epmet/redis/GovIssueRedis.java | 33 ++ .../java/com/epmet/service/IssueService.java | 11 + .../epmet/service/impl/IssueServiceImpl.java | 18 + .../result/GridProcessingCountResultDTO.java | 24 + .../epmet/dto/result/StaffGridResultDTO.java | 37 ++ .../controller/StaffAgencyController.java | 6 +- .../com/epmet/feign/GovIssueFeignClient.java | 29 ++ .../com/epmet/feign/ResiGroupFeignClient.java | 30 ++ .../feign/ResiPartymemberFeignClient.java | 41 ++ .../fallback/GovIssueFeignClientFallBack.java | 23 + .../ResiGroupFeignClientFallBack.java | 25 + .../ResiPartymemberFeignClientFallBack.java | 29 ++ .../com/epmet/service/StaffAgencyService.java | 7 +- .../service/impl/StaffAgencyServiceImpl.java | 151 +++++- .../group/GroupProcessingCountResultDTO.java | 25 + .../resi-group/resi-group-server/pom.xml | 4 +- .../modules/constant/ResiGroupRedisKeys.java | 53 ++ .../group/controller/ResiGroupController.java | 478 +++++++++--------- .../group/controller/TestFormDTO2.java | 15 + .../group/controller/TestResultDTO2.java | 15 + .../modules/group/redis/ResiGroupRedis.java | 69 ++- .../group/service/ResiGroupService.java | 30 +- .../service/impl/ResiGroupServiceImpl.java | 104 ++-- .../member/redis/ResiGroupMemberRedis.java | 7 +- .../service/impl/ResiTopicServiceImpl.java | 5 +- .../resi-hall-server/resi-hall-server.iml | 5 + .../PartyAuthProcessingCountResultDTO.java | 25 + .../result/ResiProcessingCountResultDTO.java | 25 + .../constant/ResiPartyMemberRedisKeys.java | 35 ++ .../controller/PartymemberInfoController.java | 14 + .../service/PartymemberInfoService.java | 9 + .../impl/PartyMemberConfirmServiceImpl.java | 11 +- .../impl/PartymemberInfoServiceImpl.java | 18 +- .../ResiWarmheartedApplyController.java | 13 + .../service/ResiWarmheartedApplyService.java | 10 + .../impl/ResiWarmheartedApplyServiceImpl.java | 36 +- .../com/epmet/redis/ResiPartyMemberRedis.java | 168 ++++++ 59 files changed, 1963 insertions(+), 353 deletions(-) create mode 100644 epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/RedDotFormDTO.java create mode 100644 epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/GridProcessingCountResultDTO.java create mode 100644 epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/RedDotResultDTO.java create mode 100644 epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java create mode 100644 epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/RemindController.java create mode 100644 epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/TestFormDTO1.java create mode 100644 epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/TestResultDTO1.java create mode 100644 epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java create mode 100644 epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java create mode 100644 epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java create mode 100644 epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java create mode 100644 epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/RemindService.java create mode 100644 epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridVotingIssueCountResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/GovIssueRedisKeys.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java create mode 100644 epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/result/GridProcessingCountResultDTO.java create mode 100644 epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/result/StaffGridResultDTO.java create mode 100644 epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java create mode 100644 epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java create mode 100644 epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java create mode 100644 epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java create mode 100644 epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java create mode 100644 epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/GroupProcessingCountResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/ResiGroupRedisKeys.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestFormDTO2.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestResultDTO2.java create mode 100644 epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyAuthProcessingCountResultDTO.java create mode 100644 epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiProcessingCountResultDTO.java create mode 100644 epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/ResiPartyMemberRedisKeys.java create mode 100644 epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/redis/ResiPartyMemberRedis.java 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 d90feff39e..3670e1f9a6 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 @@ -174,28 +174,6 @@ public class RedisKeys { return rootPrefix.concat("resiregister:confirm:").concat(userId).concat("-").concat(mobile).concat("-*"); } - /** - * @Description 小组缓存信息key - * @Param 组Id - * @return epmet:resi:group:groupId - * @Author wangc - * @Date 2020.04.13 11:27 - **/ - public static String getResiGroupInfoKey(String groupId){ - return rootPrefix.concat("resi:group:").concat(groupId); - } - - /** - * @Description 组成员信息缓存key - * @Param 组Id 用户Id - * @return epmet:resi:group:member:groupId:userId - * @Author wangc - * @Date 2020.04.13 13:40 - **/ - public static String getResiGroupMemberInfoKey(String groupId, String userId){ - return rootPrefix.concat("resi:group:member:").concat(groupId).concat(":").concat(userId); - } - /** * @param phone 手机号 * @param smsCode 短信验证码 diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java index b68418626a..921a7e5576 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java @@ -13,6 +13,7 @@ import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactor import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.data.redis.support.atomic.RedisAtomicLong; import org.springframework.stereotype.Component; import java.util.Collection; @@ -210,4 +211,34 @@ public class RedisUtils { setString(key, value, DEFAULT_EXPIRE); } + /** + * @param key + * @return java.lang.Long + * @Author yinzuomei + * @Description 将 key 中储存的数字值+1 ,返回结果 + * @Date 2020/5/12 18:55 + **/ + public Long incrementAndGet(String key) { + RedisAtomicLong entityIdCounter = new RedisAtomicLong(key, redisTemplate.getConnectionFactory()); + //前者,先+1,再返回 + Long count = entityIdCounter.incrementAndGet(); + if (count == 0) { + System.out.println("返回值=0"); + count = entityIdCounter.incrementAndGet(); + } + return count; + } + + /** + * @param key + * @return java.lang.Long + * @Author yinzuomei + * @Description 将key中储存的数字值-1 ,返回结果 + * @Date 2020/5/13 9:39 + **/ + public Long decrementAndGet(String key) { + RedisAtomicLong entityIdCounter = new RedisAtomicLong(key, redisTemplate.getConnectionFactory()); + Long count = entityIdCounter.decrementAndGet(); + return count; + } } diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/RedDotFormDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/RedDotFormDTO.java new file mode 100644 index 0000000000..52b9d21b44 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/RedDotFormDTO.java @@ -0,0 +1,29 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 待办提醒(红点)入参 + * @Author yinzuomei + * @Date 2020/5/13 14:22 + */ +@Data +public class RedDotFormDTO implements Serializable { + private static final long serialVersionUID = -3108932695005624852L; + + /** + * token中获取,不能为空 + */ + @NotBlank(message = "staffId不能为空(异常:TokenDto中userId为空)") + private String staffId; + + /** + * 网格ID + */ + @NotBlank(message = "网格id不能为空") + private String gridId; +} + diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/GridProcessingCountResultDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/GridProcessingCountResultDTO.java new file mode 100644 index 0000000000..3d5a599425 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/GridProcessingCountResultDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 政府端基层治理群组管理、议题管理、居民管理、党员认证查询待办数量feign统一返参 + * @Author yinzuomei + * @Date 2020/5/13 21:43 + */ +@Data +public class GridProcessingCountResultDTO implements Serializable { + /** + * 网格id + */ + private String gridId; + + /** + * 待审核的小组总数 + */ + private Long count; +} + diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/RedDotResultDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/RedDotResultDTO.java new file mode 100644 index 0000000000..9255f78771 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/RedDotResultDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 待办提醒(红点)返参 + * @Author yinzuomei + * @Date 2020/5/13 14:23 + */ +@Data +public class RedDotResultDTO implements Serializable { + + private static final long serialVersionUID = -7872984015211318329L; + + /** + * 其它网格是否有待办事项true,false + */ + private Boolean otherGridRedDot; + + /** + * 需要显示的功能key(群组管理:work_grassroots_group,居民管理:work_grassroots_resi,党员认证:work_grassroots_partyauth,议题管理:work_grassroots_issue) + */ + private List functionList; +} + diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java new file mode 100644 index 0000000000..1e52667fff --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java @@ -0,0 +1,30 @@ +package com.epmet.constant; + +/** + * @Description 基层治理菜单key,用于是否显示红点提示 待办提醒(红点)接口反参用 + * @Author yinzuomei + * @Date 2020/5/13 14:47 + */ +public class WorkGrassRootsFunctionConstant { + + /** + * 群组管理 + */ + public static final String WORK_GRASSROOTS_GROUP="work_grassroots_group"; + + /** + * 居民管理 + */ + public static final String WORK_GRASSROOTS_RESI="work_grassroots_resi"; + + /** + * 党员认证 + */ + public static final String WORK_GRASSROOTS_PARTYAUTH="work_grassroots_partyauth"; + + /** + * 议题管理 + */ + public static final String WORK_GRASSROOTS_ISSUE="work_grassroots_issue"; +} + diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/RemindController.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/RemindController.java new file mode 100644 index 0000000000..894fa60ab7 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/RemindController.java @@ -0,0 +1,48 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.RedDotFormDTO; +import com.epmet.dto.result.RedDotResultDTO; +import com.epmet.service.RemindService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @Description 基层治理待办事项提醒 + * @Author yinzuomei + * @Date 2020/5/13 14:17 + */ +@RestController +@RequestMapping("remind") +public class RemindController { + @Autowired + private RemindService remindService; + + /** + * @return com.epmet.commons.tools.utils.Result + * @param formDTO + * @Author yinzuomei + * @Description 根据网格id,查询基层治理下网格各功能菜单是否显示红点,以及除当前网格外,其他网格是否有待办事项 + * @Date 2020/5/13 14:28 + **/ + @PostMapping("reddot") + public Result queryGridRedDot(@LoginUser TokenDto tokenDto, @RequestBody RedDotFormDTO formDTO){ + formDTO.setStaffId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO); + RedDotResultDTO redDotResultDTO=remindService.queryGridRedDot(formDTO); + return new Result().ok(redDotResultDTO); + } + + @GetMapping("test") + public Result test( ){ + TestFormDTO1 testFormDTO1=new TestFormDTO1(); + testFormDTO1.setId("111"); + testFormDTO1.setName("啊啊啊"); + TestResultDTO1 testResultDTO1=remindService.test(testFormDTO1); + return new Result().ok(testResultDTO1); + } +} + diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/TestFormDTO1.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/TestFormDTO1.java new file mode 100644 index 0000000000..564ca8426a --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/TestFormDTO1.java @@ -0,0 +1,15 @@ +package com.epmet.controller; + +import lombok.Data; + +/** + * @Description 测试feign + * @Author yinzuomei + * @Date 2020/5/13 18:23 + */ +@Data +public class TestFormDTO1 { + private String id; + private String name; +} + diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/TestResultDTO1.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/TestResultDTO1.java new file mode 100644 index 0000000000..04348391bc --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/TestResultDTO1.java @@ -0,0 +1,15 @@ +package com.epmet.controller; + +import lombok.Data; + +/** + * @Description 测试feign + * @Author yinzuomei + * @Date 2020/5/13 18:23 + */ +@Data +public class TestResultDTO1 { + private String resultId; + private String resultName; +} + diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java new file mode 100644 index 0000000000..1b7642c82a --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java @@ -0,0 +1,29 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.feign.fallback.GovIssueFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @Description 议题管理服务 + * @Author yinzuomei + * @Date 2020/5/13 15:45 + */ +@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueFeignClientFallBack.class) +public interface GovIssueFeignClient { + /** + * @param gridIdList + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查询网格下表决中的议题 + * @Date 2020/5/13 15:47 + **/ + @PostMapping(value = "/gov/issue/issue/queryvotingissuecount",consumes = MediaType.APPLICATION_JSON_VALUE) + Result queryVotingIssueCount(@RequestBody List gridIdList); +} diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java new file mode 100644 index 0000000000..97c3ce6b7f --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -0,0 +1,29 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.CustomerGridByUserIdResultDTO; +import com.epmet.feign.fallback.GovOrgFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +import java.util.List; + +/** + * @Description + * @Author sun + */ +@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class) +public interface GovOrgFeignClient { + + /** + * @param userId + * @return + * @Description 根据userId查询该用户涉及的所有网格列表 + * @Author sun + */ + @GetMapping(value = "/gov/org/customergrid/getmygrids/{userId}") + Result> getMyGrids(@PathVariable("userId") String userId); + +} diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java index 4449e64962..18815b635a 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java @@ -2,20 +2,22 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.controller.TestFormDTO1; +import com.epmet.controller.TestResultDTO1; +import com.epmet.dto.result.GridProcessingCountResultDTO; import com.epmet.feign.fallback.ResiGroupFeignClientFallBack; import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; -import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO; -import com.epmet.resi.group.dto.group.form.GroupAuditedFromDTO; -import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.group.dto.group.form.*; +import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.group.dto.topic.form.ResiTopicDetailFormDTO; import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; - +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -137,4 +139,16 @@ public interface ResiGroupFeignClient { @PostMapping("/resi/group/comment/getcommentlistoftopicgov") Result> getCommentListOfTopicGov(ResiQueryCommentFormDTO queryCommentFormDTO); - } + /** + * @param gridIdList + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查询网格下待审核的小组总数 + * @Date 2020/5/13 15:49 + **/ + @PostMapping(value = "/resi/group/group/groupprocessingcount",consumes = MediaType.APPLICATION_JSON_VALUE) + Result> queryGroupProcessingCount(@RequestBody List gridIdList); + + @PostMapping(value = "/resi/group/group/test",consumes = MediaType.APPLICATION_JSON_VALUE) + Result test(@RequestBody TestFormDTO1 testFormDTO1); +} diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java index c5be8fc73a..9d4cd796fa 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java @@ -6,6 +6,7 @@ import com.epmet.dto.form.CertifiedDetailFormDTO; import com.epmet.dto.form.CertifiedFormDTO; import com.epmet.dto.result.CertifiedDetailResultDTO; import com.epmet.dto.result.CertifiedResultDTO; +import com.epmet.dto.result.GridProcessingCountResultDTO; import com.epmet.feign.fallback.ResiPartymemberFeignClientFallBack; import com.epmet.resi.partymember.dto.partymember.form.*; import com.epmet.resi.partymember.dto.partymember.result.*; @@ -148,4 +149,24 @@ public interface ResiPartymemberFeignClient { @PostMapping("/resi/partymember/confirm/rejecteddetail") Result rejectedDetail(@RequestBody RejectedDetailFromDTO fromDTO); + /** + * @param gridIdList + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查询网格下待审核的热心居民数 + * @Date 2020/5/13 15:41 + **/ + @PostMapping(value = "/resi/partymember/resiwarmheartedapply/queryresiprocessingcount",consumes = MediaType.APPLICATION_JSON_VALUE) + Result> queryResiProcessingCount(@RequestBody List gridIdList); + + /** + * @param gridIdList + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查询网格下待审核的党员数 + * @Date 2020/5/13 15:41 + **/ + @PostMapping(value = "/resi/partymember/partymemberbaseinfo/getworkgrassrootspartyauth",consumes = MediaType.APPLICATION_JSON_VALUE) + Result> queryPartyMemberProcessingCount(@RequestBody List gridIdList); + } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java new file mode 100644 index 0000000000..3a1ccf8714 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java @@ -0,0 +1,23 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.feign.GovIssueFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @Description 议题管理服务 + * @Author yinzuomei + * @Date 2020/5/13 15:45 + */ +@Component +public class GovIssueFeignClientFallBack implements GovIssueFeignClient { + @Override + public Result queryVotingIssueCount(List gridIdList) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryVotingIssueCount", gridIdList); + } +} + diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java new file mode 100644 index 0000000000..bfb238d29a --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -0,0 +1,27 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.CustomerAgencyDTO; +import com.epmet.dto.form.LatestGridFormDTO; +import com.epmet.dto.result.CustomerGridByUserIdResultDTO; +import com.epmet.dto.result.LatestCustomerResultDTO; +import com.epmet.feign.GovOrgFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @Description + * @Author sun + */ +@Component +public class GovOrgFeignClientFallBack implements GovOrgFeignClient { + + @Override + public Result> getMyGrids(String userId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getMyGrids", userId); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java index b4fe70ea34..588142a4f0 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java @@ -3,6 +3,9 @@ package com.epmet.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.controller.TestFormDTO1; +import com.epmet.controller.TestResultDTO1; +import com.epmet.dto.result.GridProcessingCountResultDTO; import com.epmet.feign.ResiGroupFeignClient; import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; @@ -107,4 +110,14 @@ public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient { public Result> getCommentListOfTopicGov(ResiQueryCommentFormDTO queryCommentFormDTO) { return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getCommentListOfTopicGov", queryCommentFormDTO); } + + @Override + public Result> queryGroupProcessingCount(List gridIdList) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "queryGroupProcessingCount", gridIdList); + } + + @Override + public Result test(TestFormDTO1 testFormDTO1) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "test", testFormDTO1); + } } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java index acab85141f..17d8e6f0d6 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java @@ -7,6 +7,7 @@ import com.epmet.dto.form.CertifiedDetailFormDTO; import com.epmet.dto.form.CertifiedFormDTO; import com.epmet.dto.result.CertifiedDetailResultDTO; import com.epmet.dto.result.CertifiedResultDTO; +import com.epmet.dto.result.GridProcessingCountResultDTO; import com.epmet.feign.ResiPartymemberFeignClient; import com.epmet.resi.partymember.dto.partymember.form.*; import com.epmet.resi.partymember.dto.partymember.result.*; @@ -89,4 +90,14 @@ public class ResiPartymemberFeignClientFallBack implements ResiPartymemberFeignC return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "rejectedDetail", fromDTO); } + @Override + public Result> queryResiProcessingCount(List gridIdList) { + return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "queryResiProcessingCount", gridIdList); + } + + @Override + public Result> queryPartyMemberProcessingCount(List gridIdList) { + return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "queryPartyMemberProcessingCount", gridIdList); + } + } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/RemindService.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/RemindService.java new file mode 100644 index 0000000000..95c577b5ca --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/RemindService.java @@ -0,0 +1,24 @@ +package com.epmet.service; + +import com.epmet.controller.TestFormDTO1; +import com.epmet.controller.TestResultDTO1; +import com.epmet.dto.form.RedDotFormDTO; +import com.epmet.dto.result.RedDotResultDTO; + +/** + * @Description 基层治理待办事项提醒 + * @Author yinzuomei + * @Date 2020/5/13 14:26 + */ +public interface RemindService { + /** + * @return com.epmet.dto.result.RedDotResultDTO + * @param formDTO + * @Author yinzuomei + * @Description 根据网格id,查询基层治理下网格各功能菜单是否显示红点,以及除当前网格外,其他网格是否有待办事项 + * @Date 2020/5/13 14:34 + **/ + RedDotResultDTO queryGridRedDot(RedDotFormDTO formDTO); + + TestResultDTO1 test(TestFormDTO1 testFormDTO1); +} diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java new file mode 100644 index 0000000000..f9dea745a0 --- /dev/null +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java @@ -0,0 +1,174 @@ +package com.epmet.service.impl; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.WorkGrassRootsFunctionConstant; +import com.epmet.controller.TestFormDTO1; +import com.epmet.controller.TestResultDTO1; +import com.epmet.dto.form.RedDotFormDTO; +import com.epmet.dto.result.CustomerGridByUserIdResultDTO; +import com.epmet.dto.result.GridProcessingCountResultDTO; +import com.epmet.dto.result.RedDotResultDTO; +import com.epmet.feign.GovIssueFeignClient; +import com.epmet.feign.GovOrgFeignClient; +import com.epmet.feign.ResiGroupFeignClient; +import com.epmet.feign.ResiPartymemberFeignClient; +import com.epmet.service.RemindService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Description 基层治理待办事项提醒 + * @Author yinzuomei + * @Date 2020/5/13 14:27 + */ +@Service +public class RemindServiceImpl implements RemindService { + private Logger logger = LoggerFactory.getLogger(getClass()); + + @Autowired + private ResiGroupFeignClient resiGroupFeignClient; + + @Autowired + private ResiPartymemberFeignClient resiPartymemberFeignClient; + + @Autowired + private GovOrgFeignClient govOrgFeignClient; + + @Autowired + private GovIssueFeignClient govIssueFeignClient; + + @Override + public RedDotResultDTO queryGridRedDot(RedDotFormDTO formDTO) { + RedDotResultDTO redDotResultDTO = new RedDotResultDTO(); + redDotResultDTO.setOtherGridRedDot(false); + redDotResultDTO.setFunctionList(getRedDotFunctionList(formDTO.getGridId())); + Result> govOrgResult = govOrgFeignClient.getMyGrids(formDTO.getStaffId()); + if (!govOrgResult.success()) { + logger.error(String.format("调用gov-org-server服务查询工作人员网格列表失败返回结果", govOrgResult.toString())); + } + List gridList = govOrgResult.getData(); + for (CustomerGridByUserIdResultDTO gridInfo : gridList) { + if(formDTO.getGridId().equals(gridInfo)){ + //查询非当前网格的 + break; + } + //其他网格,只要存在有待办事项的网格,就需要在工作首页网格名称后面显示红点 + List functionList = this.getRedDotFunctionList(gridInfo.getGridId()); + if (null != functionList && functionList.size() > 0) { + redDotResultDTO.setOtherGridRedDot(true); + break; + } + } + return redDotResultDTO; + + } + + public List getRedDotFunctionList(String gridId) { + List functionList = new ArrayList<>(); + List gridIdList = new ArrayList<>(); + gridIdList.add(gridId); + if (this.getWorkGrassRootsGroup(gridIdList)) { + functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_GROUP); + } + if (this.getWorkGrassRootsResi(gridIdList)) { + functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_RESI); + } + if (getWorkGrassRootsPartyAuth(gridIdList)) { + functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_PARTYAUTH); + } + if (getWorkGrassRootsIssue(gridIdList)) { + functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_ISSUE); + } + return functionList; + } + + + //群组管理: work_grassroots_group + public Boolean getWorkGrassRootsGroup(List gridIdList) { + Result> groupProcessingCountResult = resiGroupFeignClient.queryGroupProcessingCount(gridIdList); + if (groupProcessingCountResult.success()) { + for (String gridId : gridIdList) { + for (GridProcessingCountResultDTO GridProcessingCountResultDTO : groupProcessingCountResult.getData()) { + if (gridId.equals(GridProcessingCountResultDTO.getGridId()) && GridProcessingCountResultDTO.getCount() > 0) { + return true; + } + } + } + } + logger.error(String.format("调用%s服务,查询网格%s待审核小组数失败code%s,msg:", ServiceConstant.RESI_GROUP_SERVER, gridIdList.get(0), groupProcessingCountResult.getCode(), + groupProcessingCountResult.getMsg())); + return false; + } + + //居民管理:work_grassroots_resi, + //查询网格下 + public Boolean getWorkGrassRootsResi(List gridIdList) { + Result> resiGroupProcessingCountResult = resiPartymemberFeignClient.queryResiProcessingCount(gridIdList); + if (resiGroupProcessingCountResult.success()) { + for (String gridId : gridIdList) { + for (GridProcessingCountResultDTO GridProcessingCountResultDTO : resiGroupProcessingCountResult.getData()) { + if (gridId.equals(GridProcessingCountResultDTO.getGridId()) && GridProcessingCountResultDTO.getCount() > 0) { + return true; + } + } + } + } + logger.error(String.format("调用%s服务,查询网格%s待审核热心居民数失败code%s,msg:", ServiceConstant.RESI_PARTYMEMBER_SERVER, gridIdList.get(0), resiGroupProcessingCountResult.getCode(), + resiGroupProcessingCountResult.getMsg())); + return false; + } + + //党员认证:work_grassroots_partyauth, + //查询网格下是否存在待审核的党员 + public Boolean getWorkGrassRootsPartyAuth(List gridIdList) { + Result> partyMemberProcessingCountResult = resiPartymemberFeignClient.queryPartyMemberProcessingCount(gridIdList); + if (partyMemberProcessingCountResult.success()) { + for (String gridId : gridIdList) { + for (GridProcessingCountResultDTO GridProcessingCountResultDTO : partyMemberProcessingCountResult.getData()) { + if (gridId.equals(GridProcessingCountResultDTO.getGridId()) && GridProcessingCountResultDTO.getCount() > 0) { + return true; + } + } + } + } + logger.error(String.format("调用%s服务,查询网格%s待审核党员数失败code%s,msg:", ServiceConstant.RESI_PARTYMEMBER_SERVER, gridIdList.get(0), partyMemberProcessingCountResult.getCode(), + partyMemberProcessingCountResult.getMsg())); + return false; + } + + //议题管理: work_grassroots_issue + //查询网格下是否存在表决中的议题 + public Boolean getWorkGrassRootsIssue(List gridIdList) { + Result> issueResult = govIssueFeignClient.queryVotingIssueCount(gridIdList); + if (issueResult.success()) { + for (String gridId : gridIdList) { + for (GridProcessingCountResultDTO GridProcessingCountResultDTO : issueResult.getData()) { + if (gridId.equals(GridProcessingCountResultDTO.getGridId()) && GridProcessingCountResultDTO.getCount() > 0) { + return true; + } + } + } + } + logger.error(String.format("调用%s服务,查询网格%s表决中议题总数失败code%s,msg:", ServiceConstant.GOV_ISSUE_SERVER, gridIdList.get(0), issueResult.getCode(), + issueResult.getMsg())); + return false; + } + + @Override + public TestResultDTO1 test(TestFormDTO1 testFormDTO1) { + Result resultDTO1Result = resiGroupFeignClient.test(testFormDTO1); + if (resultDTO1Result.success()) { + logger.info("gov-grid服务,接收返参:" + JSON.toJSONString(resultDTO1Result.getData())); + return resultDTO1Result.getData(); + } + return new TestResultDTO1(); + } +} + diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridVotingIssueCountResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridVotingIssueCountResultDTO.java new file mode 100644 index 0000000000..61a4aecfbc --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridVotingIssueCountResultDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 网格下表决中的议题总数列表 + * @Author yinzuomei + * @Date 2020/5/13 22:49 + */ +@Data +public class GridVotingIssueCountResultDTO implements Serializable { + /** + * 网格id + */ + private String gridId; + + /** + * 表决中的议题总数 + */ + private Long count; +} + diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/GovIssueRedisKeys.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/GovIssueRedisKeys.java new file mode 100644 index 0000000000..1da3dc7911 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/GovIssueRedisKeys.java @@ -0,0 +1,22 @@ +package com.epmet.constant; + +/** + * @Description gov-issue-server模块redis key + * @Author yinzuomei + * @Date 2020/5/13 23:00 + */ +public class GovIssueRedisKeys { + /** + * 党群e事通redis前缀 + */ + private static String rootPrefix = "epmet:"; + + + /** + * 政府工作段小程序:基层治理-议题管理(表决中议题总数)红点key + */ + public static String getWorkGrassrootsIssueRedDotKey(String gridId) { + return rootPrefix.concat(String.format("gov:wxmp:work:grassroots:issue:%s",gridId)); + } +} + diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java index 05cdb50892..9e6169f22b 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java @@ -4,6 +4,7 @@ import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.result.GridVotingIssueCountResultDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; @@ -12,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description 居民端党群议事 * @Author yinzuomei @@ -36,5 +39,17 @@ public class IssueController { return new Result().ok(issueService.detail(issueDetail)); } + /** + * @param gridIdList + * @return com.epmet.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 传入网格id列表,查询出每个网格下表决中的议题总数 + * @Date 2020/5/13 22:52 + **/ + @PostMapping("queryvotingissuecount") + public Result> queryVotingIssueCount(@RequestBody List gridIdList) { + List list = issueService.queryVotingIssueCount(gridIdList); + return new Result>().ok(list); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java new file mode 100644 index 0000000000..074c8e9597 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java @@ -0,0 +1,33 @@ +package com.epmet.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.constant.GovIssueRedisKeys; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * @Description gov-issue-server模块redis + * @Author yinzuomei + * @Date 2020/5/13 22:57 + */ +@Component +public class GovIssueRedis { + private Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired + private RedisUtils redisUtils; + + public Long queryVotingIssueCount(String gridId) { + Long auditingGroupCount = 0L; + try { + String workGrassrootsGroupRedDotKey = GovIssueRedisKeys.getWorkGrassrootsIssueRedDotKey(gridId); + auditingGroupCount = (Long) redisUtils.get(workGrassrootsGroupRedDotKey); + } catch (Exception e) { + logger.error(String.format("网格id%s,查询网格下表决中议题总数异常%s", gridId, e.getMessage())); + e.printStackTrace(); + } + return auditingGroupCount; + } +} + diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java index ab38c329c5..51a86afe48 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java @@ -3,9 +3,12 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.dto.form.CloseIssueFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.result.GridVotingIssueCountResultDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.entity.IssueEntity; +import java.util.List; + /** * @Author zxc * @CreateTime 2020/5/11 9:44 @@ -28,4 +31,12 @@ public interface IssueService extends BaseService { **/ void closeIssue(CloseIssueFormDTO formDTO); + /** + * @param gridIdList + * @return java.util.List + * @Author yinzuomei + * @Description 传入网格id列表,查询出每个网格下表决中的议题总数 + * @Date 2020/5/13 22:53 + **/ + List queryVotingIssueCount(List gridIdList); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 536a12307e..6483bfa018 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -14,12 +14,14 @@ import com.epmet.dto.form.CloseIssueFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; +import com.epmet.dto.result.GridVotingIssueCountResultDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.entity.IssueEntity; import com.epmet.entity.IssueProcessEntity; import com.epmet.feign.GovOrgFeignClient; import com.epmet.feign.MessageFeignClient; import com.epmet.feign.ResiGroupFeignClient; +import com.epmet.redis.GovIssueRedis; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; @@ -47,6 +49,8 @@ public class IssueServiceImpl extends BaseServiceImpl imp private ResiGroupFeignClient resiGroupFeignClient; @Autowired private MessageFeignClient messageFeignClient; + @Autowired + private GovIssueRedis govIssueRedis; /** * @Description 议题详情 @@ -104,6 +108,20 @@ public class IssueServiceImpl extends BaseServiceImpl imp throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION); } } + + @Override + public List queryVotingIssueCount(List gridIdList) { + List list=new ArrayList<>(); + for(String gridId:gridIdList){ + GridVotingIssueCountResultDTO gridVotingIssueCountResultDTO=new GridVotingIssueCountResultDTO(); + gridVotingIssueCountResultDTO.setGridId(gridId); + Long auditingCount=govIssueRedis.queryVotingIssueCount(gridId); + gridVotingIssueCountResultDTO.setCount(auditingCount); + list.add(gridVotingIssueCountResultDTO); + } + return list; + } + /** * @Description 关闭议题给话题创建人和议题发起人发送消息 * @author sun diff --git a/epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/result/GridProcessingCountResultDTO.java b/epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/result/GridProcessingCountResultDTO.java new file mode 100644 index 0000000000..3d5a599425 --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/result/GridProcessingCountResultDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 政府端基层治理群组管理、议题管理、居民管理、党员认证查询待办数量feign统一返参 + * @Author yinzuomei + * @Date 2020/5/13 21:43 + */ +@Data +public class GridProcessingCountResultDTO implements Serializable { + /** + * 网格id + */ + private String gridId; + + /** + * 待审核的小组总数 + */ + private Long count; +} + diff --git a/epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/result/StaffGridResultDTO.java b/epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/result/StaffGridResultDTO.java new file mode 100644 index 0000000000..06c76761c8 --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/result/StaffGridResultDTO.java @@ -0,0 +1,37 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 政府端工作人员的所有网格返参 + * @Author yinzuomei + * @Date 2020/5/13 13:45 + */ +@Data +public class StaffGridResultDTO implements Serializable { + + private static final long serialVersionUID = 5576720099807706663L; + /** + * 网格直属组织ID + */ + private String agencyId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 网格名称 + */ + private String gridName; + + /** + * 待办事项标记:true显示,false不显示 + */ + private Boolean redDot; + +} + diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffAgencyController.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffAgencyController.java index 3c77f93e23..692ac17669 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffAgencyController.java +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffAgencyController.java @@ -25,6 +25,7 @@ import com.epmet.dto.form.LatestGridFormDTO; import com.epmet.dto.form.SwitchGridFormDTO; import com.epmet.dto.result.CustomerGridByUserIdResultDTO; import com.epmet.dto.result.LatestCustomerResultDTO; +import com.epmet.dto.result.StaffGridResultDTO; import com.epmet.service.StaffAgencyService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -54,8 +55,9 @@ public class StaffAgencyController { * @Author sun */ @PostMapping("getmygrids") - public Result> getMyGrids(@LoginUser TokenDto tokenDTO) { - return staffAgencyService.getMyGrids(tokenDTO); + public Result> getMyGrids(@LoginUser TokenDto tokenDTO) { + List list=staffAgencyService.getMyGrids(tokenDTO.getUserId()); + return new Result>().ok(list); } /** diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java new file mode 100644 index 0000000000..1b7642c82a --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java @@ -0,0 +1,29 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.feign.fallback.GovIssueFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @Description 议题管理服务 + * @Author yinzuomei + * @Date 2020/5/13 15:45 + */ +@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueFeignClientFallBack.class) +public interface GovIssueFeignClient { + /** + * @param gridIdList + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查询网格下表决中的议题 + * @Date 2020/5/13 15:47 + **/ + @PostMapping(value = "/gov/issue/issue/queryvotingissuecount",consumes = MediaType.APPLICATION_JSON_VALUE) + Result queryVotingIssueCount(@RequestBody List gridIdList); +} diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java new file mode 100644 index 0000000000..43a1ac2ad9 --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java @@ -0,0 +1,30 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.GridProcessingCountResultDTO; +import com.epmet.feign.fallback.ResiGroupFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/4/17 15:24 + */ +@FeignClient(name = ServiceConstant.RESI_GROUP_SERVER, fallback = ResiGroupFeignClientFallBack.class) +public interface ResiGroupFeignClient { + /** + * @param gridIdList + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查询网格下待审核的小组总数 + * @Date 2020/5/13 15:49 + **/ + @PostMapping(value = "/resi/group/group/groupprocessingcount",consumes = MediaType.APPLICATION_JSON_VALUE) + Result> queryGroupProcessingCount(@RequestBody List gridIdList); +} diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java new file mode 100644 index 0000000000..cb7c2eceed --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java @@ -0,0 +1,41 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.GridProcessingCountResultDTO; +import com.epmet.feign.fallback.ResiPartymemberFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * 调用epmet-user服务 + * + * @author 赵奇风 + */ +@FeignClient(name = ServiceConstant.RESI_PARTYMEMBER_SERVER, fallback = ResiPartymemberFeignClientFallBack.class) +public interface ResiPartymemberFeignClient { + /** + * @param gridIdList + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查询网格下待审核的热心居民数 + * @Date 2020/5/13 15:41 + **/ + @PostMapping(value = "/resi/partymember/resiwarmheartedapply/queryresiprocessingcount",consumes = MediaType.APPLICATION_JSON_VALUE) + Result> queryResiProcessingCount(@RequestBody List gridIdList); + + /** + * @param gridIdList + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查询网格下待审核的党员数 + * @Date 2020/5/13 15:41 + **/ + @PostMapping(value = "/resi/partymember/partymemberbaseinfo/getworkgrassrootspartyauth",consumes = MediaType.APPLICATION_JSON_VALUE) + Result> queryPartyMemberProcessingCount(@RequestBody List gridIdList); + +} diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java new file mode 100644 index 0000000000..3a1ccf8714 --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java @@ -0,0 +1,23 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.feign.GovIssueFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @Description 议题管理服务 + * @Author yinzuomei + * @Date 2020/5/13 15:45 + */ +@Component +public class GovIssueFeignClientFallBack implements GovIssueFeignClient { + @Override + public Result queryVotingIssueCount(List gridIdList) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryVotingIssueCount", gridIdList); + } +} + diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java new file mode 100644 index 0000000000..8afd447147 --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java @@ -0,0 +1,25 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.GridProcessingCountResultDTO; +import com.epmet.feign.ResiGroupFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/4/17 15:27 + */ +@Component +public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient { + + @Override + public Result> queryGroupProcessingCount(List gridIdList) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "queryGroupProcessingCount", gridIdList); + } + +} diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java new file mode 100644 index 0000000000..747c715e96 --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java @@ -0,0 +1,29 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.GridProcessingCountResultDTO; +import com.epmet.feign.ResiPartymemberFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/4/16 17:01 + */ +@Component +public class ResiPartymemberFeignClientFallBack implements ResiPartymemberFeignClient { + @Override + public Result> queryResiProcessingCount(List gridIdList) { + return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "queryResiProcessingCount", gridIdList); + } + + @Override + public Result> queryPartyMemberProcessingCount(List gridIdList) { + return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "queryPartyMemberProcessingCount", gridIdList); + } + +} diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffAgencyService.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffAgencyService.java index 2530c956a4..da353a9f37 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffAgencyService.java +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffAgencyService.java @@ -23,6 +23,7 @@ import com.epmet.dto.form.LatestGridFormDTO; import com.epmet.dto.form.SwitchGridFormDTO; import com.epmet.dto.result.CustomerGridByUserIdResultDTO; import com.epmet.dto.result.LatestCustomerResultDTO; +import com.epmet.dto.result.StaffGridResultDTO; import java.util.List; @@ -34,12 +35,12 @@ import java.util.List; public interface StaffAgencyService { /** - * @param tokenDTO + * @param staffId * @return - * @Description 根据userId查询该用户涉及的所有网格列表 + * @Description 根据staffId查询该工作人员的所有网格列表 * @Author sun */ - Result> getMyGrids(TokenDto tokenDTO); + List getMyGrids(String staffId); /** * 获取最近一次登录的客户信息 diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java index adc8807690..2cbda237bb 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java @@ -25,10 +25,10 @@ import com.epmet.dto.form.LatestGridFormDTO; import com.epmet.dto.form.StaffGridVisitedFormDTO; import com.epmet.dto.form.SwitchGridFormDTO; import com.epmet.dto.result.CustomerGridByUserIdResultDTO; +import com.epmet.dto.result.GridProcessingCountResultDTO; import com.epmet.dto.result.LatestCustomerResultDTO; -import com.epmet.feign.EpmetUserFeignClient; -import com.epmet.feign.GovOrgFeignClient; -import com.epmet.service.AccessService; +import com.epmet.dto.result.StaffGridResultDTO; +import com.epmet.feign.*; import com.epmet.service.StaffAgencyService; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -36,6 +36,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -51,27 +52,153 @@ public class StaffAgencyServiceImpl implements StaffAgencyService { @Autowired private EpmetUserFeignClient epmetUserFeignClient; @Autowired - private AccessService accessService; + private ResiGroupFeignClient resiGroupFeignClient; + @Autowired + private ResiPartymemberFeignClient resiPartymemberFeignClient; + @Autowired + private GovIssueFeignClient govIssueFeignClient; + /** - * @param tokenDTO + * @param staffId * @return * @Description 根据userId查询该用户涉及的所有网格列表 * @Author sun */ @Override - public Result> getMyGrids(TokenDto tokenDTO) { - return govOrgFeignClient.getMyGrids(tokenDTO.getUserId()); + public List getMyGrids(String staffId) { + //1、获取拥有的所有网格 + Result> govOrgResult = govOrgFeignClient.getMyGrids(staffId); + if (!govOrgResult.success() || (null == govOrgResult.getData() || govOrgResult.getData().size() < 1)) { + logger.error(String.format("调用gov-org-server服务查询工作人员网格列表失败返回结果", govOrgResult.toString())); + return new ArrayList<>(); + } + List gridList = ConvertUtils.sourceToTarget(govOrgResult.getData(), StaffGridResultDTO.class); + if (null == gridList || gridList.isEmpty()) { + return gridList; + } + //2、获取网格id列表 + List gridIds = new ArrayList<>(); + for (StaffGridResultDTO staffGridResultDTO : gridList) { + //默认不显示红点 + staffGridResultDTO.setRedDot(false); + gridIds.add(staffGridResultDTO.getGridId()); + } + //获取各个网格每个菜单的待办数量 + List groupProcessingList = this.getGroupCountList(gridIds); + List resiProcessingList = this.getResiCountList(gridIds); + List partyMemberProcessingList = this.getPartyMemberCountList(gridIds); + List issueProcessingList = this.getIssueCountList(gridIds); + for (StaffGridResultDTO staffGridInfo : gridList) { + if (this.checkGroupProcessing(staffGridInfo.getGridId(), groupProcessingList)) { + staffGridInfo.setRedDot(true); + break; + } + if (this.checkResiProcessing(staffGridInfo.getGridId(), resiProcessingList)) { + staffGridInfo.setRedDot(true); + break; + } + if (this.checkPartyMemberProcessing(staffGridInfo.getGridId(), partyMemberProcessingList)) { + staffGridInfo.setRedDot(true); + break; + } + if (this.checkIssueProcessing(staffGridInfo.getGridId(), issueProcessingList)) { + staffGridInfo.setRedDot(true); + break; + } + } + return gridList; + } + + private boolean checkIssueProcessing(String gridId, List issueProcessingList) { + boolean flag = false; + for (GridProcessingCountResultDTO gridProcessingCountResultDTO : issueProcessingList) { + if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) { + flag = true; + break; + } + } + return flag; + } + + private boolean checkPartyMemberProcessing(String gridId, List partyMemberProcessingList) { + boolean flag = false; + for (GridProcessingCountResultDTO gridProcessingCountResultDTO : partyMemberProcessingList) { + if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) { + flag = true; + break; + } + } + return flag; + } + + private boolean checkResiProcessing(String gridId, List resiProcessingList) { + boolean flag = false; + for (GridProcessingCountResultDTO gridProcessingCountResultDTO : resiProcessingList) { + if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) { + flag = true; + break; + } + } + return flag; + } + + private boolean checkGroupProcessing(String gridId, List groupProcessingList) { + boolean flag = false; + for (GridProcessingCountResultDTO gridProcessingCountResultDTO : groupProcessingList) { + if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) { + flag = true; + break; + } + } + return flag; } + private List getIssueCountList(List gridIdList) { + List list = new ArrayList<>(); + Result> issueResult = govIssueFeignClient.queryVotingIssueCount(gridIdList); + if (issueResult.success() && null != issueResult.getData() && issueResult.getData().size() > 0) { + list.addAll(issueResult.getData()); + } + return list; + } + + private List getPartyMemberCountList(List gridIdList) { + List list = new ArrayList<>(); + Result> partyAuthResult = resiPartymemberFeignClient.queryPartyMemberProcessingCount(gridIdList); + if (partyAuthResult.success() && null != partyAuthResult.getData() && partyAuthResult.getData().size() > 0) { + list.addAll(partyAuthResult.getData()); + } + return list; + } + + private List getResiCountList(List gridIdList) { + List list = new ArrayList<>(); + Result> resiCount = resiPartymemberFeignClient.queryResiProcessingCount(gridIdList); + if (resiCount.success() && null != resiCount.getData() && resiCount.getData().size() > 0) { + list.addAll(resiCount.getData()); + } + return list; + } + + private List getGroupCountList(List gridIdList) { + List list = new ArrayList<>(); + Result> groupProcessingCountResult = resiGroupFeignClient.queryGroupProcessingCount(gridIdList); + if (groupProcessingCountResult.success() && null != groupProcessingCountResult.getData() && groupProcessingCountResult.getData().size() > 0) { + list.addAll(groupProcessingCountResult.getData()); + } + return list; + } + + @Override public Result getLatestCustomer(TokenDto tokenDTO) { return govOrgFeignClient.getLatestCustomer(tokenDTO.getUserId()); } /** + * @return Result * @Description 得到工作人员最后一次登录的网格 * @Param LatestGridFormDTO -> staffId ; customerId - * @return Result * @Author wangc * @Date 2020.04.23 11:14 **/ @@ -79,12 +206,12 @@ public class StaffAgencyServiceImpl implements StaffAgencyService { public Result getLatestGrid(LatestGridFormDTO latestGridFormDTO) { Result latestGridResult = epmetUserFeignClient.getStaffLatestGrid(latestGridFormDTO); - if(latestGridResult.success() && null != latestGridResult.getData() && StringUtils.isNotBlank(latestGridResult.getData().getGridId())){ + if (latestGridResult.success() && null != latestGridResult.getData() && StringUtils.isNotBlank(latestGridResult.getData().getGridId())) { return latestGridResult; - }else{ + } else { Result staffGridResult = - govOrgFeignClient.getStaffGrid(latestGridFormDTO); - if(staffGridResult.success() && null != staffGridResult.getData() && StringUtils.isNotBlank(staffGridResult.getData().getGridId())){ + govOrgFeignClient.getStaffGrid(latestGridFormDTO); + if (staffGridResult.success() && null != staffGridResult.getData() && StringUtils.isNotBlank(staffGridResult.getData().getGridId())) { return staffGridResult; } } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/GroupProcessingCountResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/GroupProcessingCountResultDTO.java new file mode 100644 index 0000000000..4ef970e52b --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/GroupProcessingCountResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.resi.group.dto.group; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 网格待审核小组数 + * @Author yinzuomei + * @Date 2020/5/13 21:29 + */ +@Data +public class GroupProcessingCountResultDTO implements Serializable { + + /** + * 网格id + */ + private String gridId; + + /** + * 待审核的小组总数 + */ + private Long count; +} + diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index 952ccc1abd..45075ae886 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -118,7 +118,7 @@ epmet_resi_group_user EpmEt-db-UsEr - 0 + 1 192.168.1.130 6379 123456 @@ -148,7 +148,7 @@ epmet elink@833066 - 0 + 1 r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/ResiGroupRedisKeys.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/ResiGroupRedisKeys.java new file mode 100644 index 0000000000..303d52c75f --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/ResiGroupRedisKeys.java @@ -0,0 +1,53 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + *

+ * https://www.renren.io + *

+ * 版权所有,侵权必究! + */ + +package com.epmet.modules.constant; + +/** + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +public class ResiGroupRedisKeys { + + /** + * 党群e事通redis前缀 + */ + private static String rootPrefix = "epmet:"; + + + /** + * @Description 小组缓存信息key + * @Param 组Id + * @return epmet:resi:group:groupId + * @Author wangc + * @Date 2020.04.13 11:27 + **/ + public static String getResiGroupInfoKey(String groupId){ + return rootPrefix.concat("resi:group:").concat(groupId); + } + + /** + * @Description 组成员信息缓存key + * @Param 组Id 用户Id + * @return epmet:resi:group:member:groupId:userId + * @Author wangc + * @Date 2020.04.13 13:40 + **/ + public static String getResiGroupMemberInfoKey(String groupId, String userId){ + return rootPrefix.concat("resi:group:member:").concat(groupId).concat(":").concat(userId); + } + + /** + * 政府工作段小程序:基层治理-群组管理(待审核待测小组)红点key eg:epmet:gov:wxmp:work:grassroots:group:XX网格id + */ + public static String getWorkGrassrootsGroupRedDotKey(String gridId) { + return rootPrefix.concat(String.format("gov:wxmp:work:grassroots:group:%s",gridId)); + } + + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index fdd74e28a6..98eb905c13 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -17,17 +17,16 @@ package com.epmet.modules.group.controller; +import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.annotation.LoginUser; -import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.modules.group.redis.ResiGroupRedis; import com.epmet.modules.group.service.ResiGroupService; -import com.epmet.modules.utils.ModuleConstant; +import com.epmet.resi.group.dto.group.GroupProcessingCountResultDTO; import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.*; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -43,252 +42,273 @@ import java.util.List; @RestController @RequestMapping("group") public class ResiGroupController { - private Logger logger = LoggerFactory.getLogger(getClass()); - @Autowired - private ResiGroupService resiGroupService; + @Autowired + private ResiGroupService resiGroupService; - /** - * @param tokenDto - * @param myGroupFormDTO - * @return com.epmet.commons.tools.utils.Result> - * @Author yinzuomei - * @Description 我的小组查询(包含我创建的小组+我加入的小组),以各组的最新话题时间有近到远排序) - * @Date 2020/3/28 20:36 - **/ - @PostMapping("getmygroup") - public Result> getMyGroup(@LoginUser TokenDto tokenDto, @RequestBody MyGroupFormDTO myGroupFormDTO) { - myGroupFormDTO.setUserId(tokenDto.getUserId()); - ValidatorUtils.validateEntity(myGroupFormDTO); - return resiGroupService.getMyGroup(myGroupFormDTO); - } + /** + * @param tokenDto + * @param myGroupFormDTO + * @return com.epmet.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 我的小组查询(包含我创建的小组+我加入的小组),以各组的最新话题时间有近到远排序) + * @Date 2020/3/28 20:36 + **/ + @PostMapping("getmygroup") + public Result> getMyGroup(@LoginUser TokenDto tokenDto, @RequestBody MyGroupFormDTO myGroupFormDTO) { + myGroupFormDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(myGroupFormDTO); + List myGroupList = resiGroupService.getMyGroup(myGroupFormDTO); + return new Result>().ok(myGroupList); + } - /** - * @param tokenDto - * @param recommendGroupFormDTO - * @return com.epmet.commons.tools.utils.Result> - * @Author yinzuomei - * @Description 推荐组列表查询 - * @Date 2020/3/28 19:52 - **/ - @PostMapping("getrecommendgroup") - public Result> getRecommendGroup(@LoginUser TokenDto tokenDto, + /** + * @param tokenDto + * @param recommendGroupFormDTO + * @return com.epmet.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 推荐组列表查询 + * @Date 2020/3/28 19:52 + **/ + @PostMapping("getrecommendgroup") + public Result> getRecommendGroup(@LoginUser TokenDto tokenDto, @RequestBody RecommendGroupFormDTO recommendGroupFormDTO) { - recommendGroupFormDTO.setUserId(tokenDto.getUserId()); - ValidatorUtils.validateEntity(recommendGroupFormDTO); - return resiGroupService.getRecommendGroup(recommendGroupFormDTO); - } + recommendGroupFormDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(recommendGroupFormDTO); + List recommendGroupList = resiGroupService.getRecommendGroup(recommendGroupFormDTO); + return new Result>().ok(recommendGroupList); + } - /** - * @param tokenDto - * @param createdFormDTO - * @return com.epmet.commons.tools.utils.Result> - * @Author yinzuomei - * @Description 我创建的小组 - * @Date 2020/3/28 21:59 - **/ - @PostMapping("getcreated") - public Result> getCreated(@LoginUser TokenDto tokenDto, + /** + * @param tokenDto + * @param createdFormDTO + * @return com.epmet.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 我创建的小组 + * @Date 2020/3/28 21:59 + **/ + @PostMapping("getcreated") + public Result> getCreated(@LoginUser TokenDto tokenDto, @RequestBody CreatedFormDTO createdFormDTO) { - createdFormDTO.setUserId(tokenDto.getUserId()); - ValidatorUtils.validateEntity(createdFormDTO); - return resiGroupService.getCreated(createdFormDTO); - } + createdFormDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(createdFormDTO); + List createdGroupList = resiGroupService.getCreated(createdFormDTO); + return new Result>().ok(createdGroupList); + } - /** - * @param tokenDto - * @param modifyGroupFormDTO - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 修改组信息 - * @Date 2020/3/28 22:20 - **/ - @PostMapping("modifygroup") - public Result modifyGroup(@LoginUser TokenDto tokenDto, @RequestBody ModifyGroupFormDTO modifyGroupFormDTO) { - modifyGroupFormDTO.setUserId(tokenDto.getUserId()); - ValidatorUtils.validateEntity(modifyGroupFormDTO); - return resiGroupService.modifyGroup(modifyGroupFormDTO); - } + /** + * @param tokenDto + * @param modifyGroupFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 修改组信息 + * @Date 2020/3/28 22:20 + **/ + @PostMapping("modifygroup") + public Result modifyGroup(@LoginUser TokenDto tokenDto, @RequestBody ModifyGroupFormDTO modifyGroupFormDTO) { + modifyGroupFormDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(modifyGroupFormDTO); + resiGroupService.modifyGroup(modifyGroupFormDTO); + return new Result(); + } - /** - * @param tokenDto - * @param groupSummarizeFormDTO - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 查看小组管理界面信息 - * @Date 2020/3/29 17:32 - **/ - @PostMapping("getgroupsummarize") - public Result getGroupSummarize(@LoginUser TokenDto tokenDto, + /** + * @param tokenDto + * @param groupSummarizeFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查看小组管理界面信息 + * @Date 2020/3/29 17:32 + **/ + @PostMapping("getgroupsummarize") + public Result getGroupSummarize(@LoginUser TokenDto tokenDto, @RequestBody GroupSummarizeFormDTO groupSummarizeFormDTO) { - groupSummarizeFormDTO.setUserId(tokenDto.getUserId()); - ValidatorUtils.validateEntity(groupSummarizeFormDTO); - return resiGroupService.getGroupSummarize(groupSummarizeFormDTO); - } + groupSummarizeFormDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(groupSummarizeFormDTO); + GroupSummarizeResultDTO groupSummarizeResultDTO = resiGroupService.getGroupSummarize(groupSummarizeFormDTO); + return new Result().ok(groupSummarizeResultDTO); + } - /** - * @param tokenDto - * @param applyCreateGroupFormDTO - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 创建小组 - * @Date 2020/3/29 19:26 - **/ - @PostMapping("applycreategroup") - public Result applyCreateGroup(@LoginUser TokenDto tokenDto, + /** + * @param tokenDto + * @param applyCreateGroupFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 创建小组 + * @Date 2020/3/29 19:26 + **/ + @PostMapping("applycreategroup") + public Result applyCreateGroup(@LoginUser TokenDto tokenDto, @RequestBody ApplyCreateGroupFormDTO applyCreateGroupFormDTO) { - applyCreateGroupFormDTO.setUserId(tokenDto.getUserId()); - applyCreateGroupFormDTO.setApp(tokenDto.getApp()); - ValidatorUtils.validateEntity(applyCreateGroupFormDTO); - return resiGroupService.applyCreateGroup(applyCreateGroupFormDTO); - } + applyCreateGroupFormDTO.setUserId(tokenDto.getUserId()); + applyCreateGroupFormDTO.setApp(tokenDto.getApp()); + ValidatorUtils.validateEntity(applyCreateGroupFormDTO); + resiGroupService.applyCreateGroup(applyCreateGroupFormDTO); + return new Result(); + } - /** - * @param tokenDto - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 加入小组界面初始化 - * 只有已经注册过的居民才可以加入小组 - * @Date 2020/3/30 10:11 - **/ - @PostMapping("initapplygroup") - public Result initApplyGroup(@LoginUser TokenDto tokenDto, + /** + * @param tokenDto + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 加入小组界面初始化 + * 只有已经注册过的居民才可以加入小组 + * @Date 2020/3/30 10:11 + **/ + @PostMapping("initapplygroup") + public Result initApplyGroup(@LoginUser TokenDto tokenDto, @RequestBody InitApplyGroupFormDTO initApplyGroupFormDTO) { - if (null == tokenDto) { - logger.error(ModuleConstant.USER_NOT_NULL); - throw new RenException(ModuleConstant.USER_NOT_NULL); - } - initApplyGroupFormDTO.setUserId(tokenDto.getUserId()); - ValidatorUtils.validateEntity(initApplyGroupFormDTO); - return resiGroupService.initApplyGroup(initApplyGroupFormDTO); - } + initApplyGroupFormDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(initApplyGroupFormDTO); + resiGroupService.initApplyGroup(initApplyGroupFormDTO); + return new Result(); + } - /** - * @param tokenDto - * @param initApplyCreatedGroupFormDTO - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 创建小组界面初始化 只有党员和热心居民才能创建小组 - * @Date 2020/3/30 15:44 - **/ - @PostMapping("initapplycreategroup") - public Result initApplyCreatedGroup(@LoginUser TokenDto tokenDto, + /** + * @param tokenDto + * @param initApplyCreatedGroupFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 创建小组界面初始化 只有党员和热心居民才能创建小组 + * @Date 2020/3/30 15:44 + **/ + @PostMapping("initapplycreategroup") + public Result initApplyCreatedGroup(@LoginUser TokenDto tokenDto, @RequestBody InitApplyCreatedGroupFormDTO initApplyCreatedGroupFormDTO) { - if (null == tokenDto) { - logger.error(ModuleConstant.USER_NOT_NULL); - throw new RenException(ModuleConstant.USER_NOT_NULL); - } - initApplyCreatedGroupFormDTO.setUserId(tokenDto.getUserId()); - initApplyCreatedGroupFormDTO.setApp(tokenDto.getApp()); - ValidatorUtils.validateEntity(initApplyCreatedGroupFormDTO); - return resiGroupService.initApplyCreatedGroup(initApplyCreatedGroupFormDTO); - } + initApplyCreatedGroupFormDTO.setUserId(tokenDto.getUserId()); + initApplyCreatedGroupFormDTO.setApp(tokenDto.getApp()); + ValidatorUtils.validateEntity(initApplyCreatedGroupFormDTO); + resiGroupService.initApplyCreatedGroup(initApplyCreatedGroupFormDTO); + return new Result(); + } - /** - * @param tokenDto - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 审核(同意)群申请-测试用后面会放到政府端 - * @Date 2020/3/31 12:31 - **/ - @PostMapping("agreeapplygroup") - public Result agreeApplyGroup(@LoginUser TokenDto tokenDto, @RequestBody AgreeApplyGroupFormDTO agreeApplyGroupFormDTO) { - agreeApplyGroupFormDTO.setUserId(tokenDto.getUserId()); - ValidatorUtils.validateEntity(agreeApplyGroupFormDTO); - return resiGroupService.agreeApplyGroup(agreeApplyGroupFormDTO); - } + /** + * @param tokenDto + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 审核(同意)群申请-测试用后面会放到政府端 已废弃 + * @Date 2020/3/31 12:31 + **/ + @PostMapping("agreeapplygroup") + public Result agreeApplyGroup(@LoginUser TokenDto tokenDto, @RequestBody AgreeApplyGroupFormDTO agreeApplyGroupFormDTO) { + agreeApplyGroupFormDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(agreeApplyGroupFormDTO); + return resiGroupService.agreeApplyGroup(agreeApplyGroupFormDTO); + } - /** - * @param tokenDto - * @param disAgreeApplyGroupFormDTO - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 审核(拒绝)群申请-测试用后面会放到政府端 - * @Date 2020/3/31 13:23 - **/ - @PostMapping("disagreeapplygroup") - public Result disagreeApplyGroup(@LoginUser TokenDto tokenDto, @RequestBody DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO) { - disAgreeApplyGroupFormDTO.setUserId(tokenDto.getUserId()); - ValidatorUtils.validateEntity(disAgreeApplyGroupFormDTO); - return resiGroupService.disagreeApplyGroup(disAgreeApplyGroupFormDTO); - } + /** + * @param tokenDto + * @param disAgreeApplyGroupFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 审核(拒绝)群申请-测试用后面会放到政府端 已废弃 + * @Date 2020/3/31 13:23 + **/ + @PostMapping("disagreeapplygroup") + public Result disagreeApplyGroup(@LoginUser TokenDto tokenDto, @RequestBody DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO) { + disAgreeApplyGroupFormDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(disAgreeApplyGroupFormDTO); + return resiGroupService.disagreeApplyGroup(disAgreeApplyGroupFormDTO); + } - /** - * 小组审核历史列表 - * - * @param formDTO 参数 - * @return Result> - */ - @PostMapping("audited") - public Result> audited(@RequestBody GroupAuditedFromDTO formDTO) { - ValidatorUtils.validateEntity(formDTO); - return resiGroupService.audited(formDTO); - } + /** + * 小组审核历史列表 + * + * @param formDTO 参数 + * @return Result> + */ + @PostMapping("audited") + public Result> audited(@RequestBody GroupAuditedFromDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return resiGroupService.audited(formDTO); + } - /** - * 本网格小组列表 - * - * @param formDTO 参数 - * @return Result> - */ - @PostMapping("groupsingrid") - public Result> getGroupsInGrid(@RequestBody GroupAuditedFromDTO formDTO) { - ValidatorUtils.validateEntity(formDTO); - return resiGroupService.getGroupsInGrid(formDTO); - } + /** + * 本网格小组列表 + * + * @param formDTO 参数 + * @return Result> + */ + @PostMapping("groupsingrid") + public Result> getGroupsInGrid(@RequestBody GroupAuditedFromDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return resiGroupService.getGroupsInGrid(formDTO); + } - /** - * 小组管理界面信息 - * - * @param formDTO 参数 - * @return Result - */ - @PostMapping("getgovgroupsummarize") - public Result getGovGroupSummarize(@RequestBody GovGroupSummarizeFromDTO formDTO) { - return resiGroupService.getGovGroupSummarize(formDTO); - } + /** + * 小组管理界面信息 + * + * @param formDTO 参数 + * @return Result + */ + @PostMapping("getgovgroupsummarize") + public Result getGovGroupSummarize(@RequestBody GovGroupSummarizeFromDTO formDTO) { + return resiGroupService.getGovGroupSummarize(formDTO); + } - /** - * @Description 得到小组待审核列表,用户信息不注入TokenDTO,通过外部服务调用直接传入参数 - * @Param ApplyingGroupsFormDTO.class - * @return Result> - * @Author wangc - * @Date 2020.04.20 13:59 - **/ - @PostMapping("getapplyinggroups") - public Result> getApplyingGroups(@RequestBody ApplyingGroupsFormDTO applyingGroupsFormDTO){ - ValidatorUtils.validateEntity(applyingGroupsFormDTO); - return resiGroupService.getApplyingGroups(applyingGroupsFormDTO); - } + /** + * @return Result> + * @Description 得到小组待审核列表,用户信息不注入TokenDTO,通过外部服务调用直接传入参数 + * @Param ApplyingGroupsFormDTO.class + * @Author wangc + * @Date 2020.04.20 13:59 + **/ + @PostMapping("getapplyinggroups") + public Result> getApplyingGroups(@RequestBody ApplyingGroupsFormDTO applyingGroupsFormDTO) { + ValidatorUtils.validateEntity(applyingGroupsFormDTO); + return resiGroupService.getApplyingGroups(applyingGroupsFormDTO); + } - /** - * @Description 得到待审核/未审核小组信息的详情 - * @Param CommonGroupIdFromDTO -> String groupId; String userId - * @return Result - * @Author wangc - * @Date 2020.04.20 14:08 - **/ - @PostMapping("getapplyinggroupdetail") - public Result getApplyingGroupDetail(@RequestBody CommonGroupIdFromDTO groupIdFromDTO){ - ValidatorUtils.validateEntity(groupIdFromDTO); - return resiGroupService.getApplyingGroupDetail(groupIdFromDTO); - } + /** + * @return Result + * @Description 得到待审核/未审核小组信息的详情 + * @Param CommonGroupIdFromDTO -> String groupId; String userId + * @Author wangc + * @Date 2020.04.20 14:08 + **/ + @PostMapping("getapplyinggroupdetail") + public Result getApplyingGroupDetail(@RequestBody CommonGroupIdFromDTO groupIdFromDTO) { + ValidatorUtils.validateEntity(groupIdFromDTO); + return resiGroupService.getApplyingGroupDetail(groupIdFromDTO); + } - @PostMapping("agreeapplying") - public Result agreeApplying( @RequestBody AgreeApplyGroupFormDTO agreeApplyGroupFormDTO) { - ValidatorUtils.validateEntity(agreeApplyGroupFormDTO); - return resiGroupService.agreeApplyGroup(agreeApplyGroupFormDTO); - } + @PostMapping("agreeapplying") + public Result agreeApplying(@RequestBody AgreeApplyGroupFormDTO agreeApplyGroupFormDTO) { + ValidatorUtils.validateEntity(agreeApplyGroupFormDTO); + return resiGroupService.agreeApplyGroup(agreeApplyGroupFormDTO); + } - /** - * @Description 建组申请-审核驳回-供外部服务调用,当前用户Id需要调用时一并传入 - * @Param DisAgreeApplyGroupFormDTO - * @return Result - * @Author wangc - * @Date 2020.04.20 14:26 - **/ - @PostMapping("disagreeapplying") - public Result disagreeApplying(@RequestBody DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO) { - ValidatorUtils.validateEntity(disAgreeApplyGroupFormDTO); - return resiGroupService.disagreeApplyGroup(disAgreeApplyGroupFormDTO); - } + /** + * @return Result + * @Description 建组申请-审核驳回-供外部服务调用,当前用户Id需要调用时一并传入 + * @Param DisAgreeApplyGroupFormDTO + * @Author wangc + * @Date 2020.04.20 14:26 + **/ + @PostMapping("disagreeapplying") + public Result disagreeApplying(@RequestBody DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO) { + ValidatorUtils.validateEntity(disAgreeApplyGroupFormDTO); + return resiGroupService.disagreeApplyGroup(disAgreeApplyGroupFormDTO); + } + + /** + * @param gridIdList + * @return com.epmet.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 传入网格id列表,返回每个网格的待审核小组总数 + * @Date 2020/5/13 21:33 + **/ + @PostMapping("groupprocessingcount") + public Result> queryGroupProcessingCount(@RequestBody List gridIdList) { + List list = resiGroupService.queryGroupProcessingCount(gridIdList); + return new Result>().ok(list); + } + + @PostMapping("test") + public Result test(@RequestBody TestFormDTO2 formDTO2) { + System.out.println("group接收到入参:" + JSON.toJSONString(formDTO2)); + TestResultDTO2 resultDTO2 = new TestResultDTO2(); + resultDTO2.setResultId("group"); + resultDTO2.setResultName("group返参"); + return new Result().ok(resultDTO2); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestFormDTO2.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestFormDTO2.java new file mode 100644 index 0000000000..8114d03488 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestFormDTO2.java @@ -0,0 +1,15 @@ +package com.epmet.modules.group.controller; + +import lombok.Data; + +/** + * @Description 测试feign + * @Author yinzuomei + * @Date 2020/5/13 18:30 + */ +@Data +public class TestFormDTO2 { + private String id; + private String name; +} + diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestResultDTO2.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestResultDTO2.java new file mode 100644 index 0000000000..5da3d98d31 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestResultDTO2.java @@ -0,0 +1,15 @@ +package com.epmet.modules.group.controller; + +import lombok.Data; + +/** + * @Description 测试feign + * @Author yinzuomei + * @Date 2020/5/13 18:30 + */ +@Data +public class TestResultDTO2 { + private String resultId; + private String resultName; +} + diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java index 8971aae9dc..15197a9fd3 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java @@ -19,9 +19,9 @@ package com.epmet.modules.group.redis; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.group.service.ResiGroupService; import com.epmet.modules.group.service.ResiGroupStatisticalService; import com.epmet.resi.group.constant.TopicConstant; @@ -30,6 +30,8 @@ import com.epmet.resi.group.dto.group.ResiGroupInfoRedisDTO; import com.epmet.resi.group.dto.group.ResiGroupStatisticalDTO; import com.epmet.resi.group.dto.group.ResiGroupStatisticalInfoRedisDTO; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -43,6 +45,7 @@ import java.util.*; */ @Component public class ResiGroupRedis { + private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private RedisUtils redisUtils; @@ -65,7 +68,7 @@ public class ResiGroupRedis { **/ public void set(ResiGroupInfoRedisDTO groupInfoRedis){ if(null != groupInfoRedis && StringUtils.isNotBlank(groupInfoRedis.getGroupId())){ - redisUtils.set(RedisKeys.getResiGroupInfoKey(groupInfoRedis.getGroupId()), groupInfoRedis); + redisUtils.set(ResiGroupRedisKeys.getResiGroupInfoKey(groupInfoRedis.getGroupId()), groupInfoRedis); } } @@ -80,7 +83,7 @@ public class ResiGroupRedis { if(StringUtils.isNotBlank(groupId)){ ResiGroupInfoRedisDTO groupCache = (ResiGroupInfoRedisDTO) - redisUtils.get(RedisKeys.getResiGroupInfoKey(groupId)); + redisUtils.get(ResiGroupRedisKeys.getResiGroupInfoKey(groupId)); if(null == groupCache || StringUtils.isBlank(groupCache.getGroupId())){ //如果缓存中没有该组信息,从数据库中查询并放入缓存 ResiGroupDTO groupMySql = groupService.get(groupId); @@ -143,4 +146,64 @@ public class ResiGroupRedis { return null; } + + /** + * @param gridId + * @return java.lang.Long + * @Author yinzuomei + * @Description 当前网格带审核小组数量key eg:epmet:gov:wxmp:work:grassroots:group:xx网格id + * 居民端创建小组,提交成功后,该redis值+1,目的:政府端基层治理-群组管理显示红点,提醒工作人员有待办事项 + * @Date 2020/5/13 9:50 + **/ + public Long addWorkGrassrootsGroupRedDotValue(String gridId) { + Long auditingGroupCount = 0L; + try { + String workGrassrootsGroupRedDotKey = ResiGroupRedisKeys.getWorkGrassrootsGroupRedDotKey(gridId); + auditingGroupCount = redisUtils.incrementAndGet(workGrassrootsGroupRedDotKey); + logger.info(String.format("居民端创建小组提交,更新redis-reddot值成功,key[%s],Value[%s]", workGrassrootsGroupRedDotKey, auditingGroupCount)); + } catch (Exception e) { + logger.error(String.format("居民端创建小组提交,更新redis-reddot值异常%s",e.getMessage())); + e.printStackTrace(); + } + return auditingGroupCount; + } + + /** + * @param gridId + * @return java.lang.Long + * @Author yinzuomei 当前网格带审核小组数量key eg:epmet:gov:wxmp:work:grassroots:group:xx网格id + * @Description 政府端工作人员审核建组申请之后(同意或驳回),该redis值-1 + * @Date 2020/5/13 12:58 + **/ + public Long subtractWorkGrassrootsPartyAuthRedDotValue(String gridId) { + Long auditingGroupCount = 0L; + try { + String workGrassrootsGroupRedDotKey = ResiGroupRedisKeys.getWorkGrassrootsGroupRedDotKey(gridId); + auditingGroupCount = redisUtils.decrementAndGet(workGrassrootsGroupRedDotKey); + logger.info(String.format("政府端(wxmp)同意建组,更新redis-reddot值成功,key[%s],Value[%s]", workGrassrootsGroupRedDotKey, auditingGroupCount)); + } catch (Exception e) { + logger.error(String.format("政府端(wxmp)同意建组,更新redis-reddot值异常%s", e.getMessage())); + e.printStackTrace(); + } + return auditingGroupCount; + } + + /** + * @return java.lang.Long + * @param gridId + * @Author yinzuomei + * @Description 获取某网格下待审核小组总数 + * @Date 2020/5/13 21:40 + **/ + public Long getWorkGrassrootsGroupRedDotValue(String gridId) { + Long auditingGroupCount = 0L; + try { + String workGrassrootsGroupRedDotKey = ResiGroupRedisKeys.getWorkGrassrootsGroupRedDotKey(gridId); + auditingGroupCount = (Long) redisUtils.get(workGrassrootsGroupRedDotKey); + } catch (Exception e) { + logger.error(String.format("网格id%s,查询网格下待审核小组总数异常%s", gridId, e.getMessage())); + e.printStackTrace(); + } + return auditingGroupCount; + } } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index 71a902430a..440b4ebf9d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -23,6 +23,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.resi.group.dto.UserRoleDTO; +import com.epmet.resi.group.dto.group.GroupProcessingCountResultDTO; import com.epmet.resi.group.dto.group.ResiGroupDTO; import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.*; @@ -105,7 +106,7 @@ public interface ResiGroupService extends BaseService { * @Description 我的小组查询(包含我创建的小组+我加入的小组),以各组的最新话题时间有近到远排序) * @Date 2020/3/28 20:37 **/ - Result> getMyGroup(MyGroupFormDTO myGroupFormDTO); + List getMyGroup(MyGroupFormDTO myGroupFormDTO); /** * @param recommendGroupFormDTO @@ -114,7 +115,7 @@ public interface ResiGroupService extends BaseService { * @Description 推荐组列表查询 * @Date 2020/3/28 19:53 **/ - Result> getRecommendGroup(RecommendGroupFormDTO recommendGroupFormDTO); + List getRecommendGroup(RecommendGroupFormDTO recommendGroupFormDTO); /** * @param createdFormDTO @@ -123,7 +124,7 @@ public interface ResiGroupService extends BaseService { * @Description 我创建的小组 * @Date 2020/3/28 22:01 **/ - Result> getCreated(CreatedFormDTO createdFormDTO); + List getCreated(CreatedFormDTO createdFormDTO); /** * @param modifyGroupFormDTO @@ -132,7 +133,7 @@ public interface ResiGroupService extends BaseService { * @Description 修改组信息 * @Date 2020/3/28 22:27 **/ - Result modifyGroup(ModifyGroupFormDTO modifyGroupFormDTO); + void modifyGroup(ModifyGroupFormDTO modifyGroupFormDTO); /** * @param groupSummarizeFormDTO @@ -141,7 +142,7 @@ public interface ResiGroupService extends BaseService { * @Description 查看小组管理界面信息 * @Date 2020/3/29 17:52 **/ - Result getGroupSummarize(GroupSummarizeFormDTO groupSummarizeFormDTO); + GroupSummarizeResultDTO getGroupSummarize(GroupSummarizeFormDTO groupSummarizeFormDTO); /** * @param applyCreateGroupFormDTO @@ -150,7 +151,7 @@ public interface ResiGroupService extends BaseService { * @Description 创建小组 * @Date 2020/3/29 19:26 **/ - Result applyCreateGroup(ApplyCreateGroupFormDTO applyCreateGroupFormDTO); + void applyCreateGroup(ApplyCreateGroupFormDTO applyCreateGroupFormDTO); /** * @param initApplyGroupFormDTO @@ -159,7 +160,7 @@ public interface ResiGroupService extends BaseService { * @Description 加入小组界面初始化 * @Date 2020/3/30 10:17 **/ - Result initApplyGroup(InitApplyGroupFormDTO initApplyGroupFormDTO); + void initApplyGroup(InitApplyGroupFormDTO initApplyGroupFormDTO); /** * @param initApplyCreatedGroupFormDTO @@ -168,13 +169,13 @@ public interface ResiGroupService extends BaseService { * @Description 校验用户是否是热心居民或者党员 * @Date 2020/3/30 15:50 **/ - Result initApplyCreatedGroup(InitApplyCreatedGroupFormDTO initApplyCreatedGroupFormDTO); + void initApplyCreatedGroup(InitApplyCreatedGroupFormDTO initApplyCreatedGroupFormDTO); /** * @param agreeApplyGroupFormDTO * @return com.epmet.commons.tools.utils.Result * @Author yinzuomei - * @Description 审核(同意)群申请-测试用后面会放到政府端 + * @Description 审核(同意)群申请 * @Date 2020/3/31 12:44 **/ Result agreeApplyGroup(AgreeApplyGroupFormDTO agreeApplyGroupFormDTO); @@ -183,7 +184,7 @@ public interface ResiGroupService extends BaseService { * @param disAgreeApplyGroupFormDTO * @return com.epmet.commons.tools.utils.Result * @Author yinzuomei - * @Description 审核(拒绝)群申请-测试用后面会放到政府端 + * @Description 审核(拒绝)群申请 * @Date 2020/3/31 13:22 **/ Result disagreeApplyGroup(DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO); @@ -241,4 +242,13 @@ public interface ResiGroupService extends BaseService { * @Date 2020.04.19 23:32 **/ Result getApplyingGroupDetail(CommonGroupIdFromDTO groupId); + + /** + * @param gridIdList + * @return java.util.List + * @Author yinzuomei + * @Description 传入网格id列表,返回每个网格的待审核小组总数 + * @Date 2020/5/13 21:37 + **/ + List queryGroupProcessingCount(List gridIdList); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 9282ee3895..2bc77432e2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -118,7 +118,6 @@ public class ResiGroupServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -179,11 +178,11 @@ public class ResiGroupServiceImpl extends BaseServiceImpl> getMyGroup(MyGroupFormDTO myGroupFormDTO) { + public List getMyGroup(MyGroupFormDTO myGroupFormDTO) { int pageIndex = (myGroupFormDTO.getPageNo() - NumConstant.ONE) * myGroupFormDTO.getPageSize(); myGroupFormDTO.setPageNo(pageIndex); List myGroupList = baseDao.selectListMyGroup(myGroupFormDTO); - return new Result>().ok(myGroupList); + return myGroupList; } /** @@ -194,7 +193,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl> getRecommendGroup(RecommendGroupFormDTO recommendGroupFormDTO) { + public List getRecommendGroup(RecommendGroupFormDTO recommendGroupFormDTO) { int pageIndex = (recommendGroupFormDTO.getPageNo() - NumConstant.ONE) * recommendGroupFormDTO.getPageSize(); recommendGroupFormDTO.setPageNo(pageIndex); //显示当前网格内所有当前用户还未加入的组,以组的人数由高到低排序;如果人数相同,以最新话题的时间有近到远排序 @@ -206,7 +205,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl>().ok(recommendGroupList); + return recommendGroupList; } /** @@ -217,11 +216,11 @@ public class ResiGroupServiceImpl extends BaseServiceImpl> getCreated(CreatedFormDTO createdFormDTO) { + public List getCreated(CreatedFormDTO createdFormDTO) { int pageIndex = (createdFormDTO.getPageNo() - NumConstant.ONE) * createdFormDTO.getPageSize(); createdFormDTO.setPageNo(pageIndex); List createdResultDTOList = baseDao.selectListMyCreated(createdFormDTO); - return new Result>().ok(createdResultDTOList); + return createdResultDTOList; } /** @@ -233,24 +232,24 @@ public class ResiGroupServiceImpl extends BaseServiceImpl getGroupSummarize(GroupSummarizeFormDTO groupSummarizeFormDTO) { + public GroupSummarizeResultDTO getGroupSummarize(GroupSummarizeFormDTO groupSummarizeFormDTO) { GroupSummarizeResultDTO groupSummarizeResultDTO = baseDao.selectGroupSummarize(groupSummarizeFormDTO); if (null == groupSummarizeResultDTO) { - logger.error(ModuleConstant.GETGROUPSUMMARIZE_FAILED); - return new Result().error(); + logger.error(String.format("查看小组管理界面信息异常%s",ModuleConstant.GETGROUPSUMMARIZE_FAILED)); + return new GroupSummarizeResultDTO(); } //获取组长信息 Result groupLeaderUserInfo = this.getGroupLeaderUserInfo(groupSummarizeFormDTO.getGroupId()); if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) { groupSummarizeResultDTO.setLeaderName(groupLeaderUserInfo.getData().getShowName()); } else { - logger.info("组长注册信息查询失败" + groupLeaderUserInfo.getMsg()); + logger.warn("组长注册信息查询失败" + groupLeaderUserInfo.getMsg()); } - return new Result().ok(groupSummarizeResultDTO); + return groupSummarizeResultDTO; } /** @@ -309,11 +308,12 @@ public class ResiGroupServiceImpl extends BaseServiceImpl resiGroupEntityList = this.getResiGroupEntityList(applyCreateGroupFormDTO); if (null != resiGroupEntityList && resiGroupEntityList.size() > 0) { - return new Result().error(EpmetErrorCode.GROUP_ALREADY_EXISTED.getCode()); + logger.error(String.format("创建小组异常:%s",EpmetErrorCode.GROUP_ALREADY_EXISTED.getMsg())); + throw new RenException(EpmetErrorCode.GROUP_ALREADY_EXISTED.getCode()); } //2、插入一条待审核的组信息 ResiGroupEntity resiGroupEntity = this.structureResiGroupEntity(applyCreateGroupFormDTO); @@ -324,7 +324,8 @@ public class ResiGroupServiceImpl extends BaseServiceImpl result = epmetUserFeignClient.getUserResiInfoDTO(resiUserInfoFormDTO); if (!result.success() || null == result.getData() || StringUtils.isBlank(result.getData().getRegMobile())) { - logger.info("居民注册信息查询失败"); - return new Result().error(EpmetErrorCode.CANNOT_JOIN_GROUP.getCode()); + logger.error("加入小组界面初始化,居民注册信息查询失败"); + throw new RenException(EpmetErrorCode.CANNOT_JOIN_GROUP.getCode()); } - return new Result(); } private ResiGroupEntity structureResiGroupEntity(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) { @@ -455,23 +457,15 @@ public class ResiGroupServiceImpl extends BaseServiceImpl().ok(ConvertUtils.sourceToTarget(detail, ApplyingGroupDetailResult2DTO.class)); } + + @Override + public List queryGroupProcessingCount(List gridIdList) { + List list=new ArrayList<>(); + for(String gridId:gridIdList){ + GroupProcessingCountResultDTO resultDTO=new GroupProcessingCountResultDTO(); + resultDTO.setGridId(gridId); + Long auditingCount=resiGroupRedis.getWorkGrassrootsGroupRedDotValue(gridId); + resultDTO.setCount(auditingCount); + list.add(resultDTO); + } + return list; + } + /** * @Description 给加入此网格的网格长发送消息 * @param msg diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java index 2fc537cdb2..7f73fc2a23 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java @@ -26,6 +26,7 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.dto.result.UserResiInfoResultDTO; +import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.group.service.ResiGroupService; import com.epmet.modules.member.service.ResiGroupMemberService; @@ -79,7 +80,7 @@ public class ResiGroupMemberRedis { if(null != memberInfoRedis && StringUtils.isNotBlank(memberInfoRedis.getUserId()) && StringUtils.isNotBlank(memberInfoRedis.getGroupId())){ - redisUtils.set(RedisKeys.getResiGroupMemberInfoKey(memberInfoRedis.getGroupId(),memberInfoRedis.getUserId()),memberInfoRedis); + redisUtils.set(ResiGroupRedisKeys.getResiGroupMemberInfoKey(memberInfoRedis.getGroupId(),memberInfoRedis.getUserId()),memberInfoRedis); } } @@ -94,7 +95,7 @@ public class ResiGroupMemberRedis { public ResiGroupMemberInfoRedisDTO get(String groupId ,String userId){ ResiGroupMemberInfoRedisDTO memberCache = - (ResiGroupMemberInfoRedisDTO) redisUtils.get(RedisKeys.getResiGroupMemberInfoKey(groupId,userId)); + (ResiGroupMemberInfoRedisDTO) redisUtils.get(ResiGroupRedisKeys.getResiGroupMemberInfoKey(groupId,userId)); //如果缓存中没有该成员数据 if(null == memberCache || StringUtils.isNotBlank(memberCache.getUserId())){ Map param = new HashMap<>(); @@ -152,7 +153,7 @@ public class ResiGroupMemberRedis { **/ public ResiGroupMemberInfoRedisResultDTO getKeys(String groupId){ Set groupMemberKeys = - redisUtils.keys(RedisKeys.getResiGroupMemberInfoKey(groupId,"*")); + redisUtils.keys(ResiGroupRedisKeys.getResiGroupMemberInfoKey(groupId,"*")); Map memberMap = new HashMap<>(NumConstant.ONE_HUNDRED); for(String key : groupMemberKeys){ ResiGroupMemberInfoRedisDTO member = (ResiGroupMemberInfoRedisDTO)redisUtils.get(key); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index f775c004d6..6e1927f82c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -34,6 +34,7 @@ import com.epmet.dto.form.UserResiInfoListFormDTO; import com.epmet.dto.result.IssueInitiatorResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.modules.constant.GroupMemberConstant; +import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.dao.ResiGroupStatisticalDao; @@ -741,7 +742,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl + + + + @@ -16,6 +20,7 @@ + diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyAuthProcessingCountResultDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyAuthProcessingCountResultDTO.java new file mode 100644 index 0000000000..9ea7fa5f60 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyAuthProcessingCountResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.resi.partymember.dto.partymember.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 网格待审核党员数 + * @Author yinzuomei + * @Date 2020/5/13 22:15 + */ +@Data +public class PartyAuthProcessingCountResultDTO implements Serializable { + private static final long serialVersionUID = 1595766019917829995L; + /** + * 网格id + */ + private String gridId; + + /** + * 待审核党员申请总数 + */ + private Long count; +} + diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiProcessingCountResultDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiProcessingCountResultDTO.java new file mode 100644 index 0000000000..8d8135a9b9 --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiProcessingCountResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.resi.partymember.dto.warmhearted.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 网格待审核热心居民数 + * @Author yinzuomei + * @Date 2020/5/13 22:16 + */ +@Data +public class ResiProcessingCountResultDTO implements Serializable { + private static final long serialVersionUID = 4002474433059912113L; + /** + * 网格id + */ + private String gridId; + + /** + * 待审核党员申请总数 + */ + private Long count; +} + diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/ResiPartyMemberRedisKeys.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/ResiPartyMemberRedisKeys.java new file mode 100644 index 0000000000..d3ea121a6e --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/ResiPartyMemberRedisKeys.java @@ -0,0 +1,35 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + *

+ * https://www.renren.io + *

+ * 版权所有,侵权必究! + */ + +package com.epmet.constant; + +/** + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +public class ResiPartyMemberRedisKeys { + + /** + * 党群e事通redis前缀 + */ + private static String rootPrefix = "epmet:"; + + /** + * 政府工作段小程序:基层治理-居民管理(待审核的热心居民)红点key eg:epmet:gov:wxmp:work:grassroots:resi:XX网格id + */ + public static String getWorkGrassrootsResiRedDotKey(String gridId) { + return rootPrefix.concat(String.format("gov:wxmp:work:grassroots:resi:%s",gridId)); + } + + /** + * 政府工作段小程序:基层治理-党员认证(待审核的党员)红点key eg:epmet:gov:wxmp:work:grassroots:resi:XX网格id + */ + public static String getWorkGrassrootsPartyAuthRedDotKey(String gridId) { + return rootPrefix.concat(String.format("gov:wxmp:work:grassroots:partyauth:%s",gridId)); + } +} diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartymemberInfoController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartymemberInfoController.java index c98ec3ce99..ab98cf565a 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartymemberInfoController.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartymemberInfoController.java @@ -32,6 +32,7 @@ import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO; import com.epmet.resi.partymember.dto.partymember.form.CertifiedDetailFormDTO; import com.epmet.resi.partymember.dto.partymember.form.CertifiedFormDTO; import com.epmet.resi.partymember.dto.partymember.result.CertifiedDetailResultDTO; +import com.epmet.resi.partymember.dto.partymember.result.PartyAuthProcessingCountResultDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -118,4 +119,17 @@ public class PartymemberInfoController { return new Result().ok(partymemberInfoService.certifiedDetail(formDTO)); } + /** + * @param gridIdList + * @return com.epmet.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 传入网格id列表,返回各个网格对应的待审核党员总数 + * @Date 2020/5/13 22:37 + **/ + @PostMapping("getworkgrassrootspartyauth") + public Result> queryPartyMemberProcessingCount(@RequestBody List gridIdList) { + List list = partymemberInfoService.queryPartyMemberProcessingCount(gridIdList); + return new Result>().ok(list); + } + } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberInfoService.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberInfoService.java index d2e6779edc..0fe2142c08 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberInfoService.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberInfoService.java @@ -26,6 +26,7 @@ import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO; import com.epmet.resi.partymember.dto.partymember.form.CertifiedDetailFormDTO; import com.epmet.resi.partymember.dto.partymember.form.CertifiedFormDTO; import com.epmet.resi.partymember.dto.partymember.result.CertifiedDetailResultDTO; +import com.epmet.resi.partymember.dto.partymember.result.PartyAuthProcessingCountResultDTO; import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -137,4 +138,12 @@ public interface PartymemberInfoService extends BaseService + * @Author yinzuomei + * @Description 传入网格id列表,返回各个网格对应的待审核党员总数 + * @Date 2020/5/13 22:37 + **/ + List queryPartyMemberProcessingCount(List gridIdList); } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java index dc9f3200d9..13dc1d53dd 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java @@ -22,8 +22,7 @@ import com.epmet.modules.feign.GovOrgFeignClient; import com.epmet.modules.partymember.entity.*; import com.epmet.modules.partymember.redis.PartymemberInfoRedis; import com.epmet.modules.partymember.service.*; -import com.epmet.modules.warmhearted.constant.ResiWarmUserMessageConstant; -import com.epmet.modules.warmhearted.entity.ResiWarmheartedApplyEntity; +import com.epmet.redis.ResiPartyMemberRedis; import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO; import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO; import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO; @@ -78,7 +77,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService private EpmetMessageFeignClient messageFeignClient; @Autowired private GovOrgFeignClient govOrgFeignClient; - + @Autowired + private ResiPartyMemberRedis resiPartyMemberRedis; @Override @Transactional(rollbackFor = Exception.class) public Result init(PartyMemberInitFromDTO fromDto) { @@ -269,6 +269,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService } auditMessage(ConvertUtils.sourceToTarget(partyMemberInfo, PartymemberInfoEntity.class), PartyMemberMessageConstant.MEMBER_APPLY_MSG); + //更新政府端:工作-基层治理-党员认证reddot + resiPartyMemberRedis.addWorkGrassrootsPartyAuthRedDotValue(infoDTO.getGridId()); return new Result(); } @@ -302,7 +304,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService } else { auditMessage(partyMemberInfoEntity, PartyMemberMessageConstant.AUDIT_REJECT_MSG); } - + //更新政府端:工作-基层治理-党员认证reddot + resiPartyMemberRedis.subtractWorkGrassrootsPartyAuthRedDotValue(manualEntity.getGridId()); return new Result(); } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberInfoServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberInfoServiceImpl.java index 680a3ba35a..732bcf1d83 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberInfoServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberInfoServiceImpl.java @@ -36,10 +36,12 @@ import com.epmet.modules.partymember.dao.PartymemberInfoDao; import com.epmet.modules.partymember.entity.PartymemberInfoEntity; import com.epmet.modules.partymember.redis.PartymemberInfoRedis; import com.epmet.modules.partymember.service.PartymemberInfoService; +import com.epmet.redis.ResiPartyMemberRedis; import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO; import com.epmet.resi.partymember.dto.partymember.form.CertifiedDetailFormDTO; import com.epmet.resi.partymember.dto.partymember.form.CertifiedFormDTO; import com.epmet.resi.partymember.dto.partymember.result.CertifiedDetailResultDTO; +import com.epmet.resi.partymember.dto.partymember.result.PartyAuthProcessingCountResultDTO; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -69,7 +71,8 @@ public class PartymemberInfoServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -199,5 +202,18 @@ public class PartymemberInfoServiceImpl extends BaseServiceImpl queryPartyMemberProcessingCount(List gridIdList) { + List list = new ArrayList<>(); + for (String gridId : gridIdList) { + PartyAuthProcessingCountResultDTO partyAuthProcessingCountResultDTO = new PartyAuthProcessingCountResultDTO(); + partyAuthProcessingCountResultDTO.setGridId(gridId); + Long auditingPartyMember = resiPartyMemberRedis.queryPartyAuthProcessingCount(gridId); + partyAuthProcessingCountResultDTO.setCount(auditingPartyMember); + list.add(partyAuthProcessingCountResultDTO); + } + return list; + } + } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedApplyController.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedApplyController.java index 5444e4ccca..e2da03019c 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedApplyController.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedApplyController.java @@ -31,6 +31,7 @@ import com.epmet.modules.warmhearted.excel.ResiWarmheartedApplyExcel; import com.epmet.modules.warmhearted.service.ResiWarmheartedApplyService; import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedApplyDTO; import com.epmet.resi.partymember.dto.warmhearted.form.*; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiProcessingCountResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; @@ -162,4 +163,16 @@ public class ResiWarmheartedApplyController { return resiWarmheartedApplyService.getDetail(formDTO); } + /** + * @param gridIdList + * @return com.epmet.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 传入网格id列表,返回每个列表下对应的待审核居民总数 + * @Date 2020/5/13 22:25 + **/ + @PostMapping("queryresiprocessingcount") + public Result> queryResiProcessingCount(@RequestBody List gridIdList) { + List list = resiWarmheartedApplyService.queryResiProcessingCount(gridIdList); + return new Result>().ok(list); + } } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedApplyService.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedApplyService.java index 0fba6e16ff..7bd90437b1 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedApplyService.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedApplyService.java @@ -23,6 +23,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.modules.warmhearted.entity.ResiWarmheartedApplyEntity; import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedApplyDTO; import com.epmet.resi.partymember.dto.warmhearted.form.*; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiProcessingCountResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; @@ -158,4 +159,13 @@ public interface ResiWarmheartedApplyService extends BaseService getDetail(ResiWarmGetDetailFormDTO formDTO); + + /** + * @param gridIdList + * @return java.util.List + * @Author yinzuomei + * @Description 传入网格id列表,返回每个列表下对应的待审核居民总数 + * @Date 2020/5/13 22:25 + **/ + List queryResiProcessingCount(List gridIdList); } \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java index 6da9ab7c94..8ddb224bf0 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java @@ -46,11 +46,12 @@ import com.epmet.modules.warmhearted.constant.ResiWarmheartedConstant; import com.epmet.modules.warmhearted.constant.ResiWarmheartedVisitConstant; import com.epmet.modules.warmhearted.dao.ResiWarmheartedApplyDao; import com.epmet.modules.warmhearted.entity.ResiWarmheartedApplyEntity; -import com.epmet.modules.warmhearted.redis.ResiWarmheartedApplyRedis; import com.epmet.modules.warmhearted.service.ResiWarmheartedApplyService; import com.epmet.modules.warmhearted.service.ResiWarmheartedVisitService; +import com.epmet.redis.ResiPartyMemberRedis; import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedApplyDTO; import com.epmet.resi.partymember.dto.warmhearted.form.*; +import com.epmet.resi.partymember.dto.warmhearted.result.ResiProcessingCountResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO; import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO; @@ -78,8 +79,6 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl page(Map params) { @@ -210,6 +211,8 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl queryResiProcessingCount(List gridIdList) { + List list = new ArrayList<>(); + for (String gridId : gridIdList) { + ResiProcessingCountResultDTO resiProcessingCountResultDTO = new ResiProcessingCountResultDTO(); + resiProcessingCountResultDTO.setGridId(gridId); + Long auditingResi = resiPartyMemberRedis.queryResiProcessingCount(gridId); + resiProcessingCountResultDTO.setCount(auditingResi); + list.add(resiProcessingCountResultDTO); + } + return list; + } } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/redis/ResiPartyMemberRedis.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/redis/ResiPartyMemberRedis.java new file mode 100644 index 0000000000..10dce072dd --- /dev/null +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/redis/ResiPartyMemberRedis.java @@ -0,0 +1,168 @@ +/** + * 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.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.constant.ResiPartyMemberRedisKeys; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 本模块redis所有操作放这 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-30 + */ +@Component +public class ResiPartyMemberRedis { + private Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set() { + + } + + public String get(String id) { + return null; + } + + /** + * @param gridId + * @return java.lang.Long + * @Author yinzuomei + * @Description 居民端热心居民申请成功,该redis值+1,目的:政府端基层治理-居民管理显示红点提醒工作人员有待办事项 + * @Date 2020/5/13 10:55 + **/ + public Long addWorkGrassrootsResiRedDotValue(String gridId) { + Long auditingResiWarmHeartedCount = 0L; + try { + String workGrassrootsResiRedDotKey = ResiPartyMemberRedisKeys.getWorkGrassrootsResiRedDotKey(gridId); + auditingResiWarmHeartedCount = redisUtils.incrementAndGet(workGrassrootsResiRedDotKey); + logger.info(String.format("居民端热心居民申请提交,更新redis-reddot值成功,key[%s],Value[%s]", workGrassrootsResiRedDotKey, auditingResiWarmHeartedCount)); + } catch (Exception e) { + logger.error(String.format("居民端热心居民申请提交,更新redis-reddot值异常%s", e.getMessage())); + e.printStackTrace(); + } + return auditingResiWarmHeartedCount; + } + + /** + * @param gridId + * @return java.lang.Long + * @Author yinzuomei keyeg: epmet:gov:wxmp:work:grassroots:partyauth:XX网格id + * @Description 政府端小程序审核热心居民申请(同意或拒绝),更新该redis值-1 + * @Date 2020/5/13 13:11 + **/ + public Long subtractWorkGrassrootsResiRedDotValue(String gridId) { + Long auditingPartyMemberCount = 0L; + try { + String workGrassrootsPartyAuthRedDotKey = ResiPartyMemberRedisKeys.getWorkGrassrootsResiRedDotKey(gridId); + auditingPartyMemberCount = redisUtils.incrementAndGet(workGrassrootsPartyAuthRedDotKey); + logger.info(String.format("政府端(wxmp)审核热心居民申请,更新redis-reddot值成功,key[%s],Value[%s]", workGrassrootsPartyAuthRedDotKey, auditingPartyMemberCount)); + } catch (Exception e) { + logger.error(String.format("政府端(wxmp)审核热心居民申请,更新redis-reddot值异常%s", e.getMessage())); + e.printStackTrace(); + } + return auditingPartyMemberCount; + } + + /** + * @param gridId + * @return java.lang.Long + * @Author yinzuomei keyeg: epmet:gov:wxmp:work:grassroots:partyauth:XX网格id + * @Description 居民端党员自动认证失败,且填写了补充信息,提交成功后,该redis值+1,目的:政府端基层治理-党员认证显示红点,提醒工作人员有待办事项 + * @Date 2020/5/13 10:56 + **/ + public Long addWorkGrassrootsPartyAuthRedDotValue(String gridId) { + Long auditingPartyMemberCount = 0L; + try { + String workGrassrootsPartyAuthRedDotKey = ResiPartyMemberRedisKeys.getWorkGrassrootsPartyAuthRedDotKey(gridId); + auditingPartyMemberCount = redisUtils.incrementAndGet(workGrassrootsPartyAuthRedDotKey); + logger.info(String.format("居民端党员认证补充信息提交,更新redis-reddot值成功,key[%s],Value[%s]", workGrassrootsPartyAuthRedDotKey, auditingPartyMemberCount)); + } catch (Exception e) { + logger.error(String.format("居民端党员认证补充信息提交,更新redis-reddot值异常%s", e.getMessage())); + e.printStackTrace(); + } + return auditingPartyMemberCount; + } + + /** + * @param gridId + * @return java.lang.Long + * @Author yinzuomei keyeg: epmet:gov:wxmp:work:grassroots:partyauth:XX网格id + * @Description 政府端审批党员认证申请成功后,更新该redis值-1 + * @Date 2020/5/13 10:56 + **/ + public Long subtractWorkGrassrootsPartyAuthRedDotValue(String gridId) { + Long auditingPartyMemberCount = 0L; + try { + String workGrassrootsPartyAuthRedDotKey = ResiPartyMemberRedisKeys.getWorkGrassrootsPartyAuthRedDotKey(gridId); + auditingPartyMemberCount = redisUtils.incrementAndGet(workGrassrootsPartyAuthRedDotKey); + logger.info(String.format("居民端党员认证补充信息提交,更新redis-reddot值成功,key[%s],Value[%s]", workGrassrootsPartyAuthRedDotKey, auditingPartyMemberCount)); + } catch (Exception e) { + logger.error(String.format("居民端党员认证补充信息提交,更新redis-reddot值异常%s", e.getMessage())); + e.printStackTrace(); + } + return auditingPartyMemberCount; + } + + /** + * @param gridId + * @return java.lang.Long + * @Author yinzuomei + * @Description 查询网格下待审核热心居民总数 + * @Date 2020/5/13 22:44 + **/ + public Long queryResiProcessingCount(String gridId) { + Long auditingResiWarmHeartedCount = 0L; + try { + String workGrassrootsResiRedDotKey = ResiPartyMemberRedisKeys.getWorkGrassrootsResiRedDotKey(gridId); + auditingResiWarmHeartedCount = (Long) redisUtils.get(workGrassrootsResiRedDotKey); + } catch (Exception e) { + logger.error(String.format("网格id%s,查询网格下待审核热心居民总数异常%s", gridId, e.getMessage())); + e.printStackTrace(); + } + return auditingResiWarmHeartedCount; + } + + /** + * @param gridId + * @return java.lang.Long + * @Author yinzuomei + * @Description 查询网格下待审核党员总数 + * @Date 2020/5/13 22:44 + **/ + public Long queryPartyAuthProcessingCount(String gridId) { + Long auditingParyMember = 0L; + try { + String workGrassrootsResiRedDotKey = ResiPartyMemberRedisKeys.getWorkGrassrootsPartyAuthRedDotKey(gridId); + auditingParyMember = (Long) redisUtils.get(workGrassrootsResiRedDotKey); + } catch (Exception e) { + logger.error(String.format("网格id%s,查询网格下待审核党员总数异常%s", gridId, e.getMessage())); + e.printStackTrace(); + } + return auditingParyMember; + } +} \ No newline at end of file From e9c2add5ced364cc7beb45feeee1b28901e4de05 Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Thu, 14 May 2020 09:25:54 +0800 Subject: [PATCH 17/22] =?UTF-8?q?EpmetErrorCode=20=E8=A1=A5=E6=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/exception/EpmetErrorCode.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 8aa19240ca..78f66e9330 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -40,7 +40,10 @@ public enum EpmetErrorCode { MOBILE_USED(8402,"该手机号已注册"), STAFF_ADD_FAILED(8403,"人员添加失败"), STAFF_EDIT_FAILED(8404,"人员编辑失败"), - CANNOT_DISABLE_YOURSELF(8405,"您不能禁用自己"),; + CANNOT_DISABLE_YOURSELF(8405,"您不能禁用自己"), + + ALREADY_EVALUATE(8501,"您已评价"), + ALREADY_VOTE(8502,"您已表态"); private int code; private String msg; From 1cb7b0cb6b840fbb14c370ec1a2b671487f3b8b3 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 14 May 2020 09:27:53 +0800 Subject: [PATCH 18/22] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E5=85=B3=E8=81=94=E8=A1=A8=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/entity/ProjectStaffEntity.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java index 3184a68a34..0ad284d6a0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java @@ -43,6 +43,11 @@ public class ProjectStaffEntity extends BaseEpmetEntity { */ private String projectId; + /** + * 项目处理进展ID + */ + private String processId; + /** * 客户ID */ From 134039c5be235f949eb35627dc257a64240bd608 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 14 May 2020 09:55:45 +0800 Subject: [PATCH 19/22] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B7=9F=E8=B8=AA-?= =?UTF-8?q?=E8=BD=AC=E5=85=B6=E4=BB=96=E9=83=A8=E9=97=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/AgencyDeptGridFormDTO.java | 51 ++++++++++ .../dto/result/AgencyDeptGridResultDTO.java | 52 +++++++++++ .../controller/CustomerAgencyController.java | 13 +++ .../java/com/epmet/dao/CustomerAgencyDao.java | 8 ++ .../com/epmet/dao/CustomerDepartmentDao.java | 10 ++ .../java/com/epmet/dao/CustomerGridDao.java | 9 ++ .../epmet/service/CustomerAgencyService.java | 10 ++ .../impl/CustomerAgencyServiceImpl.java | 22 +++++ .../resources/mapper/CustomerAgencyDao.xml | 11 +++ .../mapper/CustomerDepartmentDao.xml | 11 +++ .../main/resources/mapper/CustomerGridDao.xml | 11 +++ .../com/epmet/dto/form/TickStaffFormDTO.java | 35 +++++++ .../com/epmet/dto/form/TransferFormDTO.java | 36 +++++++ .../com/epmet/constant/ProjectConstant.java | 12 +++ .../controller/ProjectTraceController.java | 14 +++ .../com/epmet/feign/GovOrgFeignClient.java | 11 +++ .../fallback/GovOrgFeignClientFallBack.java | 7 ++ .../epmet/service/ProjectProcessService.java | 9 ++ .../impl/ProjectProcessServiceImpl.java | 93 ++++++++++++++++++- 19 files changed, 422 insertions(+), 3 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencyDeptGridFormDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyDeptGridResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TransferFormDTO.java diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencyDeptGridFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencyDeptGridFormDTO.java new file mode 100644 index 0000000000..86bd71498a --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencyDeptGridFormDTO.java @@ -0,0 +1,51 @@ +/** + * 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.form; + +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + + +/** + * 根据组织Id集合、部门Id集合、网格Id集合查询对应详细信息-入参 + * + * @author sun + */ +@Data +public class AgencyDeptGridFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 组织Id集合 + */ + private List agencyIdList; + /** + * 部门Id集合 + */ + private List deptIdList; + /** + * 网格Id集合 + */ + private List gridIdList; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyDeptGridResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyDeptGridResultDTO.java new file mode 100644 index 0000000000..cec3f682d5 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyDeptGridResultDTO.java @@ -0,0 +1,52 @@ +/** + * 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 com.epmet.dto.CustomerAgencyDTO; +import com.epmet.dto.CustomerDepartmentDTO; +import com.epmet.dto.CustomerGridDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * 根据组织Id集合、部门Id集合、网格Id集合查询对应详细信息--返参 + * + * @author sun + */ +@Data +public class AgencyDeptGridResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 组织信息集合 + */ + private List agencyList; + /** + * 部门信息集合 + */ + private List deptList; + /** + * 网格信息集合 + */ + private List gridList; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index 50cfe3c5be..6434a318b6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -26,7 +26,9 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.CustomerAgencyDTO; +import com.epmet.dto.form.AgencyDeptGridFormDTO; import com.epmet.dto.form.StaffOrgFormDTO; +import com.epmet.dto.result.AgencyDeptGridResultDTO; import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.StaffOrgsResultDTO; @@ -129,4 +131,15 @@ public class CustomerAgencyController { return new Result().ok(customerAgencyService.departmentStaffList(agencyId)); } + /** + * @param formDTO + * @return + * @Author sun + * @Description 根据组织Id集合、部门Id集合、网格Id集合查询各自对应详细信息 + **/ + @PostMapping("getagencydeptgridlist") + public Result getAgencyDeptGridList(AgencyDeptGridFormDTO formDTO) { + return new Result().ok(customerAgencyService.getAgencyDeptGridList(formDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index bf68fc2458..a83d872672 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -87,4 +87,12 @@ public interface CustomerAgencyDao extends BaseDao { * @date 2020/4/28 15:50 */ String selectAreaCodeByAgencyId(@Param("agencyId") String agencyId); + + /** + * @param agencyIdList + * @return + * @Author sun + * @Description 批量查询组织信息 + **/ + List selectAgencyListByIds(@Param("agencyIdList") List agencyIdList); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java index 300ea8bf8e..13cb1da0ea 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerDepartmentDao.java @@ -18,6 +18,8 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.CustomerAgencyDTO; +import com.epmet.dto.CustomerDepartmentDTO; import com.epmet.dto.CustomerIdDTO; import com.epmet.dto.result.DepartmentListResultDTO; import com.epmet.dto.result.SubListResultDTO; @@ -65,4 +67,12 @@ public interface CustomerDepartmentDao extends BaseDao * @date 2020/4/28 12:26 */ CustomerIdDTO selectCustomerIdByDepartmentId(@Param("departmentId") String departmentId); + + /** + * @param deptIdList + * @return + * @Author sun + * @Description 批量查询部门信息 + **/ + List selectDeptListByIds(@Param("deptIdList") List deptIdList); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java index 669664481c..2a066a5e92 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.UserIdAndPidDTO; import com.epmet.dto.UserIdDTO; @@ -167,4 +168,12 @@ public interface CustomerGridDao extends BaseDao { * @author sun */ List selectGridList(@Param("agencyId") String agencyId); + + /** + * @param gridIdList + * @return + * @Author sun + * @Description 批量查询网格信息 + **/ + List selectGridListByIds(@Param("gridIdList") List gridIdList); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index 7af4c11691..b79c1c6cfb 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -21,7 +21,9 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAgencyDTO; +import com.epmet.dto.form.AgencyDeptGridFormDTO; import com.epmet.dto.form.StaffOrgFormDTO; +import com.epmet.dto.result.AgencyDeptGridResultDTO; import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.StaffOrgsResultDTO; @@ -122,4 +124,12 @@ public interface CustomerAgencyService extends BaseService * @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息 **/ DepartmentStaffListResultDTO departmentStaffList(String agencyId); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 根据组织Id集合、部门Id集合、网格Id集合查询各自对应详细信息 + **/ + AgencyDeptGridResultDTO getAgencyDeptGridList(AgencyDeptGridFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 8a7607b942..2218c26341 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -29,6 +29,7 @@ import com.epmet.constant.CustomerAgencyConstant; import com.epmet.constant.CustomerGridConstant; import com.epmet.dao.*; import com.epmet.dto.*; +import com.epmet.dto.form.AgencyDeptGridFormDTO; import com.epmet.dto.form.CustomerFormDTO; import com.epmet.dto.form.StaffOrgFormDTO; import com.epmet.dto.result.*; @@ -298,4 +299,25 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl agencyList = baseDao.selectAgencyListByIds(formDTO.getAgencyIdList()); + //2:根据部门Id批量查询部门信息 + List deptList = customerDepartmentDao.selectDeptListByIds(formDTO.getDeptIdList()); + //3:根据网格Id批量查询网格信息 + List gridList = customerGridDao.selectGridListByIds(formDTO.getGridIdList()); + agencyDeptGrid.setAgencyList(agencyList); + agencyDeptGrid.setDeptList(deptList); + agencyDeptGrid.setGridList(gridList); + return agencyDeptGrid; + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index f690d08e53..41cce6fb8e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -108,4 +108,15 @@ INNER JOIN customer_agency ca ON (csa.AGENCY_ID = ca.ID) WHERE csa.USER_ID = #{staffId} + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml index aab4ce8f67..54a12139ad 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerDepartmentDao.xml @@ -44,4 +44,15 @@ id = #{departmentId} AND del_flag = 0 + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml index 9723d1e3f0..74f651fd7e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml @@ -295,4 +295,15 @@ ORDER BY created_time DESC + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java new file mode 100644 index 0000000000..c481b89492 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java @@ -0,0 +1,35 @@ +package com.epmet.dto.form; + +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 项目跟踪-转其他部门-勾选的人员信息-接口入参 + * @Author sun + */ +@Data +public class TickStaffFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + + @NotBlank(message = "机关Id不能为空") + private String agencyId; + + /** + * 部门Id(为空表示勾选的人不是部门下的,可能是组织下的也可能是网格下的) + */ + private String departmentId; + + /** + * 网格Id(为空表示勾选的人不是网格下的,可能是组织下的也可能是部门下的) + */ + private String gridId; + + @NotBlank(message = "内部备注不能为空") + private String staffId; +} + diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TransferFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TransferFormDTO.java new file mode 100644 index 0000000000..9d078a27b5 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TransferFormDTO.java @@ -0,0 +1,36 @@ +package com.epmet.dto.form; + +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 项目跟踪-转其他部门-接口入参 + * @Author sun + */ +@Data +public class TransferFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + + @NotBlank(message = "项目Id不能为空") + private String projectId; + + @NotBlank(message = "项目人员关联Id不能为空") + private String projectStaffId; + + @Length(max=1000,message = "公开答复内容不能超过1000位") + private String publicReply; + + @NotBlank(message = "内部备注不能为空") + @Length(max=1000,message = "内部备注不能超过1000位") + private String internalRemark; + + @Valid + private List staffList; + +} + diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java index 1c2b314f41..78d79402c1 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -73,4 +73,16 @@ public interface ProjectConstant { * 调用epmet-user服务查询数据失败 */ String SELECT_USERINFO_EXCEPTION = "获取用户昵称、头像失败"; + /** + * 查询项目人员关联表数据失败 + */ + String SELECT_PROJECTSTAFF_EXCEPTION = "获取项目人员关联表数据失败"; + /** + * 更新项目人员关联表数据失败 + */ + String UPDATE_PROJECTSTAFF_EXCEPTION = "更新项目人员关联表数据失败"; + /** + * 更新项目人员关联表数据失败 + */ + String DATe_EXCEPTION = "未勾选流转人员"; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index 3f88868a85..f252c27770 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -183,5 +183,19 @@ public class ProjectTraceController { ValidatorUtils.validateEntity(formDTO); return new Result().ok(projectStaffService.departmentStaffList(formDTO)); } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 项目跟踪-转其他部门 + **/ + @PostMapping("transfer") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_TRANSFER) + public Result transfer(@LoginUser TokenDto tokenDTO, @RequestBody TransferFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + projectProcessService.transfer(formDTO); + return new Result(); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index 503ee6d58c..5038fa4206 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -5,6 +5,8 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.AgencyDeptGridFormDTO; +import com.epmet.dto.result.AgencyDeptGridResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.feign.fallback.GovOrgFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; @@ -35,4 +37,13 @@ public interface GovOrgFeignClient { @PostMapping(value = "/gov/org/customeragency/departmentstafflist/{agencyId}") Result departmentStaffList(@PathVariable("agencyId") String agencyId); + /** + * @param formDTO + * @return + * @Author sun + * @Description 根据组织Id集合、部门Id集合、网格Id集合查询各自对应详细信息 + **/ + @PostMapping(value = "/gov/org/customeragency/getagencydeptgridlist") + Result getAgencyDeptGridList(AgencyDeptGridFormDTO formDTO); + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index 318975d5c9..3588d47287 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -7,6 +7,8 @@ import com.epmet.dto.CustomerAgencyDTO; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.AgencyDeptGridFormDTO; +import com.epmet.dto.result.AgencyDeptGridResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.feign.GovOrgFeignClient; import org.springframework.stereotype.Component; @@ -26,4 +28,9 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient { public Result departmentStaffList(String agencyId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId); } + + @Override + public Result getAgencyDeptGridList(AgencyDeptGridFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAgencyDeptGridList", formDTO); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java index ebfc0e83ca..aa523854d3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java @@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.form.ProcessListFormDTO; import com.epmet.dto.form.ReturnListFromDTO; +import com.epmet.dto.form.TransferFormDTO; import com.epmet.dto.result.ProcesslistResultDTO; import com.epmet.dto.result.ReturnListResultDTO; import com.epmet.entity.ProjectProcessEntity; @@ -113,4 +114,12 @@ public interface ProjectProcessService extends BaseService * @return java.util.List */ List getReturnableList(ReturnListFromDTO fromDTO); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 项目跟踪-转其他部门 + **/ + void transfer(TransferFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 78ea0dc5b0..38a3f8c9dc 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -21,32 +21,37 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.ProjectConstant; import com.epmet.dao.ProjectProcessDao; import com.epmet.dao.ProjectStaffDao; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.ProjectProcessDTO; -import com.epmet.dto.form.ProcessListFormDTO; -import com.epmet.dto.form.ReturnListFromDTO; -import com.epmet.dto.form.StaffsInAgencyFromDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.AgencyDeptGridResultDTO; import com.epmet.dto.result.ProcesslistResultDTO; import com.epmet.dto.result.ReturnListResultDTO; import com.epmet.dto.result.StaffInfoResultDTO; import com.epmet.entity.ProjectEntity; import com.epmet.entity.ProjectProcessEntity; +import com.epmet.entity.ProjectStaffEntity; import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.GovOrgFeignClient; import com.epmet.redis.ProjectProcessRedis; import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectService; +import com.epmet.service.ProjectStaffService; 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 java.util.*; +import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; /** @@ -68,6 +73,10 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl page(Map params) { @@ -158,4 +167,82 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl staffList = formDTO.getStaffList(); + if (null == staffList || staffList.size() < NumConstant.ONE) { + throw new RenException(ProjectConstant.DATe_EXCEPTION); + } + //3.1:调用gov-org服务,获取所有勾选人员对应的组织信息、部门信息、网格信息用于对处理部门和ORG_ID_PATH字段的赋值 + List agencyIdList = staffList.stream().map(TickStaffFormDTO::getAgencyId).collect(Collectors.toList()); + agencyIdList = new ArrayList(new LinkedHashSet<>(agencyIdList)); + List deptIdList = staffList.stream().map(TickStaffFormDTO::getDepartmentId).collect(Collectors.toList()); + deptIdList = new ArrayList(new LinkedHashSet<>(deptIdList)); + List gridIdList = staffList.stream().map(TickStaffFormDTO::getGridId).collect(Collectors.toList()); + gridIdList = new ArrayList(new LinkedHashSet<>(gridIdList)); + AgencyDeptGridFormDTO agencyDeptGridFormDTO = new AgencyDeptGridFormDTO(); + agencyDeptGridFormDTO.setAgencyIdList(agencyIdList); + agencyDeptGridFormDTO.setDeptIdList(deptIdList); + agencyDeptGridFormDTO.setGridIdList(gridIdList); + Result resultDTO = govOrgFeignClient.getAgencyDeptGridList(agencyDeptGridFormDTO); + AgencyDeptGridResultDTO agencyDeptGrid = resultDTO.getData(); + //3.2:批量新增项目人员关联表数据 + List entityList = new ArrayList<>(); + staffList.forEach(ts->{ + ProjectStaffEntity entity = ConvertUtils.sourceToTarget(ts, ProjectStaffEntity.class); + entity.setOrgId(ts.getAgencyId()); + entity.setProjectId(formDTO.getProjectId()); + entity.setProcessId(processEntity.getId()); + entity.setIsHandle(ProjectConstant.UNHANDLED); + agencyDeptGrid.getAgencyList().forEach(agency->{ + if (ts.getAgencyId().equals(agency.getId())) { + entity.setCustomerId(agency.getCustomerId()); + entity.setOrgIdPath(agency.getPids()+":"+agency.getId()); + entity.setDepartmentName(agency.getOrganizationName()); + } + }); + if (StringUtils.isNotBlank(ts.getDepartmentId())) { + agencyDeptGrid.getDeptList().forEach(dept -> { + if (ts.getDepartmentId().equals(dept.getId())) { + entity.setDepartmentName(entity.getDepartmentName() + "-" + dept.getDepartmentName()); + } + }); + } + if (StringUtils.isNotBlank(ts.getGridId())) { + agencyDeptGrid.getGridList().forEach(grid -> { + if (ts.getGridId().equals(grid.getId())) { + entity.setDepartmentName(entity.getDepartmentName() + "-" + grid.getGridName()); + } + }); + } + entityList.add(entity); + }); + projectStaffService.insertBatch(entityList); + } + } \ No newline at end of file From 6bc09369ac5e913a1a7ba4114a36d6c24846b340 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 14 May 2020 10:24:32 +0800 Subject: [PATCH 20/22] =?UTF-8?q?GovIssueRedis=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/redis/GovIssueRedis.java | 47 ++++ .../resi-hall-client/resi-hall-client.iml | 145 ------------- .../resi-hall-server/resi-hall-server.iml | 201 ------------------ epmet-module/resi-hall/resi-hall.iml | 51 ----- 4 files changed, 47 insertions(+), 397 deletions(-) delete mode 100644 epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml delete mode 100644 epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml delete mode 100644 epmet-module/resi-hall/resi-hall.iml diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java index 074c8e9597..1dacca6b18 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java @@ -18,6 +18,53 @@ public class GovIssueRedis { @Autowired private RedisUtils redisUtils; + /** + * @return java.lang.Long + * @param gridId + * @Author yinzuomei + * @Description 居民端,组长将话题转为议题成功后,调用此方法,该网格下表决中的议题数量+1 + * @Date 2020/5/14 10:12 + **/ + public Long addWorkGrassrootsIssueRedDotValue(String gridId){ + Long votingIssueCount = 0L; + try { + String workGrassrootsIssueRedDotKey = GovIssueRedisKeys.getWorkGrassrootsIssueRedDotKey(gridId); + votingIssueCount = redisUtils.incrementAndGet(workGrassrootsIssueRedDotKey); + logger.info(String.format("居民端话题转议题提交,更新redis-reddot值成功,key[%s],Value[%s]", workGrassrootsIssueRedDotKey, votingIssueCount)); + } catch (Exception e) { + logger.error(String.format("居民端话题转议题提交,更新redis-reddot值异常%s",e.getMessage())); + e.printStackTrace(); + } + return votingIssueCount; + } + + /** + * @return java.lang.Long + * @param gridId + * @Author yinzuomei + * @Description 政府端工作人员关闭议题或者将议题转项目成功后,需要调用此方法,将网格下表决中的议题数量-1 + * @Date 2020/5/14 10:12 + **/ + public Long subtractWorkGrassrootsIssueRedDotValue(String gridId){ + Long votingIssueCount = 0L; + try { + String workGrassrootsIssueRedDotKey = GovIssueRedisKeys.getWorkGrassrootsIssueRedDotKey(gridId); + votingIssueCount = redisUtils.decrementAndGet(workGrassrootsIssueRedDotKey); + logger.info(String.format("政府端(关闭议题、议题转项目)提交,更新redis-reddot值成功,key[%s],Value[%s]", workGrassrootsIssueRedDotKey, votingIssueCount)); + } catch (Exception e) { + logger.error(String.format("政府端(关闭议题、议题转项目)提交,更新redis-reddot值异常%s",e.getMessage())); + e.printStackTrace(); + } + return votingIssueCount; + } + + /** + * @return java.lang.Long + * @param gridId + * @Author yinzuomei + * @Description 获取某网格下表决中的议题总数 + * @Date 2020/5/14 9:40 + **/ public Long queryVotingIssueCount(String gridId) { Long auditingGroupCount = 0L; try { diff --git a/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml b/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml deleted file mode 100644 index 6f6a140623..0000000000 --- a/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml b/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml deleted file mode 100644 index 62d773bcc3..0000000000 --- a/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall.iml b/epmet-module/resi-hall/resi-hall.iml deleted file mode 100644 index 2837671944..0000000000 --- a/epmet-module/resi-hall/resi-hall.iml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 53f71e2d45582ba5d991dd27d8bab3c43414cd1c Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Thu, 14 May 2020 10:57:49 +0800 Subject: [PATCH 21/22] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/IssueController.java | 4 +- .../IssueSatisfactionDetailServiceImpl.java | 2 +- .../impl/IssueVoteDetailServiceImpl.java | 2 +- .../src/main/resources/mapper/IssueDao.xml | 7 +-- .../ProjectSatisfactionDetailServiceImpl.java | 2 +- .../com/epmet/feign/GovIssueFeignClient.java | 4 +- .../fallback/GovIssueFeignClientFallBack.java | 4 +- .../epmet/service/impl/IssueServiceImpl.java | 26 ++++++++--- .../src/main/resources/mapper/IssueDao.xml | 46 ------------------- 9 files changed, 32 insertions(+), 65 deletions(-) delete mode 100644 epmet-module/resi-hall/resi-hall-server/src/main/resources/mapper/IssueDao.xml diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java index 9e6169f22b..f19e4e43ee 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java @@ -33,8 +33,8 @@ public class IssueController { * @author zxc * @date 2020/5/11 9:42 */ - @PostMapping(value = "/detail") - @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) + @PostMapping(value = "detail") +// @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result detail(@RequestBody IssueDetailFormDTO issueDetail){ return new Result().ok(issueService.detail(issueDetail)); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSatisfactionDetailServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSatisfactionDetailServiceImpl.java index 37fb08814d..4b7bc5d837 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSatisfactionDetailServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSatisfactionDetailServiceImpl.java @@ -147,7 +147,7 @@ public class IssueSatisfactionDetailServiceImpl extends BaseServiceImpl diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java index df8fb0c47b..310d1f6bc0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java @@ -185,7 +185,7 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl issueDetail(@RequestBody IssueDetailFormDTO issueDetail); + @PostMapping("/gov/issue/issue/detail") + Result detail(@RequestBody IssueDetailFormDTO issueDetail); /** * @Description 表决中议题详情——支持、反对数 diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java index 03ba888efa..0a9fb24d06 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java @@ -19,8 +19,8 @@ import java.util.List; public class GovIssueFeignClientFallBack implements GovIssueFeignClient { @Override - public Result issueDetail(IssueDetailFormDTO issueDetail) { - return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "issueDetail", issueDetail); + public Result detail(IssueDetailFormDTO issueDetail) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "detail", issueDetail); } @Override diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index dd197c2d98..1ab6c5e96e 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -48,7 +48,7 @@ public class IssueServiceImpl implements IssueService { public IssueDetailResultDTO detail(IssueDetailFormDTO issueDetail) { IssueDetailResultDTO issueDetailResult = new IssueDetailResultDTO(); //议题信息 - Result issueResultDTOResult = govIssueFeignClient.issueDetail(issueDetail); + Result issueResultDTOResult = govIssueFeignClient.detail(issueDetail); IssueResultDTO issueResult = issueResultDTOResult.getData(); if (issueResult==null){ return issueDetailResult; @@ -58,22 +58,34 @@ public class IssueServiceImpl implements IssueService { IssueInitiatorFormDTO initiatorFormDTO = new IssueInitiatorFormDTO(); initiatorFormDTO.setUserId(issueResult.getUserId()); if (!StringUtils.isBlank(issueResult.getUserId())) { - Result initiatorResult = userFeignClient.selectIssueInitiator(initiatorFormDTO); - issueDetailResult.setIssueInitiator(initiatorResult.getData().getIssueInitiator()); + IssueInitiatorResultDTO initiatorResult = userFeignClient.selectIssueInitiator(initiatorFormDTO).getData(); + if (initiatorResult==null){ + issueDetailResult.setIssueInitiator(""); + }else { + issueDetailResult.setIssueInitiator(initiatorResult.getIssueInitiator()); + } } //网格名称 BelongGridNameFormDTO belongGridName = new BelongGridNameFormDTO(); belongGridName.setGridId(issueResult.getGridId()); if (!StringUtils.isBlank(issueResult.getGridId())) { - Result belongGridNameResult = govOrgFeignClient.getGridNameByGridId(belongGridName); - issueDetailResult.setBelongsGridName(belongGridNameResult.getData().getBelongsGridName()); + BelongGridNameResultDTO belongGridNameResult = govOrgFeignClient.getGridNameByGridId(belongGridName).getData(); + if (belongGridNameResult==null){ + issueDetailResult.setBelongsGridName(""); + }else { + issueDetailResult.setBelongsGridName(belongGridNameResult.getBelongsGridName()); + } } //话题信息 TopicInfoFormDTO topicInfoFormDTO = new TopicInfoFormDTO(); topicInfoFormDTO.setTopicId(issueResult.getTopicId()); if (!StringUtils.isBlank(issueResult.getTopicId())) { - Result topicInfoDTOResult = resiGroupFeignClient.selectDetail(topicInfoFormDTO); - issueDetailResult.setTopicInfo(topicInfoDTOResult.getData()); + TopicInfoDTO topicInfoDTOResult = resiGroupFeignClient.selectDetail(topicInfoFormDTO).getData(); + if (topicInfoDTOResult==null){ + issueDetailResult.setTopicInfo(new TopicInfoDTO()); + }else { + issueDetailResult.setTopicInfo(topicInfoDTOResult); + } } return issueDetailResult; } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/resources/mapper/IssueDao.xml b/epmet-module/resi-hall/resi-hall-server/src/main/resources/mapper/IssueDao.xml deleted file mode 100644 index 5a93dcd218..0000000000 --- a/epmet-module/resi-hall/resi-hall-server/src/main/resources/mapper/IssueDao.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 06f4144e134876abbf615c31fca0edfa4cff7f83 Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Thu, 14 May 2020 11:24:16 +0800 Subject: [PATCH 22/22] =?UTF-8?q?=E6=9D=83=E9=99=90=E6=B3=A8=E8=A7=A3?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/controller/IssueController.java | 3 --- .../com/epmet/controller/IssueManageController.java | 2 ++ .../java/com/epmet/controller/IssueController.java | 12 +++++++++++- .../java/com/epmet/feign/EpmetUserFeignClient.java | 4 ++-- .../java/com/epmet/feign/GovIssueFeignClient.java | 2 +- .../main/java/com/epmet/feign/GovOrgFeignClient.java | 2 +- .../java/com/epmet/feign/GovProjectFeignClient.java | 2 +- .../java/com/epmet/feign/ResiGroupFeignClient.java | 2 +- 8 files changed, 19 insertions(+), 10 deletions(-) diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java index f19e4e43ee..506a70ec9d 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java @@ -1,7 +1,5 @@ package com.epmet.controller; -import com.epmet.commons.tools.annotation.RequirePermission; -import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.result.GridVotingIssueCountResultDTO; @@ -34,7 +32,6 @@ public class IssueController { * @date 2020/5/11 9:42 */ @PostMapping(value = "detail") -// @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result detail(@RequestBody IssueDetailFormDTO issueDetail){ return new Result().ok(issueService.detail(issueDetail)); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java index da9fa30482..ce1bfd584f 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java @@ -67,6 +67,7 @@ public class IssueManageController { * @author zxc */ @PostMapping("votingtrend") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result votingTrend(@RequestBody IssueIdFormDTO issueId){ return new Result().ok(issueVoteStatisticalService.votingTrend(issueId)); } @@ -77,6 +78,7 @@ public class IssueManageController { * @author zxc */ @PostMapping("evaluationlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO){ return new Result>().ok(issueVoteStatisticalService.evaluationList(formDTO)); } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java index cc50d7dcd0..573ca80cbd 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java @@ -35,7 +35,7 @@ public class IssueController { * @date 2020/5/11 9:42 */ @PostMapping(value = "/detail") -// @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result detail(@RequestBody IssueDetailFormDTO issueDetail){ return new Result().ok(issueService.detail(issueDetail)); } @@ -46,6 +46,7 @@ public class IssueController { * @author zxc */ @PostMapping(value = "votingtrend") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result votingTrend(@RequestBody IssueIdFormDTO formDTO){ return new Result().ok(issueService.votingTrend(formDTO)); } @@ -56,6 +57,7 @@ public class IssueController { * @author zxc */ @PostMapping(value = "support") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result support(@LoginUser TokenDto tokenDto, @RequestBody IssueIdFormDTO formDTO){ issueService.support(tokenDto,formDTO); return new Result(); @@ -67,6 +69,7 @@ public class IssueController { * @author zxc */ @PostMapping(value = "oppose") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result oppose(@LoginUser TokenDto tokenDto,@RequestBody IssueIdFormDTO formDTO){ issueService.oppose(tokenDto,formDTO); return new Result(); @@ -78,6 +81,7 @@ public class IssueController { * @author zxc */ @PostMapping(value = "vote") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result vote(@RequestBody IssueIdFormDTO formDTO){ return new Result().ok(issueService.vote(formDTO)); } @@ -89,6 +93,7 @@ public class IssueController { * @author zxc */ @PostMapping("initevaluation") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result initEvaluation(@LoginUser TokenDto tokenDto, @RequestBody IssueIdFormDTO issueId){ return new Result().ok(issueService.initEvaluation(tokenDto,issueId)); } @@ -100,6 +105,7 @@ public class IssueController { * @author zxc */ @PostMapping("projectinitevaluation") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result projectInitEvaluation(@LoginUser TokenDto tokenDto, @RequestBody ProjectIdFormDTO projectId){ return new Result().ok(issueService.projectInitEvaluation(tokenDto,projectId)); } @@ -110,6 +116,7 @@ public class IssueController { * @author zxc */ @PostMapping("evaluate") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result evaluate(@LoginUser TokenDto tokenDto,@RequestBody EvaluateFormDTO formDTO){ issueService.evaluate(tokenDto,formDTO); return new Result(); @@ -121,6 +128,7 @@ public class IssueController { * @author zxc */ @PostMapping("projectevaluate") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result projectEvaluate(@LoginUser TokenDto tokenDto,@RequestBody ProjectEvaluateFormDTO formDTO){ issueService.projectEvaluate(tokenDto,formDTO); return new Result(); @@ -132,6 +140,7 @@ public class IssueController { * @author zxc */ @PostMapping("evaluationlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO){ return new Result>().ok(issueService.evaluationList(formDTO)); } @@ -142,6 +151,7 @@ public class IssueController { * @author zxc */ @PostMapping("projectevaluationlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result> projectEvaluationList(@RequestBody ProjectEvaluationListFormDTO formDTO){ return new Result>().ok(issueService.projectEvaluationList(formDTO)); } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index e5721246f5..e65812e3a4 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -18,8 +18,8 @@ import java.util.List; * @dscription * @date 2020/5/11 10:32 */ -//url = "localhost:8087" -@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class) +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class,url = "localhost:8087") +//@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class) public interface EpmetUserFeignClient { /** diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java index b33601edb8..798449e944 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java @@ -15,8 +15,8 @@ import java.util.List; /** * @Description Feign调用gov-issue-server模块 * @ClassName GovIssueFeignFallBack - * url = "localhost:8101" */ +//@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueFeignClientFallBack.class,url = "localhost:8101") @FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueFeignClientFallBack.class) public interface GovIssueFeignClient { diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index fbb1aeea7e..24090f6675 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -13,8 +13,8 @@ import org.springframework.web.bind.annotation.RequestBody; /** * @Description Feign调用gov-org-server模块 * @ClassName GovOrgFeginFallBack - * url = "localhost:8092" */ +//@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class,url = "localhost:8092") @FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class) public interface GovOrgFeignClient { diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java index 1d9f6bcabc..066f8c6404 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java @@ -18,8 +18,8 @@ import java.util.List; /** * @Description Feign调用gov-project-server模块 * @ClassName GovProjectFeignClient - * url = "localhost:8102" */ +//@FeignClient(name = ServiceConstant.GOV_PROJECT_SERVER, fallback = GovProjectFeignClientFallBack.class,url = "localhost:8102") @FeignClient(name = ServiceConstant.GOV_PROJECT_SERVER, fallback = GovProjectFeignClientFallBack.class) public interface GovProjectFeignClient { diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java index 661ef0e761..fa2a5cc182 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java @@ -10,8 +10,8 @@ import org.springframework.web.bind.annotation.PostMapping; /** * @author zxc - * url = "localhost:8095" */ +//@FeignClient(name = ServiceConstant.RESI_GROUP_SERVER, fallback = ResiGroupFeignClientFallBack.class,url = "localhost:8095") @FeignClient(name = ServiceConstant.RESI_GROUP_SERVER, fallback = ResiGroupFeignClientFallBack.class) public interface ResiGroupFeignClient {