Browse Source

修改:【小区编辑】【居民编辑】【居民导入】增加客户级别分布式锁,不能同时进行

master
wangxianzhang 3 years ago
parent
commit
ea663d7deb
  1. 14
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java
  2. 24
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  3. 334
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

14
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java

@ -21,6 +21,8 @@ import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.distributedlock.DistributedLock;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
@ -33,6 +35,7 @@ import com.epmet.entity.IcBuildingEntity;
import com.epmet.service.NeighborHoodService;
import com.epmet.util.ExcelPoiUtils;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RLock;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.PostMapping;
@ -44,6 +47,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
@ -61,6 +65,8 @@ public class NeighborHoodController {
private NeighborHoodService neighborHoodService;
@Resource
private IcBuildingDao icBuildingDao;
@Autowired
private DistributedLock distributedLock;
@PostMapping("neighborhoodlist")
@ -88,7 +94,13 @@ public class NeighborHoodController {
ValidatorUtils.validateEntity(formDTO, IcNeighborHoodAddFormDTO.UpdateShowGroup.class);
String customerId = tokenDTO.getCustomerId();
// String customerId = "123123";
neighborHoodService.updateNeighborhood(customerId,formDTO);
RLock lock = null;
try {
lock = distributedLock.getLock(RedisKeys.getXiaoquEditLock(tokenDTO.getCustomerId()), 120L, 3L, TimeUnit.SECONDS);
neighborHoodService.updateNeighborhood(customerId,formDTO);
} finally {
lock.unlock();
}
return new Result();
}

24
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -30,6 +30,7 @@ import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.distributedlock.DistributedLock;
import com.epmet.commons.tools.dto.form.mq.MqBaseFormDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.dto.result.OptionDataResultDTO;
@ -76,6 +77,7 @@ import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.poifs.filesystem.OfficeXmlFileException;
import org.jetbrains.annotations.NotNull;
import org.redisson.api.RLock;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -90,6 +92,7 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
@ -139,6 +142,8 @@ public class IcResiUserController implements ResultDataResolver {
private RequestInterceptor requestInterceptor;
@Autowired
private ExecutorService executorService;
@Autowired
private DistributedLock distributedLock;
/**
* 模板枚举
@ -247,11 +252,17 @@ public class IcResiUserController implements ResultDataResolver {
@NoRepeatSubmit
@PostMapping("edit")
public Result edit(@LoginUser TokenDto tokenDto, @RequestBody List<IcResiUserFormDTO> formDTO) {
String resiUserId = icResiUserService.edit(tokenDto, formDTO);
//推送MQ事件
editResiMq(tokenDto.getCustomerId(), resiUserId);
RLock lock = null;
try {
lock = distributedLock.getLock(RedisKeys.getXiaoquEditLock(tokenDto.getCustomerId()), 120L, 3L, TimeUnit.SECONDS);
String resiUserId = icResiUserService.edit(tokenDto, formDTO);
//推送MQ事件
editResiMq(tokenDto.getCustomerId(), resiUserId);
this.sendVolunteerMsg(tokenDto.getCustomerId(), resiUserId);
this.sendVolunteerMsg(tokenDto.getCustomerId(), resiUserId);
} finally {
lock.unlock();
}
return new Result();
}
@ -599,7 +610,9 @@ public class IcResiUserController implements ResultDataResolver {
// 三.异步执行导入
executorService.execute(() -> {
boolean isAllSuccess = false;
RLock lock = null;
try {
lock = distributedLock.getLock(RedisKeys.getXiaoquEditLock(customerId), 120L, 3L, TimeUnit.SECONDS);
List<FormItemResult> formItemList = icResiUserService.listFormItems(customerId, IcFormCodeEnum.RESI_BASE_INFO.getCode());
isAllSuccess = icResiUserImportService.importIcResiInfoFromExcel(importTaskId, formItemList, importTempFileSavePath.toString(), response, IC_RESI_UPLOAD_DIR);
} catch (Throwable e) {
@ -637,6 +650,9 @@ public class IcResiUserController implements ResultDataResolver {
form.setMessageType(SystemMessageType.IC_RESI_USER_ADD);
form.setContent(mqMsg);
epmetMessageOpenFeignClient.sendSystemMsgByMQ(form);
//解锁
lock.unlock();
}
});

334
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -471,201 +471,195 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
@Override
@Transactional(rollbackFor = Exception.class)
public String edit(TokenDto tokenDto, List<IcResiUserFormDTO> formDTO) {
RLock lock = null;
try {
lock = distributedLock.getLock(RedisKeys.getXiaoquEditLock(tokenDto.getCustomerId()), 120L, 3L,TimeUnit.SECONDS);
//1.校验主表数据是否存在
String resiUserId = "";
LinkedHashMap<String, String> map = new LinkedHashMap<>();
com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO partyMemberDTO = new com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO();
Map<String, List<LinkedHashMap<String, String>>> formMap = formDTO.stream().collect(Collectors.toMap(IcResiUserFormDTO::getTableName, IcResiUserFormDTO::getList));
boolean isDyzxh = false;
//判断是否是党员中心户
if (formMap.containsKey("ic_party_member")) {
for (LinkedHashMap<String, String> hash : formMap.get("ic_party_member")) {
if (NumConstant.ONE_STR.equals(hash.get("IS_DYZXH"))) {
isDyzxh = true;
}
//1.校验主表数据是否存在
String resiUserId = "";
LinkedHashMap<String, String> map = new LinkedHashMap<>();
com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO partyMemberDTO = new com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO();
Map<String, List<LinkedHashMap<String, String>>> formMap = formDTO.stream().collect(Collectors.toMap(IcResiUserFormDTO::getTableName, IcResiUserFormDTO::getList));
boolean isDyzxh = false;
//判断是否是党员中心户
if (formMap.containsKey("ic_party_member")) {
for (LinkedHashMap<String, String> hash : formMap.get("ic_party_member")) {
if (NumConstant.ONE_STR.equals(hash.get("IS_DYZXH"))) {
isDyzxh = true;
}
}
for (IcResiUserFormDTO d : formDTO) {
if ("ic_resi_user".equals(d.getTableName())) {
map = d.getList().get(0);
if (!map.containsKey("ID")) {
throw new RenException(String.format("居民信息修改-居民信息表主键值为空"));
}
for (IcResiUserFormDTO d : formDTO) {
if ("ic_resi_user".equals(d.getTableName())) {
map = d.getList().get(0);
if (!map.containsKey("ID")) {
throw new RenException(String.format("居民信息修改-居民信息表主键值为空"));
}
//2021.11.25 新增需求 客户下身份证号唯一 start
if (map.containsKey("ID_CARD")) {
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getCustomerId, tokenDto.getCustomerId());
wrapper.eq(IcResiUserEntity::getIdCard, map.get("ID_CARD"));
wrapper.ne(IcResiUserEntity::getId, map.get("ID"));
List<IcResiUserEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isNotEmpty(entityList)) {
String errorMsg = "修改居民信息失败,身份证号已存在!";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
}
//2021.11.25 新增需求 客户下身份证号唯一 start
if (map.containsKey("ID_CARD")) {
}
//2021.11.25 end
//2022.04.19 start 这个房屋下已经设置了户主后,再次选择户主时提示提示“房屋下已存在户主” PS.户主指与户主关系是本人的用户
if (map.containsKey("YHZGX") && RelationshipEnum.SELF.getCode().equals(map.get("YHZGX"))) {
IcResiUserEntity entity = baseDao.selectById(map.get("ID"));
if (entity != null && !RelationshipEnum.SELF.getCode().equals(entity.getYhzgx())) {
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getCustomerId, tokenDto.getCustomerId());
wrapper.eq(IcResiUserEntity::getIdCard, map.get("ID_CARD"));
wrapper.ne(IcResiUserEntity::getId, map.get("ID"));
wrapper.eq(IcResiUserEntity::getHomeId, entity.getHomeId());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode());
List<IcResiUserEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isNotEmpty(entityList)) {
String errorMsg = "修改居民信息失败,身份证号已存在!";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
String errorMsg = "房屋下已存在户主";
throw new EpmetException(EpmetErrorCode.ORG_ADD_FAILED.getCode(), errorMsg, errorMsg);
}
}
//2021.11.25 end
//2022.04.19 start 这个房屋下已经设置了户主后,再次选择户主时提示提示“房屋下已存在户主” PS.户主指与户主关系是本人的用户
if (map.containsKey("YHZGX") && RelationshipEnum.SELF.getCode().equals(map.get("YHZGX"))) {
IcResiUserEntity entity = baseDao.selectById(map.get("ID"));
if (entity != null && !RelationshipEnum.SELF.getCode().equals(entity.getYhzgx())) {
LambdaQueryWrapper<IcResiUserEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcResiUserEntity::getHomeId, entity.getHomeId());
wrapper.eq(IcResiUserEntity::getYhzgx, RelationshipEnum.SELF.getCode());
List<IcResiUserEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isNotEmpty(entityList)) {
String errorMsg = "房屋下已存在户主";
throw new EpmetException(EpmetErrorCode.ORG_ADD_FAILED.getCode(), errorMsg, errorMsg);
}
//2022.04.19 end
resiUserId = map.get("ID");
//2022.05.18 start zhaoqf 党员信息同步
IcResiUserEntity icResiUser = baseDao.selectById(resiUserId);
if ((map.containsKey("IS_PARTY") && NumConstant.ONE_STR.equals(map.get("IS_PARTY")))) {
if (formMap.containsKey("ic_party_member")) {
for (LinkedHashMap<String, String> hash : formMap.get("ic_party_member")) {
if (!hash.containsKey("ID") && !hash.containsKey("SSZB")) {
String errorMsg = "党员信息所属支部不能为空";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
}
}
} else {
String errorMsg = "党员信息所属支部不能为空";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
}
//2022.04.19 end
resiUserId = map.get("ID");
//2022.05.18 start zhaoqf 党员信息同步
IcResiUserEntity icResiUser = baseDao.selectById(resiUserId);
if ((map.containsKey("IS_PARTY") && NumConstant.ONE_STR.equals(map.get("IS_PARTY")))) {
if (formMap.containsKey("ic_party_member")) {
for (LinkedHashMap<String, String> hash : formMap.get("ic_party_member")) {
if (!hash.containsKey("ID") && !hash.containsKey("SSZB")) {
String errorMsg = "党员信息所属支部不能为空";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
}
}
} else {
String errorMsg = "党员信息所属支部不能为空";
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
}
}
if ((map.containsKey("IS_PARTY") && NumConstant.ONE_STR.equals(map.get("IS_PARTY")))
|| (!map.containsKey("IS_PARTY") && NumConstant.ONE_STR.equals(icResiUser.getIsParty()))) {
partyMemberDTO.setCustomerId(tokenDto.getCustomerId());
partyMemberDTO.setAgencyId(icResiUser.getAgencyId());
partyMemberDTO.setAgencyPids(icResiUser.getPids());
partyMemberDTO.setIcResiUser(resiUserId);
if (map.containsKey("NAME")) {
partyMemberDTO.setName(map.get("NAME"));
} else {
partyMemberDTO.setName(icResiUser.getName());
}
if ((map.containsKey("IS_PARTY") && NumConstant.ONE_STR.equals(map.get("IS_PARTY")))
|| (!map.containsKey("IS_PARTY") && NumConstant.ONE_STR.equals(icResiUser.getIsParty()))) {
partyMemberDTO.setCustomerId(tokenDto.getCustomerId());
partyMemberDTO.setAgencyId(icResiUser.getAgencyId());
partyMemberDTO.setAgencyPids(icResiUser.getPids());
partyMemberDTO.setIcResiUser(resiUserId);
if (map.containsKey("NAME")) {
partyMemberDTO.setName(map.get("NAME"));
} else {
partyMemberDTO.setName(icResiUser.getName());
}
if (map.containsKey("ID_CARD")) {
partyMemberDTO.setIdCard(map.get("ID_CARD"));
} else {
partyMemberDTO.setIdCard(icResiUser.getIdCard());
}
if (map.containsKey("MOBILE")) {
partyMemberDTO.setMobile(map.get("MOBILE"));
} else {
partyMemberDTO.setMobile(icResiUser.getMobile());
}
//查询网格信息
String gridId = null;
if (map.containsKey("GRID_ID")) {
gridId = map.get("GRID_ID");
} else {
gridId = icResiUser.getGridId();
}
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(gridId);
//查询房屋信息
String houseId = null;
if (map.containsKey("HOME_ID")) {
houseId = map.get("HOME_ID");
if (map.containsKey("ID_CARD")) {
partyMemberDTO.setIdCard(map.get("ID_CARD"));
} else {
partyMemberDTO.setIdCard(icResiUser.getIdCard());
}
if (map.containsKey("MOBILE")) {
partyMemberDTO.setMobile(map.get("MOBILE"));
} else {
partyMemberDTO.setMobile(icResiUser.getMobile());
}
//查询网格信息
String gridId = null;
if (map.containsKey("GRID_ID")) {
gridId = map.get("GRID_ID");
} else {
gridId = icResiUser.getGridId();
}
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(gridId);
//查询房屋信息
String houseId = null;
if (map.containsKey("HOME_ID")) {
houseId = map.get("HOME_ID");
} else {
houseId = icResiUser.getHomeId();
}
HouseInfoCache houseInfo = CustomerIcHouseRedis.getHouseInfo(tokenDto.getCustomerId(), houseId);
if (null != gridInfo && null != houseInfo) {
String address;
if (StringUtils.isNotBlank(gridInfo.getAllParentName())) {
address = gridInfo.getAllParentName().concat(StrConstant.HYPHEN).concat(gridInfo.getGridNamePath())
.concat(StrConstant.HYPHEN).concat(houseInfo.getNeighborHoodName())
.concat(StrConstant.HYPHEN).concat(houseInfo.getHouseName());
} else {
houseId = icResiUser.getHomeId();
}
HouseInfoCache houseInfo = CustomerIcHouseRedis.getHouseInfo(tokenDto.getCustomerId(), houseId);
if (null != gridInfo && null != houseInfo) {
String address;
if (StringUtils.isNotBlank(gridInfo.getAllParentName())) {
address = gridInfo.getAllParentName().concat(StrConstant.HYPHEN).concat(gridInfo.getGridNamePath())
.concat(StrConstant.HYPHEN).concat(houseInfo.getNeighborHoodName())
.concat(StrConstant.HYPHEN).concat(houseInfo.getHouseName());
} else {
address = gridInfo.getGridNamePath()
.concat(StrConstant.HYPHEN).concat(houseInfo.getNeighborHoodName())
.concat(StrConstant.HYPHEN).concat(houseInfo.getHouseName());
}
partyMemberDTO.setAddress(address);
address = gridInfo.getGridNamePath()
.concat(StrConstant.HYPHEN).concat(houseInfo.getNeighborHoodName())
.concat(StrConstant.HYPHEN).concat(houseInfo.getHouseName());
}
partyMemberDTO.setAddress(address);
}
//2022.05.18 end zhaoqf
}
//2022.05.18 end zhaoqf
}
if (null == map) {
throw new RenException(String.format("居民信息修改,参数错误,未传入基础信息Id"));
}
IcResiUserEntity entity = baseDao.selectById(resiUserId);
if (null == entity) {
throw new RenException(String.format("居民信息修改,获取基础信息失败,基础信息Id->", resiUserId));
}
if (null == map) {
throw new RenException(String.format("居民信息修改,参数错误,未传入基础信息Id"));
}
IcResiUserEntity entity = baseDao.selectById(resiUserId);
if (null == entity) {
throw new RenException(String.format("居民信息修改,获取基础信息失败,基础信息Id->", resiUserId));
}
//2022-1-18 信息修改判断基础信息表人员网格、小区、楼栋、单元、房屋维度数据以及十八类的类别数据是否变化,相应生成变更记录和变更明细数据 sun start
icUserChangeRecord(tokenDto, entity, map);
//2022-1-18 sun end
//2.更新主表数据
if (map.size() > NumConstant.ONE) {
if (isDyzxh) {
map.put("IS_VOLUNTEER", NumConstant.ONE_STR);
}
//2022-1-18 信息修改判断基础信息表人员网格、小区、楼栋、单元、房屋维度数据以及十八类的类别数据是否变化,相应生成变更记录和变更明细数据 sun start
icUserChangeRecord(tokenDto, entity, map);
//2022-1-18 sun end
//2.更新主表数据
if (map.size() > NumConstant.ONE) {
if (isDyzxh) {
map.put("IS_VOLUNTEER", NumConstant.ONE_STR);
}
map.put("updated_by", tokenDto.getUserId());
baseDao.upTable("ic_resi_user", resiUserId, map);
}
//3.循环更新或新增字表数据
String finalResiUserId = resiUserId;
//存放子表的表名,用于删除字表数据时使用,比如未来可能会存在子表多条数据的情况,那样的只能删一次,不然第二条保存时又把第一条删了
Map<String, String> tableMap = new HashMap<>();
formDTO.forEach(d -> {
if (!"ic_resi_user".equals(d.getTableName())) {
for (LinkedHashMap<String, String> hash : d.getList()) {
hash.put("updated_by", tokenDto.getUserId());
if (!hash.containsKey("ID")) {
hash.put("id", UUID.randomUUID().toString().replaceAll("-", ""));
hash.put("ic_resi_user", finalResiUserId);
hash.put("customer_id", tokenDto.getCustomerId());
hash.put("created_by", tokenDto.getUserId());
//2022.5.31 bug修改【举例党员类别新增选是,修改为否,在修改为是时,此时字表id没值,实际有脏数据,导致字表新数据进不去】
if (!"ic_resi_demand".equals(d.getTableName()) && !tableMap.containsKey(d.getTableName())) {
baseDao.del(d.getTableName(), finalResiUserId);
tableMap.put(d.getTableName(), d.getTableName());
}
//字表新增数据
baseDao.add(d.getTableName(), hash);
} else {
//字表更新数据
baseDao.upTable(d.getTableName(), hash.get("ID"), hash);
map.put("updated_by", tokenDto.getUserId());
baseDao.upTable("ic_resi_user", resiUserId, map);
}
//3.循环更新或新增字表数据
String finalResiUserId = resiUserId;
//存放子表的表名,用于删除字表数据时使用,比如未来可能会存在子表多条数据的情况,那样的只能删一次,不然第二条保存时又把第一条删了
Map<String, String> tableMap = new HashMap<>();
formDTO.forEach(d -> {
if (!"ic_resi_user".equals(d.getTableName())) {
for (LinkedHashMap<String, String> hash : d.getList()) {
hash.put("updated_by", tokenDto.getUserId());
if (!hash.containsKey("ID")) {
hash.put("id", UUID.randomUUID().toString().replaceAll("-", ""));
hash.put("ic_resi_user", finalResiUserId);
hash.put("customer_id", tokenDto.getCustomerId());
hash.put("created_by", tokenDto.getUserId());
//2022.5.31 bug修改【举例党员类别新增选是,修改为否,在修改为是时,此时字表id没值,实际有脏数据,导致字表新数据进不去】
if (!"ic_resi_demand".equals(d.getTableName()) && !tableMap.containsKey(d.getTableName())) {
baseDao.del(d.getTableName(), finalResiUserId);
tableMap.put(d.getTableName(), d.getTableName());
}
//字表新增数据
baseDao.add(d.getTableName(), hash);
} else {
//字表更新数据
baseDao.upTable(d.getTableName(), hash.get("ID"), hash);
}
}
//2022.05.18 start zhaoqf 党员信息同步
if ("ic_party_member".equals(d.getTableName())) {
for (LinkedHashMap<String, String> hash : d.getList()) {
partyMemberDTO.setRdsj(hash.get("RDSJ"));
partyMemberDTO.setSszb(hash.get("SSZB"));
partyMemberDTO.setIsLd(hash.get("IS_LD"));
partyMemberDTO.setLdzh(hash.get("LDZH"));
partyMemberDTO.setPartyZw(hash.get("PARTY_ZW"));
partyMemberDTO.setIsTx(hash.get("IS_TX"));
partyMemberDTO.setIsDyzxh(hash.get("IS_DYZXH"));
}
}
if ("ic_volunteer".equals(d.getTableName())) {
for (LinkedHashMap<String, String> hash : d.getList()) {
partyMemberDTO.setVolunteerCategory(hash.get("VOLUNTEER_CATEGORY"));
}
}
//2022.05.18 start zhaoqf 党员信息同步
if ("ic_party_member".equals(d.getTableName())) {
for (LinkedHashMap<String, String> hash : d.getList()) {
partyMemberDTO.setRdsj(hash.get("RDSJ"));
partyMemberDTO.setSszb(hash.get("SSZB"));
partyMemberDTO.setIsLd(hash.get("IS_LD"));
partyMemberDTO.setLdzh(hash.get("LDZH"));
partyMemberDTO.setPartyZw(hash.get("PARTY_ZW"));
partyMemberDTO.setIsTx(hash.get("IS_TX"));
partyMemberDTO.setIsDyzxh(hash.get("IS_DYZXH"));
}
//2022.05.18 end zhaoqf
});
if (StringUtils.isNotBlank(partyMemberDTO.getIcResiUser())) {
Result syncResult = resiPartyMemberOpenFeignClient.icPartyMemberSync(partyMemberDTO);
if (!syncResult.success()) {
log.error("同步党员信息失败");
}
if ("ic_volunteer".equals(d.getTableName())) {
for (LinkedHashMap<String, String> hash : d.getList()) {
partyMemberDTO.setVolunteerCategory(hash.get("VOLUNTEER_CATEGORY"));
}
}
return resiUserId;
} finally {
distributedLock.unlock(lock);
//2022.05.18 end zhaoqf
});
if (StringUtils.isNotBlank(partyMemberDTO.getIcResiUser())) {
Result syncResult = resiPartyMemberOpenFeignClient.icPartyMemberSync(partyMemberDTO);
if (!syncResult.success()) {
log.error("同步党员信息失败");
}
}
return resiUserId;
}
/**

Loading…
Cancel
Save