diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/pom.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/pom.xml index a351a2b88..674ee49bb 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/pom.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/pom.xml @@ -28,6 +28,11 @@ epdc-commons-tools ${project.version} + + com.esua.epdc + epdc-commons-dynamic-datasource + ${project.version} + com.esua.epdc epdc-commons-mybatis @@ -127,6 +132,12 @@ epdc elink833066 + + + + epdc + elink833066 + false 47.104.224.45:8848 @@ -151,6 +162,12 @@ epdc elink833066 + + + + epdc + elink833066 + true 47.104.224.45:8848 219.146.91.110 @@ -226,6 +243,11 @@ epdc Elink@833066 + + + + epdc + Elink@833066 true 172.16.0.52:8848 diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/datasources/DataSourceNames.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/datasources/DataSourceNames.java new file mode 100644 index 000000000..11df75974 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/datasources/DataSourceNames.java @@ -0,0 +1,14 @@ +package com.elink.esua.epdc.datasources; + +/** + * 增加多数据源,除默认数据源外,每增加一个数据源,添加一个新的常量 + * + * @author work@yujt.net.cn + * @date 2020/2/27 15:03 + */ +public interface DataSourceNames { + /** + * 多数据源配置一,对应yml文件中 dynamic:datasource:first: + */ + String FIRST = "first"; +} diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/redis/UserAuthenticateHistoryRedis.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/redis/UserAuthenticateHistoryRedis.java deleted file mode 100644 index eefe52be6..000000000 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/redis/UserAuthenticateHistoryRedis.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * 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.redis; - -import com.elink.esua.epdc.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 用户认证历史表 - * - * @author qu qu@elink-cn.com - * @since v1.0.0 2019-11-21 - */ -@Component -public class UserAuthenticateHistoryRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - -} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyAuthenticationFailedServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyAuthenticationFailedServiceImpl.java index 3bff8c6e0..49f92ba65 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyAuthenticationFailedServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyAuthenticationFailedServiceImpl.java @@ -18,17 +18,18 @@ package com.elink.esua.epdc.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.elink.esua.epdc.commons.dynamic.datasource.annotation.DataSource; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.dao.PartyAuthenticationFailedDao; +import com.elink.esua.epdc.datasources.DataSourceNames; import com.elink.esua.epdc.dto.PartyAuthenticationFailedDTO; import com.elink.esua.epdc.entity.PartyAuthenticationFailedEntity; import com.elink.esua.epdc.service.PartyAuthenticationFailedService; import com.elink.esua.epdc.util.AppUserUtils; import com.google.common.collect.Lists; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -46,6 +47,7 @@ import java.util.Map; public class PartyAuthenticationFailedServiceImpl extends BaseServiceImpl implements PartyAuthenticationFailedService { @Override + @DataSource(value = DataSourceNames.FIRST) public PageData page(Map params) { String[] paramKeys = new String[]{"realName", "identityNo", "startTime", "endTime", "mobile"}; @@ -64,6 +66,7 @@ public class PartyAuthenticationFailedServiceImpl extends BaseServiceImpl list(Map params) { // 党员认证失败页面 查询条件:姓名, 手机号, 身份证号, 后端处理前后空格 String[] paramKeys = new String[]{"realName", "identityNo", "mobile"}; @@ -74,6 +77,7 @@ public class PartyAuthenticationFailedServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( getPage(params, FieldConstant.CREATED_TIME, false), @@ -82,11 +84,13 @@ public class PartyMembersServiceImpl extends BaseServiceImpl> pageDIY(Map params) { return new Result().ok(pagePartyMember(params, YesOrNoEnum.YES.value())); } @Override + @DataSource(value = DataSourceNames.FIRST) public Result> hasAuthenticationPartyPage(Map params) { return new Result().ok(pagePartyMember(params, YesOrNoEnum.NO.value())); } @@ -161,6 +165,7 @@ public class PartyMembersServiceImpl extends BaseServiceImpl partyMembersEntityList = ConvertUtils.sourceToTarget(partyList, PartyMembersEntity.class); for (int i = 0; i < partyMembersEntityList.size(); i++) { PartyMembersEntity partyMembersEntity = partyMembersEntityList.get(i); - partyMembersEntity.setCadreFlag("0"); + partyMembersEntity.setCadreFlag(YesOrNoEnum.NO.value()); partyMembersEntity.setRegistFlag(PartyMemberRegFlagEnum.NO.getValue()); partyMembersEntity.setGridName(null); } @@ -268,12 +273,12 @@ public class PartyMembersServiceImpl extends BaseServiceImpl partyMembersEntityList = baseDao.selectList(new QueryWrapper()); List partyExportList = ExcelImportUtil.importExcel(f, PartyMembersExcel.class, importParams); // 去空格 - List partyList =new ArrayList<>(); - for(PartyMembersExcel partyItem:partyExportList){ - if(StringUtils.isNotBlank(partyItem.getIdentityNo())){ + List partyList = new ArrayList<>(); + for (PartyMembersExcel partyItem : partyExportList) { + if (StringUtils.isNotBlank(partyItem.getIdentityNo())) { partyItem.setIdentityNo(ModuleUtils.replaceIllegalCharacter(partyItem.getIdentityNo())); } - if(StringUtils.isNotBlank(partyItem.getRealName())){ + if (StringUtils.isNotBlank(partyItem.getRealName())) { partyItem.setRealName(ModuleUtils.replaceIllegalCharacter(partyItem.getRealName())); } partyList.add(partyItem); @@ -284,10 +289,10 @@ public class PartyMembersServiceImpl extends BaseServiceImpl exportHasMoudle(Map params) { - checkParam(params); - return baseDao.hasAuthenticationPartyPage(params); - } + params = trimParamValue(params); - /*** - * - * @param params - * @return void - * @author qushutong - * @date 2019/12/29 14:51 - */ - private void checkParam(Map params) { - String realName = (String) params.get("realName"); - String mobile = (String) params.get("mobile"); - String identityNo = (String) params.get("identityNo"); - if (StringUtils.isNotBlank(realName)) { - params.put("realName", realName.trim()); - } - if (StringUtils.isNotBlank(mobile)) { - params.put("mobile", mobile.trim()); - } - if (StringUtils.isNotBlank(identityNo)) { - params.put("identityNo", identityNo.trim()); - } + return baseDao.hasAuthenticationPartyPage(params); } + @Override public Result upDataInfo(List userEntities) { List partyMembersEntityList = new ArrayList<>(); diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserAuthenticateHistoryServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserAuthenticateHistoryServiceImpl.java index 892efa46e..0a6319d95 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserAuthenticateHistoryServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserAuthenticateHistoryServiceImpl.java @@ -19,20 +19,20 @@ package com.elink.esua.epdc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.elink.esua.epdc.commons.dynamic.datasource.annotation.DataSource; 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.Result; import com.elink.esua.epdc.dao.UserAuthenticateHistoryDao; +import com.elink.esua.epdc.datasources.DataSourceNames; import com.elink.esua.epdc.dto.UserAuthenticateHistoryDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcAuthenticateHistoryFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcAuthenticateHistoryResultDTO; import com.elink.esua.epdc.entity.UserAuthenticateHistoryEntity; -import com.elink.esua.epdc.redis.UserAuthenticateHistoryRedis; import com.elink.esua.epdc.service.UserAuthenticateHistoryService; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -49,9 +49,6 @@ import java.util.Map; @Service public class UserAuthenticateHistoryServiceImpl extends BaseServiceImpl implements UserAuthenticateHistoryService { - @Autowired - private UserAuthenticateHistoryRedis userAuthenticateHistoryRedis; - @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -62,14 +59,15 @@ public class UserAuthenticateHistoryServiceImpl extends BaseServiceImpl list(Map params) { List entityList = baseDao.selectList(getWrapper(params)); return ConvertUtils.sourceToTarget(entityList, UserAuthenticateHistoryDTO.class); } - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + 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); @@ -78,6 +76,7 @@ public class UserAuthenticateHistoryServiceImpl extends BaseServiceImpl listUserAuthenticateHistory(String userId) { return baseDao.selectListUserAuthenticateHistory(userId); } @@ -124,6 +124,7 @@ public class UserAuthenticateHistoryServiceImpl extends BaseServiceImpl> authenticateHistory(EpdcAuthenticateHistoryFormDTO formDTO) { return new Result>().ok(baseDao.selectListAuthenticateHistory(formDTO.getUserId())); } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java index 9e08f9a46..c0e812cf9 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java @@ -24,6 +24,7 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.elink.esua.epdc.commons.dynamic.datasource.annotation.DataSource; import com.elink.esua.epdc.commons.mybatis.enums.EpdcDelFlagEnum; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; @@ -40,6 +41,7 @@ import com.elink.esua.epdc.dao.PartyAuthenticationFailedDao; import com.elink.esua.epdc.dao.PartyMembersDao; import com.elink.esua.epdc.dao.UserAuthenticateHistoryDao; import com.elink.esua.epdc.dao.UserDao; +import com.elink.esua.epdc.datasources.DataSourceNames; import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.epdc.UserCarInfoDTO; @@ -109,6 +111,7 @@ public class UserServiceImpl extends BaseServiceImpl implem private PartyAuthenticationFailedDao partyAuthenticationFailedDao; @Override + @DataSource(value = DataSourceNames.FIRST) public PageData page(Map params) { String[] paramKeys = new String[]{"streetId", "communityId", "gridId", "realName", "identityNo", "startTime", "endTime", "nickname", "mobile"}; if (AppUserUtils.isDefaultQuery(params, paramKeys)) { @@ -137,6 +140,7 @@ public class UserServiceImpl extends BaseServiceImpl implem } @Override + @DataSource(value = DataSourceNames.FIRST) public UserDTO get(String id) { UserEntity entity = baseDao.selectById(id); UserDTO resultDTO = ConvertUtils.sourceToTarget(entity, UserDTO.class); @@ -327,6 +331,7 @@ public class UserServiceImpl extends BaseServiceImpl implem } @Override + @DataSource(value = DataSourceNames.FIRST) public Result getInfoById(String id) { return new Result().ok(baseDao.selectOneInfoById(id)); @@ -377,6 +382,7 @@ public class UserServiceImpl extends BaseServiceImpl implem } @Override + @DataSource(value = DataSourceNames.FIRST) public Result getUserRegisterAuditResult(String userId) { EpdcUserRegisterAuditMsgResultDTO dto = this.baseDao.getUserRegisterAuditResult(userId); return new Result().ok(dto); @@ -568,6 +574,7 @@ public class UserServiceImpl extends BaseServiceImpl implem } @Override + @DataSource(value = DataSourceNames.FIRST) public Result verifyUserCompleteData(UserDTO userDto) { String userId = userDto.getId(); @@ -694,6 +701,7 @@ public class UserServiceImpl extends BaseServiceImpl implem * @return */ @Override + @DataSource(value = DataSourceNames.FIRST) public Result residentDetail(String userId) { if (StringUtils.isBlank(userId)) { return new Result().error("用户Id不能为空"); @@ -753,6 +761,7 @@ public class UserServiceImpl extends BaseServiceImpl implem * @return */ @Override + @DataSource(value = DataSourceNames.FIRST) public Result partyMemberDetail(String userId) { if (StringUtils.isBlank(userId)) { return new Result().error("用户Id不能为空"); @@ -772,6 +781,7 @@ public class UserServiceImpl extends BaseServiceImpl implem } @Override + @DataSource(value = DataSourceNames.FIRST) public Result> getWorkUserList(EpdcWorkUserFromDTO workUserFromDto) { // authenticatedFlag是否已认证 0否 1是 // partyFlag 是否党员,0否,1是 @@ -803,11 +813,13 @@ public class UserServiceImpl extends BaseServiceImpl implem } @Override + @DataSource(value = DataSourceNames.FIRST) public Result getUnauthorizedAmount(EpdcUnauthorizedAmountFromDTO fromDto) { return new Result().ok(baseDao.selectCountUnauthorizedAmount(fromDto)); } @Override + @DataSource(value = DataSourceNames.FIRST) public Result getUserLastSwitchGird(String openId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(UserFieldConsant.WX_OPEN_ID, openId) @@ -840,6 +852,7 @@ public class UserServiceImpl extends BaseServiceImpl implem * @Date 2019/12/7 13:58 **/ @Override + @DataSource(value = DataSourceNames.FIRST) public Result queryUserDto(EpdcAppQueryUserInfoFormDTO formDto) { UserDTO user = selectUserByWxInfo(formDto.getOpenId(), formDto.getUnionId()); return new Result().ok(user); @@ -854,6 +867,7 @@ public class UserServiceImpl extends BaseServiceImpl implem * @Date 2019/12/19 15:03 **/ @Override + @DataSource(value = DataSourceNames.FIRST) public Result> listGridUserResultDTO(List gridIdList) { return new Result>().ok(baseDao.selectListGridUserResultDTO(gridIdList)); } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/application.yml index 75317b8f9..759e7e0da 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/application.yml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/application.yml @@ -40,12 +40,28 @@ spring: alibaba: seata: tx-service-group: epdc-user-server-fescar-service-group + # 默认数据源 datasource: druid: - driver-class-name: com.mysql.jdbc.Driver + driverClassName: com.mysql.jdbc.Driver url: @spring.datasource.druid.url@ username: @spring.datasource.druid.username@ password: @spring.datasource.druid.password@ + initialSize: 10 + maxActive: 100 + minIdle: 10 + +# 多数据源配置 +dynamic: + datasource: + first: + driverClassName: com.mysql.jdbc.Driver + url: @dynamic.datasource.first.url@ + username: @dynamic.datasource.first.username@ + password: @dynamic.datasource.first.password@ + initialSize: 10 + maxActive: 100 + minIdle: 10 management: endpoints: