package com.java110.community.listener;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.java110.utils.constant.ResponseConstant;
|
import com.java110.utils.constant.StatusConstant;
|
import com.java110.utils.exception.ListenerExecuteException;
|
import com.java110.entity.center.Business;
|
import com.java110.event.service.AbstractBusinessServiceDataFlowListener;
|
import com.java110.community.dao.ICommunityServiceDao;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 小区 服务侦听 父类
|
* Created by wuxw on 2018/7/4.
|
*/
|
public abstract class AbstractCommunityBusinessServiceDataFlowListener extends AbstractBusinessServiceDataFlowListener {
|
|
private final static Logger logger = LoggerFactory.getLogger(AbstractCommunityBusinessServiceDataFlowListener.class);
|
|
|
/**
|
* 获取 DAO工具类
|
*
|
* @return
|
*/
|
public abstract ICommunityServiceDao getCommunityServiceDaoImpl();
|
|
/**
|
* 刷新 businessCommunityInfo 数据
|
* 主要将 数据库 中字段和 接口传递字段建立关系
|
*
|
* @param businessCommunityInfo
|
*/
|
protected void flushBusinessCommunityInfo(Map businessCommunityInfo, String statusCd) {
|
businessCommunityInfo.put("newBId", businessCommunityInfo.get("b_id"));
|
businessCommunityInfo.put("communityId", businessCommunityInfo.get("community_id"));
|
businessCommunityInfo.put("cityCode", businessCommunityInfo.get("city_code"));
|
businessCommunityInfo.put("nearbyLandmarks", businessCommunityInfo.get("nearby_landmarks"));
|
businessCommunityInfo.put("mapX", businessCommunityInfo.get("map_x"));
|
businessCommunityInfo.put("mapY", businessCommunityInfo.get("map_y"));
|
businessCommunityInfo.put("state", businessCommunityInfo.get("state"));
|
businessCommunityInfo.put("statusCd", statusCd);
|
}
|
|
/**
|
* 刷新 businessCommunityAttr 数据
|
* 主要将 数据库 中字段和 接口传递字段建立关系
|
*
|
* @param businessCommunityAttr
|
* @param statusCd
|
*/
|
protected void flushBusinessCommunityAttr(Map businessCommunityAttr, String statusCd) {
|
businessCommunityAttr.put("attrId", businessCommunityAttr.get("attr_id"));
|
businessCommunityAttr.put("specCd", businessCommunityAttr.get("spec_cd"));
|
businessCommunityAttr.put("communityId", businessCommunityAttr.get("community_id"));
|
businessCommunityAttr.put("newBId", businessCommunityAttr.get("b_id"));
|
businessCommunityAttr.put("statusCd", statusCd);
|
}
|
|
/**
|
* 刷新 businessCommunityPhoto 数据
|
*
|
* @param businessCommunityPhoto
|
* @param statusCd
|
*/
|
protected void flushBusinessCommunityPhoto(Map businessCommunityPhoto, String statusCd) {
|
businessCommunityPhoto.put("communityId", businessCommunityPhoto.get("community_id"));
|
businessCommunityPhoto.put("communityPhotoId", businessCommunityPhoto.get("community_photo_id"));
|
businessCommunityPhoto.put("communityPhotoTypeCd", businessCommunityPhoto.get("community_photo_type_cd"));
|
businessCommunityPhoto.put("newBId", businessCommunityPhoto.get("b_id"));
|
businessCommunityPhoto.put("statusCd", statusCd);
|
}
|
|
|
/**
|
* 刷新 businessCommunityMember 数据
|
* 主要将 数据库 中字段和 接口传递字段建立关系
|
*
|
* @param businessCommunityMember
|
*/
|
protected void flushBusinessCommunityMember(Map businessCommunityMember, String statusCd) {
|
businessCommunityMember.put("newBId", businessCommunityMember.get("b_id"));
|
businessCommunityMember.put("communityId", businessCommunityMember.get("community_id"));
|
businessCommunityMember.put("communityMemberId", businessCommunityMember.get("community_member_id"));
|
businessCommunityMember.put("memberId", businessCommunityMember.get("member_id"));
|
businessCommunityMember.put("memberTypeCd", businessCommunityMember.get("member_type_cd"));
|
businessCommunityMember.put("auditStatusCd", businessCommunityMember.get("audit_status_cd"));
|
businessCommunityMember.put("statusCd", statusCd);
|
}
|
|
/**
|
* 当修改数据时,查询instance表中的数据 自动保存删除数据到business中
|
*
|
* @param businessCommunity 小区信息
|
*/
|
protected void autoSaveDelBusinessCommunity(Business business, JSONObject businessCommunity) {
|
//自动插入DEL
|
Map info = new HashMap();
|
info.put("communityId", businessCommunity.getString("communityId"));
|
info.put("statusCd", StatusConstant.STATUS_CD_VALID);
|
Map currentCommunityInfo = getCommunityServiceDaoImpl().getCommunityInfo(info);
|
if (currentCommunityInfo == null || currentCommunityInfo.isEmpty()) {
|
throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR, "未找到需要修改数据信息,入参错误或数据有问题,请检查" + info);
|
}
|
currentCommunityInfo.put("bId", business.getbId());
|
currentCommunityInfo.put("communityId", currentCommunityInfo.get("community_id"));
|
currentCommunityInfo.put("cityCode", currentCommunityInfo.get("city_code"));
|
currentCommunityInfo.put("nearbyLandmarks", currentCommunityInfo.get("nearby_landmarks"));
|
currentCommunityInfo.put("mapX", currentCommunityInfo.get("map_x"));
|
currentCommunityInfo.put("mapY", currentCommunityInfo.get("map_y"));
|
currentCommunityInfo.put("state", currentCommunityInfo.get("state"));
|
currentCommunityInfo.put("operate", StatusConstant.OPERATE_DEL);
|
getCommunityServiceDaoImpl().saveBusinessCommunityInfo(currentCommunityInfo);
|
}
|
|
/**
|
* 当修改数据时,查询instance表中的数据 自动保存删除数据到business中
|
*
|
* @param business 当前业务
|
* @param communityAttr 小区属性
|
*/
|
protected void autoSaveDelBusinessCommunityAttr(Business business, JSONObject communityAttr) {
|
Map info = new HashMap();
|
info.put("attrId", communityAttr.getString("attrId"));
|
info.put("communityId", communityAttr.getString("communityId"));
|
info.put("statusCd", StatusConstant.STATUS_CD_VALID);
|
List<Map> currentCommunityAttrs = getCommunityServiceDaoImpl().getCommunityAttrs(info);
|
if (currentCommunityAttrs == null || currentCommunityAttrs.size() != 1) {
|
throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR, "未找到需要修改数据信息,入参错误或数据有问题,请检查" + info);
|
}
|
Map currentCommunityAttr = currentCommunityAttrs.get(0);
|
currentCommunityAttr.put("bId", business.getbId());
|
currentCommunityAttr.put("attrId", currentCommunityAttr.get("attr_id"));
|
currentCommunityAttr.put("communityId", currentCommunityAttr.get("community_id"));
|
currentCommunityAttr.put("specCd", currentCommunityAttr.get("spec_cd"));
|
currentCommunityAttr.put("operate", StatusConstant.OPERATE_DEL);
|
getCommunityServiceDaoImpl().saveBusinessCommunityAttr(currentCommunityAttr);
|
}
|
|
/**
|
* 当修改数据时,查询instance表中的数据 自动保存删除数据到business中
|
*
|
* @param business
|
* @param businessCommunityPhoto 小区照片
|
*/
|
protected void autoSaveDelBusinessCommunityPhoto(Business business, JSONObject businessCommunityPhoto) {
|
Map info = new HashMap();
|
info.put("communityPhotoId", businessCommunityPhoto.getString("communityPhotoId"));
|
info.put("communityId", businessCommunityPhoto.getString("communityId"));
|
info.put("statusCd", StatusConstant.STATUS_CD_VALID);
|
List<Map> currentCommunityPhotos = getCommunityServiceDaoImpl().getCommunityPhoto(info);
|
if (currentCommunityPhotos == null || currentCommunityPhotos.size() != 1) {
|
throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR, "未找到需要修改数据信息,入参错误或数据有问题,请检查" + info);
|
}
|
Map currentCommunityPhoto = currentCommunityPhotos.get(0);
|
currentCommunityPhoto.put("bId", business.getbId());
|
currentCommunityPhoto.put("communityPhotoId", currentCommunityPhoto.get("community_photo_id"));
|
currentCommunityPhoto.put("communityId", currentCommunityPhoto.get("community_id"));
|
currentCommunityPhoto.put("communityPhotoTypeCd", currentCommunityPhoto.get("community_photo_type_cd"));
|
currentCommunityPhoto.put("operate", StatusConstant.OPERATE_DEL);
|
getCommunityServiceDaoImpl().saveBusinessCommunityPhoto(currentCommunityPhoto);
|
}
|
|
|
/**
|
* 当修改数据时,查询instance表中的数据 自动保存删除数据到business中
|
*
|
* @param businessCommunityMember 小区信息
|
*/
|
protected void autoSaveDelBusinessCommunityMember(Business business, JSONObject businessCommunityMember) {
|
//自动插入DEL
|
Map info = new HashMap();
|
info.put("communityMemberId", businessCommunityMember.getString("communityMemberId"));
|
info.put("statusCd", StatusConstant.STATUS_CD_VALID);
|
Map currentCommunityMember = getCommunityServiceDaoImpl().getCommunityMember(info);
|
if (currentCommunityMember == null || currentCommunityMember.isEmpty()) {
|
throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR, "未找到需要修改数据信息,入参错误或数据有问题,请检查" + info);
|
}
|
currentCommunityMember.put("bId", business.getbId());
|
currentCommunityMember.put("communityId", currentCommunityMember.get("community_id"));
|
currentCommunityMember.put("communityMemberId", currentCommunityMember.get("community_member_id"));
|
currentCommunityMember.put("memberId", currentCommunityMember.get("member_id"));
|
currentCommunityMember.put("memberTypeCd", currentCommunityMember.get("member_type_cd"));
|
currentCommunityMember.put("auditStatusCd", currentCommunityMember.get("audit_status_cd"));
|
currentCommunityMember.put("operate", StatusConstant.OPERATE_DEL);
|
getCommunityServiceDaoImpl().saveBusinessCommunityMember(currentCommunityMember);
|
}
|
}
|