diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/WeChatNotifyController.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/WeChatNotifyController.java index bacb67e3cf..2b985f6316 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/WeChatNotifyController.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/WeChatNotifyController.java @@ -1,9 +1,12 @@ package com.epmet.controller; +import com.epmet.commons.tools.distributedlock.DistributedLock; +import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.ModuleConstant; import com.epmet.service.ComponentVerifyTicketService; import lombok.extern.slf4j.Slf4j; +import org.redisson.api.RLock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -20,6 +23,8 @@ public class WeChatNotifyController { @Autowired private ComponentVerifyTicketService componentVerifyTicketService; + @Autowired + private DistributedLock distributedLock; /** * @Description 定时获取 (令牌,component_access_token) @@ -29,10 +34,18 @@ public class WeChatNotifyController { */ @PostMapping("componentaccesstoken") public Result getComponentAccessToken() { - log.info("开始获取【component_access_token】......"); - String accessTokenCountFlag = ModuleConstant.ACCOUNT_TOKEN_FLAG_TWO; - componentVerifyTicketService.getComponentAccessToken(accessTokenCountFlag); - log.info("已成功获取到【component_access_token】......"); + RLock lock = null; + try { + lock = distributedLock.tryLock("refresh_component_access_token"); + log.info("开始获取【component_access_token】......"); + String accessTokenCountFlag = ModuleConstant.ACCOUNT_TOKEN_FLAG_TWO; + componentVerifyTicketService.getComponentAccessToken(accessTokenCountFlag); + log.info("已成功获取到【component_access_token】......"); + }catch (Exception e){ + log.warn("定时刷新component_access_token失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + }finally { + distributedLock.unLock(lock); + } return new Result(); } @@ -53,9 +66,17 @@ public class WeChatNotifyController { */ @PostMapping("refreshtoken") public Result refreshToken(){ - log.info("开始刷新/获取接口调用令牌......"); - componentVerifyTicketService.refreshToken(); - log.info("刷新/获取接口调用令牌......成功了"); + RLock lock = null; + try { + lock = distributedLock.tryLock("refresh_authorizer_access_token"); + log.info("开始刷新/获取接口调用令牌......"); + componentVerifyTicketService.refreshToken(); + log.info("刷新/获取接口调用令牌......成功了"); + }catch (Exception e){ + log.warn("定时刷新authorizer_access_token失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + }finally { + distributedLock.unLock(lock); + } return new Result(); } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberServiceImpl.java index 2b0f70bade..e6e8fd9c44 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartyMemberServiceImpl.java @@ -662,21 +662,6 @@ public class IcPartyMemberServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(IcPartyMemberEntity::getCustomerId, customerId); - wrapper.eq(IcPartyMemberEntity::getIdCard, e.getIdCard()); - IcPartyMemberEntity partyMember = baseDao.selectOne(wrapper); - if (null != partyMember) { - String message = "党员已存在"; - IcPartyMemberImportExcel.RowRemarkMessage errorRow = new IcPartyMemberImportExcel.RowRemarkMessage(); - errorRow.setName(name); - errorRow.setMobile(mobile); - errorRow.setIdCard(idCard); - errorRow.setErrorInfo(message); - otherRows.add(errorRow); - return; - } e.setCustomerId(customerId); e.setAgencyId(org.getAgencyId()); e.setAgencyPids(org.getAgencyPids()); @@ -707,7 +692,18 @@ public class IcPartyMemberServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcPartyMemberEntity::getCustomerId, customerId); + wrapper.eq(IcPartyMemberEntity::getIdCard, e.getIdCard()); + IcPartyMemberEntity partyMember = baseDao.selectOne(wrapper); + if (null != partyMember) { + e.setId(partyMember.getId()); + baseDao.updateById(e); + } else { + baseDao.insert(e); + } + } } \ No newline at end of file