diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/remote/EpmetUserRemoteService.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/remote/EpmetUserRemoteService.java new file mode 100644 index 0000000000..29758a6edf --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/remote/EpmetUserRemoteService.java @@ -0,0 +1,35 @@ +package com.epmet.remote; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.feign.ResultDataResolver; +import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.dto.form.LoginUserDetailsFormDTO; +import com.epmet.dto.result.LoginUserDetailsResultDTO; +import com.epmet.feign.EpmetUserOpenFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * epmet用户远程服务工具 + */ +@Component +public class EpmetUserRemoteService implements ResultDataResolver { + + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + + /** + * 查询当前登录用户信息 + * @return + */ + public LoginUserDetailsResultDTO getLoginUserDetails() { + // 不传组织id,则基于当前组织查询 + LoginUserDetailsFormDTO loinUserForm = new LoginUserDetailsFormDTO(); + loinUserForm.setApp(EpmetRequestHolder.getLoginUserApp()); + loinUserForm.setClient(EpmetRequestHolder.getLoginUserClient()); + loinUserForm.setUserId(EpmetRequestHolder.getLoginUserId()); + LoginUserDetailsResultDTO loginUserDetailsResultDTO = getResultDataOrThrowsException(epmetUserOpenFeignClient.getLoginUserDetails(loinUserForm), ServiceConstant.GOV_ORG_SERVER, + null, null, "查询当前工作人员所属组织信息失败"); + return loginUserDetailsResultDTO; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index 9930c7338f..dba99aadfa 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -61,6 +61,17 @@ public interface IcResiUserDao extends BaseDao { **/ void upTable(@Param("tableName") String tableName, @Param("id") String id, @Param("map") Map map); + /** + * @description: 选择性更新(只更新不为null的) + * @param tableName: + * @param id: + * @param map: + * @return + * @author: WangXianZhang + * @date: 2023/4/23 9:03 PM + */ + void updateTableSelective(@Param("tableName") String tableName, @Param("id") String id, @Param("map") Map map); + List> selectListResiMap(@Param("customerId") String customerId, @Param("formCode") String formCode, @Param("conditions") List conditions, diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index 05e7b81853..e0b5c91837 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java @@ -547,7 +547,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res if (existingResiMap != null) { // 修改居民信息 - icResiUserDao.upTable(tableName, existingResiMap.get("ID"), columnAndValues); + icResiUserDao.updateTableSelective(tableName, existingResiMap.get("ID"), columnAndValues); // 任意组织维度一个发生变化,则放到调动居民缓存中 ResiImportChangedData transferData; @@ -747,7 +747,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res if (CollectionUtils.isNotEmpty(subInfos)) { Map subInfo = subInfos.get(0); // 附加信息存在,更新附加表内容 - icResiUserDao.upTable(targetTableName, subInfo.get("ID").toString(), columnAndValues); + icResiUserDao.updateTableSelective(targetTableName, subInfo.get("ID").toString(), columnAndValues); } else { // 新增附加表信息 columnAndValues.put("CREATED_BY", currentUserId); @@ -1577,7 +1577,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res private void updateMainTableResiTypeFlag(IcResiUserTableEnum icResiUserTableEnum, String resiUserId) { HashMap map = new HashMap<>(); map.put(icResiUserTableEnum.getMainTableFlagColumnName(), true); - icResiUserDao.upTable(IcResiUserTableEnum.IC_RESI_USER.getTableName(), resiUserId, map); + icResiUserDao.updateTableSelective(IcResiUserTableEnum.IC_RESI_USER.getTableName(), resiUserId, map); } /** diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 2d2e30535f..118c0c3c36 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -73,6 +73,19 @@ WHERE id = #{id} + + + UPDATE ${tableName} + SET + + + ${key} = #{value} + + + ,UPDATED_TIME = NOW() + WHERE id = #{id} + +