Browse Source

监听居民信息变动 如果是删除或者新增 则更新是否居民状态

dev
jianjun 3 years ago
parent
commit
bfef176b33
  1. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java
  2. 35
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
  3. 25
      epmet-user/epmet-user-server/src/main/java/com/epmet/mq/listener/ICWarnStatsEventListener.java
  4. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java
  5. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java
  6. 17
      epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml
  7. 3
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

11
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcNatDao.java

@ -46,6 +46,7 @@ public interface IcNatDao extends BaseDao<IcNatEntity> {
/** /**
* 插入或者更新 * 插入或者更新
*
* @param e * @param e
*/ */
void insertOrUpdate(IcNatEntity e); void insertOrUpdate(IcNatEntity e);
@ -55,4 +56,14 @@ public interface IcNatDao extends BaseDao<IcNatEntity> {
* @Description 按条件查询业务数据 * @Description 按条件查询业务数据
**/ **/
IcNatDTO getNatDTO(@Param("customerId") String customerId, @Param("icNatId") String icNatId, @Param("idCard") String idCard, @Param("natTime") String natTime, @Param("natResult") String natResult); IcNatDTO getNatDTO(@Param("customerId") String customerId, @Param("icNatId") String icNatId, @Param("idCard") String idCard, @Param("natTime") String natTime, @Param("natResult") String natResult);
/**
* desc:根据客户id 更新是否居民状态
*
* @param customerId
* @param icResiUserId 如果为空则更新全部
* @return
*/
int updateIsResiFlag(@Param("customerId") String customerId, @Param("icResiUserId") String icResiUserId);
} }

35
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java

@ -54,15 +54,16 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
**/ **/
void upTable(@Param("tableName") String tableName, @Param("id") String id, @Param("map") Map<String, ?> map); void upTable(@Param("tableName") String tableName, @Param("id") String id, @Param("map") Map<String, ?> map);
List<Map<String,Object>> selectListResiMap(@Param("customerId") String customerId, List<Map<String, Object>> selectListResiMap(@Param("customerId") String customerId,
@Param("formCode") String formCode, @Param("formCode") String formCode,
@Param("conditions") List<ResiUserQueryValueDTO> conditions, @Param("conditions") List<ResiUserQueryValueDTO> conditions,
@Param("resultColumns") List<IcFormResColumnDTO> resultColumns, @Param("resultColumns") List<IcFormResColumnDTO> resultColumns,
@Param("subTables") List<String> subTables, @Param("subTables") List<String> subTables,
@Param("currentStaffAgencyId")String currentStaffAgencyId, @Param("currentStaffAgencyId") String currentStaffAgencyId,
@Param("staffOrgPath") String staffOrgPath, @Param("staffOrgPath") String staffOrgPath,
@Param("resultTableName")String resultTableName, @Param("resultTableName") String resultTableName,
@Param("keyword") String keyword); @Param("keyword") String keyword);
/** /**
* 查询主表 * 查询主表
* *
@ -238,15 +239,15 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
List<VolunteerDistributionResultDTO.Distribution> listIcResiInfosByUserIds(@Param("userIds") List<String> userIds); List<VolunteerDistributionResultDTO.Distribution> listIcResiInfosByUserIds(@Param("userIds") List<String> userIds);
Map<String, String> getCategoryListMap(@Param("columns")List<String> columns, @Param("icUserId") String icUserId); Map<String, String> getCategoryListMap(@Param("columns") List<String> columns, @Param("icUserId") String icUserId);
Map<String, String> selectResiInfoMap(@Param("idCard") String idCard, @Param("resiId") String resiId); Map<String, String> selectResiInfoMap(@Param("idCard") String idCard, @Param("resiId") String resiId);
List<Map<String,Object>> selectResiUsers(@Param("types")List<String> types,@Param("orgId")String orgId); List<Map<String, Object>> selectResiUsers(@Param("types") List<String> types, @Param("orgId") String orgId);
List<String> icUserCustomerIds(); List<String> icUserCustomerIds();
List<Map<String, String>> getIcUserList(@Param("customerId") String customerId, @Param("columns")List<String> columns); List<Map<String, String>> getIcUserList(@Param("customerId") String customerId, @Param("columns") List<String> columns);
/** /**
* desc: 获取数据分析列中的 各类居民数据 * desc: 获取数据分析列中的 各类居民数据
@ -254,9 +255,9 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
* @param customerId * @param customerId
* @param tableName * @param tableName
* @param columnList * @param columnList
* @param id 非必填 leve有值时 必填 * @param id 非必填 leve有值时 必填
* @param level 非必填 * @param level 非必填
* @return java.util.Map<java.lang.String,java.math.BigDecimal> 字段名数量 * @return java.util.Map<java.lang.String, java.math.BigDecimal> 字段名数量
* @author LiuJanJun * @author LiuJanJun
* @date 2022/2/12 3:03 下午 * @date 2022/2/12 3:03 下午
*/ */
@ -265,6 +266,7 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
/** /**
* Desc: 根据房屋IDs查询房屋下是否有存在居民的 * Desc: 根据房屋IDs查询房屋下是否有存在居民的
*
* @param ids * @param ids
* @author zxc * @author zxc
* @date 2022/3/2 10:32 上午 * @date 2022/3/2 10:32 上午
@ -273,6 +275,7 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
/** /**
* 居民防疫信息查询 * 居民防疫信息查询
*
* @Param formDTO * @Param formDTO
* @Return {@link List< EpidemicPreventionResultDTO>} * @Return {@link List< EpidemicPreventionResultDTO>}
* @Author zhaoqifeng * @Author zhaoqifeng
@ -281,6 +284,8 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
List<EpidemicPreventionResultDTO> getEpidemicPreventionList(EpidemicPreventionFormDTO formDTO); List<EpidemicPreventionResultDTO> getEpidemicPreventionList(EpidemicPreventionFormDTO formDTO);
List<EpidemicPreventionResultDTO> natList(EpidemicPreventionFormDTO formDTO); List<EpidemicPreventionResultDTO> natList(EpidemicPreventionFormDTO formDTO);
List<EpidemicPreventionResultDTO> vaccineList(EpidemicPreventionFormDTO formDTO); List<EpidemicPreventionResultDTO> vaccineList(EpidemicPreventionFormDTO formDTO);
IcResiUserEntity selectResiNoDelFlag(@Param("icResiUserId") String icResiUserId);
} }

25
epmet-user/epmet-user-server/src/main/java/com/epmet/mq/listener/ICWarnStatsEventListener.java

@ -9,6 +9,8 @@ import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.SpringContextUtils; import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.constant.SystemMessageType;
import com.epmet.service.IcNatService;
import com.epmet.service.StatsResiWarnService; import com.epmet.service.StatsResiWarnService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
@ -71,6 +73,9 @@ public class ICWarnStatsEventListener implements MessageListenerConcurrently {
30L, 30L, TimeUnit.SECONDS); 30L, 30L, TimeUnit.SECONDS);
//待执行方法 //待执行方法
SpringContextUtils.getBean(StatsResiWarnService.class).resiWarn(obj.getCustomerId()); SpringContextUtils.getBean(StatsResiWarnService.class).resiWarn(obj.getCustomerId());
//根据居民Id更新 核酸检测的是否居民状态
updateIcNatResiFlag(tags, obj);
} catch (RenException e) { } catch (RenException e) {
// 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试
logger.error("【开放数据事件监听器】-客户居民信息变动MQ失败:".concat(ExceptionUtils.getErrorStackTrace(e))); logger.error("【开放数据事件监听器】-客户居民信息变动MQ失败:".concat(ExceptionUtils.getErrorStackTrace(e)));
@ -91,6 +96,26 @@ public class ICWarnStatsEventListener implements MessageListenerConcurrently {
} }
} }
/**
* desc:根据居民Id更新 核酸检测的是否居民状态(只有新增和删除时调用)
* @param tags
* @param obj
*/
private void updateIcNatResiFlag(String tags, IcResiUserAddMQMsg obj) {
try {
if (StringUtils.isBlank(obj.getCustomerId())||StringUtils.isBlank(obj.getIcResiUser())){
log.warn("updateIcNatResiFlag param is error");
return;
}
if (SystemMessageType.IC_RESI_USER_ADD.equals(tags) || SystemMessageType.IC_RESI_USER_DEL.equals(tags)) {
Integer effectRow = SpringContextUtils.getBean(IcNatService.class).updateIsResiFlag(obj.getCustomerId(), obj.getIcResiUser());
log.debug("updateIcNatResiFlag effectRow:{},param customerId & icResiUserId:{}", effectRow, JSON.toJSONString(obj));
}
} catch (Exception e) {
log.error("updateIcNatResiFlag exception", e);
}
}
/** /**
* @description * @description
* *

8
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcNatService.java

@ -84,4 +84,12 @@ public interface IcNatService extends BaseService<IcNatEntity> {
* @Date 2022/3/29 16:29 * @Date 2022/3/29 16:29
*/ */
List<NatListDTO> getNatList(String customerId, String idCard); List<NatListDTO> getNatList(String customerId, String idCard);
/**
* desc:根据用户id 更新核酸中是否居民状态
* @param customerId
* @param icResiUserId 如果为空则更新全部
* @return
*/
Integer updateIsResiFlag(String customerId, String icResiUserId);
} }

10
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java

@ -24,7 +24,10 @@ import com.epmet.dao.IcResiUserDao;
import com.epmet.dao.UserBaseInfoDao; import com.epmet.dao.UserBaseInfoDao;
import com.epmet.dto.IcNatDTO; import com.epmet.dto.IcNatDTO;
import com.epmet.dto.IcNoticeDTO; import com.epmet.dto.IcNoticeDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.AddIcNatFormDTO;
import com.epmet.dto.form.ImportTaskCommonFormDTO;
import com.epmet.dto.form.MyNatListFormDTO;
import com.epmet.dto.form.SendNoticeFormDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.IcNatEntity; import com.epmet.entity.IcNatEntity;
import com.epmet.entity.IcNatRelationEntity; import com.epmet.entity.IcNatRelationEntity;
@ -435,6 +438,11 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
@Override
public Integer updateIsResiFlag(String customerId, String icResiUserId) {
return baseDao.updateIsResiFlag(customerId,icResiUserId);
}
/** /**
* 批量持久化 * 批量持久化
* @param entities * @param entities

17
epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml

@ -156,4 +156,21 @@
UPDATED_BY=#{updatedBy}, UPDATED_BY=#{updatedBy},
UPDATED_TIME=NOW() UPDATED_TIME=NOW()
</insert> </insert>
<update id="updateIsResiFlag">
UPDATE ic_nat m,
(
SELECT if(DEL_FLAG,0,1) resiFlag, ID_CARD FROM ic_resi_user
WHERE
1=1
<if test="icResiUserId != null and icResiUserId != ''">
AND ID = #{icResiUserId}
</if>
AND CUSTOMER_ID = #{customerId}
AND DEL_FLAG = '0'
) t
SET m.IS_RESI_USER = t.resiFlag
WHERE
m.ID_CARD = t.ID_CARD
AND m.DEL_FLAG = '0'
</update>
</mapper> </mapper>

3
epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

@ -797,4 +797,7 @@
</if> </if>
ORDER BY `NAME` ORDER BY `NAME`
</select> </select>
<select id="selectResiNoDelFlag" resultType="com.epmet.entity.IcResiUserEntity">
SELECT ID,NAME,ID_CARD,DEL_FLAG FROM ic_resi_user WHERE ID = #{icResiUserId}
</select>
</mapper> </mapper>

Loading…
Cancel
Save