From 5baa7c01b9c06704e3129f2c8840799d223da90f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B2=E6=A0=91=E9=80=9A?= <1976590620@qq.com> Date: Wed, 25 Mar 2020 18:37:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=BD=91=E6=A0=BC=E5=BC=80=E9=80=9A?= =?UTF-8?q?=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/dto/user/MetaUserGridOpiningDTO.java | 146 ++++++++++++++++++ .../epdc/datasources/DataSourceNames.java | 1 + .../datasources/DynamicDataSourceConfig.java | 9 +- .../MetaUserGridOpiningController.java | 104 +++++++++++++ .../controller/UserAnalysisController.java | 4 + .../user/dao/MetaUserGridOpiningDao.java | 45 ++++++ .../entity/MetaUserGridOpiningEntity.java | 116 ++++++++++++++ .../user/excel/MetaUserGridOpiningExcel.java | 101 ++++++++++++ .../service/MetaUserGridOpiningService.java | 107 +++++++++++++ .../user/service/UserAnalysisService.java | 13 ++ .../impl/MetaUserGridOpiningServiceImpl.java | 129 ++++++++++++++++ .../service/impl/UserAnalysisServiceImpl.java | 15 +- .../src/main/resources/application-dev.yml | 4 + .../mapper/user/MetaUserGridOpiningDao.xml | 45 ++++++ .../elink/esua/epdc/feign/UserFeignClint.java | 22 +++ .../fallback/UserFeignClintFallback.java | 19 +++ .../epdc/service/ScheduleJobUserService.java | 19 +++ .../impl/ScheduleJobUserServiceImpl.java | 20 +++ .../epdc/task/analysis/UserAnalysisTask.java | 18 +++ .../task/analysis/UserAnalysisTaskImpl.java | 21 +++ 20 files changed, 956 insertions(+), 2 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserGridOpiningDTO.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserGridOpiningController.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserGridOpiningDao.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserGridOpiningEntity.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserGridOpiningExcel.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserGridOpiningService.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserGridOpiningServiceImpl.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/MetaUserGridOpiningDao.xml create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClint.java create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClintFallback.java create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/ScheduleJobUserService.java create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/impl/ScheduleJobUserServiceImpl.java create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/analysis/UserAnalysisTask.java create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/analysis/UserAnalysisTaskImpl.java diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserGridOpiningDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserGridOpiningDTO.java new file mode 100644 index 000000000..7bf3ea654 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/MetaUserGridOpiningDTO.java @@ -0,0 +1,146 @@ +/** + * 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.elink.esua.epdc.dto.user; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 网格开通情况 + * + * @author qu elink@elink-cn.com + * @since v1.0.0 2020-03-25 + */ +@Data +public class MetaUserGridOpiningDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 网格id + */ + private Long gridId; + + /** + * 用户总数 + */ + private String registerCount; + + /** + * 党员数 + */ + private String partyCount; + + /** + * 已注册居民 + */ + private String residentCount; + + /** + * 未注册居民 + */ + private String unAuthorizedCount; + + /** + * 新闻发布数 + */ + private String newsCount; + + /** + * 社群数 + */ + private String communityCount; + + /** + * 群成员数 + */ + private String communityMemberCount; + + /** + * 群话题数 + */ + private String communityTopicCount; + + /** + * 议题总数 + */ + private String eventCount; + + /** + * 项目数 + */ + private String itemCount; + + /** + * 项目已解决数 + */ + private String itemCloseCount; + + /** + * 好评数 + */ + private String itemPraiseCount; + + /** + * 网格名称 + */ + private String allDeptNames; + + /** + * 网格党建指导员姓名 + */ + private String gridLeader; + + /** + * 删除标记 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 注册时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DataSourceNames.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DataSourceNames.java index e75611937..55b1b3a2e 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DataSourceNames.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DataSourceNames.java @@ -19,4 +19,5 @@ public interface DataSourceNames { String NINTH = "ninth"; String TENTH = "tenth"; String ELEVENTH = "eleventh"; + String TWELVE = "twelve"; } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DynamicDataSourceConfig.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DynamicDataSourceConfig.java index 9f078d3a1..bf0541ddd 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DynamicDataSourceConfig.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/datasources/DynamicDataSourceConfig.java @@ -86,6 +86,12 @@ public class DynamicDataSourceConfig { return DruidDataSourceBuilder.create().build(); } + @Bean + @ConfigurationProperties("spring.datasource.druid.twelve") + public DataSource twelvethDataSource() { + return DruidDataSourceBuilder.create().build(); + } + @Bean @Primary public DynamicDataSource dataSource(DataSource firstDataSource, DataSource secondDataSource, @@ -93,7 +99,7 @@ public class DynamicDataSourceConfig { DataSource fifthDataSource, DataSource sixthDataSource, DataSource seventhDataSource, DataSource eighthDataSource, DataSource ninthDataSource, DataSource tenthDataSource, - DataSource eleventhDataSource) { + DataSource eleventhDataSource,DataSource twelvethDataSource) { Map targetDataSources = new HashMap<>(); targetDataSources.put(DataSourceNames.FIRST, firstDataSource); targetDataSources.put(DataSourceNames.SECOND, secondDataSource); @@ -106,6 +112,7 @@ public class DynamicDataSourceConfig { targetDataSources.put(DataSourceNames.NINTH, ninthDataSource); targetDataSources.put(DataSourceNames.TENTH, tenthDataSource); targetDataSources.put(DataSourceNames.ELEVENTH, eleventhDataSource); + targetDataSources.put(DataSourceNames.TWELVE, twelvethDataSource); return new DynamicDataSource(firstDataSource, targetDataSources); } } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserGridOpiningController.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserGridOpiningController.java new file mode 100644 index 000000000..0f5b1fc1f --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/MetaUserGridOpiningController.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.user.controller; + +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.AssertUtils; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; +import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; +import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import com.elink.esua.epdc.dto.user.MetaUserGridOpiningDTO; +import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO; +import com.elink.esua.epdc.modules.user.excel.MetaUserGridOpiningExcel; +import com.elink.esua.epdc.modules.user.service.MetaUserGridOpiningService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 网格开通情况 + * + * @author qu elink@elink-cn.com + * @since v1.0.0 2020-03-25 + */ +@RestController +@RequestMapping("metausergridopining") +public class MetaUserGridOpiningController { + + @Autowired + private MetaUserGridOpiningService metaUserGridOpiningService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = metaUserGridOpiningService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + MetaUserGridOpiningDTO data = metaUserGridOpiningService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody MetaUserGridOpiningDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + metaUserGridOpiningService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody MetaUserGridOpiningDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + metaUserGridOpiningService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + metaUserGridOpiningService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = metaUserGridOpiningService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, MetaUserGridOpiningExcel.class); + } + + /** + * @author: qushutong + * @Date: 2020/3/25 10:35 + * @Description: 临时表导入 + */ + @GetMapping("tolead") + public Result> tolead() { + return metaUserGridOpiningService.createUserAnalysisData(); + } +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java index e25f2dc88..472f20f7b 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java @@ -24,6 +24,7 @@ import com.elink.esua.epdc.excel.PartyAnalysExcel; import com.elink.esua.epdc.excel.RegisterExcel; import com.elink.esua.epdc.modules.user.service.UserAnalysisService; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -201,4 +202,7 @@ public class UserAnalysisController { List list = userAnalysisService.listPageGridOpeningsForExport(params); ExcelUtils.exportExcelToTarget(response, "开通网格情况", list, GridOpiningExcel.class); } + + + } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserGridOpiningDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserGridOpiningDao.java new file mode 100644 index 000000000..ca5c69bca --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/MetaUserGridOpiningDao.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.elink.esua.epdc.modules.user.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.modules.user.entity.MetaUserGridOpiningEntity; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; + +/** + * 网格开通情况 + * + * @author qu elink@elink-cn.com + * @since v1.0.0 2020-03-25 + */ +@Mapper +public interface MetaUserGridOpiningDao extends BaseDao { + + /*** + * 列表 + * @param params + * @return com.elink.esua.epdc.commons.tools.page.PageData + * @author qushutong + * @date 2020/3/25 17:30 + */ + List pageselectListPage(Map params); +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserGridOpiningEntity.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserGridOpiningEntity.java new file mode 100644 index 000000000..305bc8930 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/entity/MetaUserGridOpiningEntity.java @@ -0,0 +1,116 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.user.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 网格开通情况 + * + * @author qu elink@elink-cn.com + * @since v1.0.0 2020-03-25 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("meta_epdc_user_grid_opining") +public class MetaUserGridOpiningEntity extends BaseEpdcEntity { + + private static final long serialVersionUID = 1L; + + /** + * 网格id + */ + private Long gridId; + + /** + * 用户总数 + */ + private String registerCount; + + /** + * 党员数 + */ + private String partyCount; + + /** + * 已注册居民 + */ + private String residentCount; + + /** + * 未注册居民 + */ + private String unAuthorizedCount; + + /** + * 新闻发布数 + */ + private String newsCount; + + /** + * 社群数 + */ + private String communityCount; + + /** + * 群成员数 + */ + private String communityMemberCount; + + /** + * 群话题数 + */ + private String communityTopicCount; + + /** + * 议题总数 + */ + private String eventCount; + + /** + * 项目数 + */ + private String itemCount; + + /** + * 项目已解决数 + */ + private String itemCloseCount; + + /** + * 好评数 + */ + private String itemPraiseCount; + + /** + * 网格名称 + */ + private String allDeptNames; + + /** + * 网格党建指导员姓名 + */ + private String gridLeader; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserGridOpiningExcel.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserGridOpiningExcel.java new file mode 100644 index 000000000..2da7a72da --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/excel/MetaUserGridOpiningExcel.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.elink.esua.epdc.modules.user.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 网格开通情况 + * + * @author qu elink@elink-cn.com + * @since v1.0.0 2020-03-25 + */ +@Data +public class MetaUserGridOpiningExcel { + + @Excel(name = "主键") + private String id; + + @Excel(name = "网格id") + private Long gridId; + + @Excel(name = "用户总数") + private String registerCount; + + @Excel(name = "党员数") + private String partyCount; + + @Excel(name = "已注册居民") + private String residentCount; + + @Excel(name = "未注册居民") + private String unAuthorizedCount; + + @Excel(name = "新闻发布数") + private String newsCount; + + @Excel(name = "社群数") + private String communityCount; + + @Excel(name = "群成员数") + private String communityMemberCount; + + @Excel(name = "群话题数") + private String communityTopicCount; + + @Excel(name = "议题总数") + private String eventCount; + + @Excel(name = "项目数") + private String itemCount; + + @Excel(name = "项目已解决数") + private String itemCloseCount; + + @Excel(name = "好评数") + private String itemPraiseCount; + + @Excel(name = "网格名称") + private String allDeptNames; + + @Excel(name = "网格党建指导员姓名") + private String gridLeader; + + @Excel(name = "删除标记") + private String delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "注册时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserGridOpiningService.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserGridOpiningService.java new file mode 100644 index 000000000..c28bfabce --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/MetaUserGridOpiningService.java @@ -0,0 +1,107 @@ +/** + * 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.elink.esua.epdc.modules.user.service; + +import com.elink.esua.epdc.commons.mybatis.service.BaseService; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.user.MetaUserGridOpiningDTO; +import com.elink.esua.epdc.modules.user.entity.MetaUserGridOpiningEntity; + +import java.util.List; +import java.util.Map; + +/** + * 网格开通情况 + * + * @author qu elink@elink-cn.com + * @since v1.0.0 2020-03-25 + */ +public interface MetaUserGridOpiningService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-03-25 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-03-25 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return MetaUserGridOpiningDTO + * @author generator + * @date 2020-03-25 + */ + MetaUserGridOpiningDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-03-25 + */ + void save(MetaUserGridOpiningDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-03-25 + */ + void update(MetaUserGridOpiningDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-03-25 + */ + void delete(String[] ids); + + + + /*** + * 网格开通数据生成临时表导入 + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author qushutong + * @date 2020/3/25 10:42 + */ + Result createUserAnalysisData(); +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java index 8a460c049..887ad6c02 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java @@ -88,4 +88,17 @@ public interface UserAnalysisService { * @date 2020/2/13 14:22 */ GridDataTotalResultDTO selectGridDataTotal(Map params); + + + + /*** + * 获取所有网格 + * @param params + * @return java.util.List + * @author qushutong + * @date 2020/3/25 17:22 + */ + List selectListGridHasMaCode(Map params); + + } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserGridOpiningServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserGridOpiningServiceImpl.java new file mode 100644 index 000000000..d2e909e75 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/MetaUserGridOpiningServiceImpl.java @@ -0,0 +1,129 @@ +/** + * 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.elink.esua.epdc.modules.user.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; +import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.commons.tools.utils.LocalDateUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.datasources.DataSourceNames; +import com.elink.esua.epdc.datasources.annotation.DataSource; +import com.elink.esua.epdc.dto.user.MetaUserGridOpiningDTO; +import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO; +import com.elink.esua.epdc.modules.user.dao.MetaUserGridOpiningDao; +import com.elink.esua.epdc.modules.user.entity.MetaUserGridOpiningEntity; +import com.elink.esua.epdc.modules.user.service.MetaUserGridOpiningService; +import com.elink.esua.epdc.modules.user.service.UserAnalysisService; +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.text.SimpleDateFormat; +import java.util.*; + +/** + * 网格开通情况 + * + * @author qu elink@elink-cn.com + * @since v1.0.0 2020-03-25 + */ +@Service +public class MetaUserGridOpiningServiceImpl extends BaseServiceImpl implements MetaUserGridOpiningService { + @Autowired + private UserAnalysisService userAnalysisService; + + @Override + @DataSource(name = DataSourceNames.TWELVE) + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + // 获取所有网格 + List gridOpeningResultDTOS = userAnalysisService.selectListGridHasMaCode(params); + List deptIdList = new ArrayList<>(); + for(GridOpeningResultDTO item:gridOpeningResultDTOS){ + deptIdList.add(item.getGridId()); + } + params.put("deptIdList",deptIdList); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + Calendar c = Calendar.getInstance(); + c.add(Calendar.DATE, -1); + Date createdTime = c.getTime(); + params.put("createdTime",format.format(createdTime)); + List metaUserGridOpiningEntityList = baseDao.pageselectListPage(params); + return getPageData(metaUserGridOpiningEntityList,page.getTotal(), MetaUserGridOpiningDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, MetaUserGridOpiningDTO.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 MetaUserGridOpiningDTO get(String id) { + MetaUserGridOpiningEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, MetaUserGridOpiningDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(MetaUserGridOpiningDTO dto) { + MetaUserGridOpiningEntity entity = ConvertUtils.sourceToTarget(dto, MetaUserGridOpiningEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(MetaUserGridOpiningDTO dto) { + MetaUserGridOpiningEntity entity = ConvertUtils.sourceToTarget(dto, MetaUserGridOpiningEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + + @Override + public Result createUserAnalysisData() { + List list = userAnalysisService.listPageGridOpeningsForExport(new HashMap<>()); + List metaUserGridOpiningEntities = ConvertUtils.sourceToTarget(list, MetaUserGridOpiningEntity.class); + boolean b = insertBatch(metaUserGridOpiningEntities); + return b?new Result<>():new Result().error("录入失败"); + } +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java index 02108205f..6ab47fcba 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java @@ -9,6 +9,7 @@ import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; import com.elink.esua.epdc.commons.tools.security.user.UserDetail; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.datasources.DataSourceNames; import com.elink.esua.epdc.datasources.annotation.DataSource; @@ -17,12 +18,16 @@ import com.elink.esua.epdc.dto.user.form.UserSortRankFormDTO; import com.elink.esua.epdc.dto.user.form.UserCountDTO; import com.elink.esua.epdc.dto.user.result.*; import com.elink.esua.epdc.modules.user.dao.UserAnalysisDao; +import com.elink.esua.epdc.modules.user.entity.MetaUserGridOpiningEntity; +import com.elink.esua.epdc.modules.user.service.MetaUserGridOpiningService; import com.elink.esua.epdc.modules.user.service.UserAnalysisService; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -51,7 +56,6 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl listPageGridOpeningsForExport(Map params) { params.put("deptIdList", SecurityUser.getUser().getDeptIdList()); - List list = baseDao.selectListGridHasMaCode(params); list = fillFieldForGridOpening(list, params); @@ -277,4 +281,13 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl selectListGridHasMaCode(Map params) { + params.put("deptIdList", SecurityUser.getUser().getDeptIdList()); + params.put("category",1); + return baseDao.selectListGridHasMaCode(params); + } + + } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-dev.yml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-dev.yml index 5a5ab6e28..8c0fcdf01 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-dev.yml +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/application-dev.yml @@ -47,6 +47,10 @@ spring: url: jdbc:mysql://47.104.224.45:3308/esua_epdc_user?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai username: epdc password: elink833066 + twelve: #数据源12 + url: jdbc:mysql://47.104.224.45:3308/esua_epdc_analysis?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai + username: epdc + password: elink833066 initial-size: 10 max-active: 100 min-idle: 10 diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/MetaUserGridOpiningDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/MetaUserGridOpiningDao.xml new file mode 100644 index 000000000..0d4fb69c6 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/MetaUserGridOpiningDao.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClint.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClint.java new file mode 100644 index 000000000..aa3393b8b --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClint.java @@ -0,0 +1,22 @@ +package com.elink.esua.epdc.feign; + +import com.elink.esua.epdc.commons.tools.utils.Result; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * @author: qushutong + * @Date: 2020/3/25 10:20 + * @Description: 用户数据分析 + */ +public interface UserFeignClint { + + /*** + * 生成用户分析数据导入临时表 + * @param + * @return void + * @author qushutong + * @date 2020/3/25 10:19 + */ + @GetMapping("analysis/user/tolead") + Result createUserAnalysisData(); +} diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClintFallback.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClintFallback.java new file mode 100644 index 000000000..43636d315 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClintFallback.java @@ -0,0 +1,19 @@ +package com.elink.esua.epdc.feign.fallback; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.feign.UserFeignClint; + +/** + * @author: qushutong + * @Date: 2020/3/25 10:22 + * @Description: 用户数据分析 + */ +public class UserFeignClintFallback implements UserFeignClint { + + @Override + public Result createUserAnalysisData() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "createUserAnalysisData", ""); + } +} diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/ScheduleJobUserService.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/ScheduleJobUserService.java new file mode 100644 index 000000000..b164e52a2 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/ScheduleJobUserService.java @@ -0,0 +1,19 @@ +package com.elink.esua.epdc.service; + +/** + * @author: qushutong + * @Date: 2020/3/25 10:18 + * @Description: 用户数据分析 + */ +public interface ScheduleJobUserService { + + /*** + * 生成用户分析数据导入临时表 + * @param + * @return void + * @author qushutong + * @date 2020/3/25 10:19 + */ + void createUserAnalysisData(); + +} diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/impl/ScheduleJobUserServiceImpl.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/impl/ScheduleJobUserServiceImpl.java new file mode 100644 index 000000000..a19d0ef7e --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/impl/ScheduleJobUserServiceImpl.java @@ -0,0 +1,20 @@ +package com.elink.esua.epdc.service.impl; + +import com.elink.esua.epdc.feign.UserFeignClint; +import com.elink.esua.epdc.service.ScheduleJobUserService; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @author: qushutong + * @Date: 2020/3/25 10:15 + * @Description: 用户数据数据分析 + */ +public class ScheduleJobUserServiceImpl implements ScheduleJobUserService { + @Autowired + private UserFeignClint userFeignClint; + + @Override + public void createUserAnalysisData() { + userFeignClint.createUserAnalysisData(); + } +} diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/analysis/UserAnalysisTask.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/analysis/UserAnalysisTask.java new file mode 100644 index 000000000..69d67479e --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/analysis/UserAnalysisTask.java @@ -0,0 +1,18 @@ +package com.elink.esua.epdc.task.analysis; + +/** + * @author: qushutong + * @Date: 2020/3/25 10:04 + * @Description: 用户分析 + */ +public interface UserAnalysisTask { + + /*** + * 网格开通情况 + * @param + * @return void + * @author qushutong + * @date 2020/3/25 10:11 + */ + void run(); +} diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/analysis/UserAnalysisTaskImpl.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/analysis/UserAnalysisTaskImpl.java new file mode 100644 index 000000000..d3ef918dc --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/analysis/UserAnalysisTaskImpl.java @@ -0,0 +1,21 @@ +package com.elink.esua.epdc.task.analysis; + +import com.elink.esua.epdc.service.ScheduleJobUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * @author: qushutong + * @Date: 2020/3/25 10:12 + * @Description: + */ +@Component("UserAnalysisTask") +public class UserAnalysisTaskImpl implements UserAnalysisTask { + @Autowired + private ScheduleJobUserService scheduleJobUserService; + + @Override + public void run() { + scheduleJobUserService.createUserAnalysisData(); + } +}