| New file |
| | |
| | | package com.java110.api.listener.fee; |
| | | |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.api.listener.AbstractServiceApiDataFlowListener; |
| | | import com.java110.common.constant.ResponseConstant; |
| | | import com.java110.common.constant.ServiceCodeConstant; |
| | | import com.java110.common.exception.ListenerExecuteException; |
| | | import com.java110.common.util.Assert; |
| | | import com.java110.common.util.BeanConvertUtil; |
| | | import com.java110.core.annotation.Java110Listener; |
| | | import com.java110.core.context.DataFlowContext; |
| | | import com.java110.core.smo.fee.IFeeConfigInnerServiceSMO; |
| | | import com.java110.core.smo.fee.IFeeInnerServiceSMO; |
| | | import com.java110.core.smo.floor.IFloorInnerServiceSMO; |
| | | import com.java110.core.smo.owner.IOwnerInnerServiceSMO; |
| | | import com.java110.core.smo.owner.IOwnerRoomRelInnerServiceSMO; |
| | | import com.java110.core.smo.room.IRoomInnerServiceSMO; |
| | | import com.java110.core.smo.unit.IUnitInnerServiceSMO; |
| | | import com.java110.dto.FeeConfigDto; |
| | | import com.java110.dto.FeeDto; |
| | | import com.java110.dto.FloorDto; |
| | | import com.java110.dto.OwnerDto; |
| | | import com.java110.dto.OwnerRoomRelDto; |
| | | import com.java110.dto.RoomDto; |
| | | import com.java110.dto.UnitDto; |
| | | import com.java110.event.service.api.ServiceDataFlowEvent; |
| | | import com.java110.vo.api.ApiFeeVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpMethod; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.ResponseEntity; |
| | | |
| | | import java.rmi.server.UnicastRemoteObject; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @ClassName FloorDto |
| | | * @Description å°åºæ¥¼æ°æ®å±ä¾¦å¬ç±» |
| | | * @Author wuxw |
| | | * @Date 2019/4/24 8:52 |
| | | * @Version 1.0 |
| | | * add by wuxw 2019/4/24 |
| | | **/ |
| | | @Java110Listener("queryFee") |
| | | public class QueryFeeListener extends AbstractServiceApiDataFlowListener { |
| | | |
| | | @Autowired |
| | | private IFeeInnerServiceSMO feeInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IRoomInnerServiceSMO roomInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IUnitInnerServiceSMO unitInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IFloorInnerServiceSMO floorInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public String getServiceCode() { |
| | | return ServiceCodeConstant.SERVICE_CODE_QUERY_FEE_CONFIG; |
| | | } |
| | | |
| | | @Override |
| | | public HttpMethod getHttpMethod() { |
| | | return HttpMethod.GET; |
| | | } |
| | | |
| | | /** |
| | | * ä¸å¡å±æ°æ®å¤ç |
| | | * |
| | | * @param event æ¶é´å¯¹è±¡ |
| | | */ |
| | | @Override |
| | | public void soService(ServiceDataFlowEvent event) { |
| | | DataFlowContext dataFlowContext = event.getDataFlowContext(); |
| | | //è·åè¯·æ±æ°æ® |
| | | JSONObject reqJson = dataFlowContext.getReqJson(); |
| | | validateFeeData(reqJson); |
| | | FeeDto feeDtoParamIn = BeanConvertUtil.covertBean(reqJson, FeeDto.class); |
| | | feeDtoParamIn.setPayerObjId(reqJson.getString("roomId")); |
| | | |
| | | List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDtoParamIn); |
| | | ResponseEntity<String> responseEntity = null; |
| | | if (feeDtos == null || feeDtos.size() == 0) { |
| | | responseEntity = new ResponseEntity<String>("{}", HttpStatus.OK); |
| | | } |
| | | |
| | | FeeDto feeDto = feeDtos.get(0); |
| | | |
| | | ApiFeeVo apiFeeVo = BeanConvertUtil.covertBean(feeDto, ApiFeeVo.class); |
| | | |
| | | //æ¥è¯¢ æ¿å±ä¿¡æ¯ |
| | | RoomDto roomDto = new RoomDto(); |
| | | roomDto.setRoomId(feeDto.getPayerObjId()); |
| | | List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); |
| | | |
| | | if (roomDtos == null || roomDtos.size() != 1) { |
| | | throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "æ°æ®éè¯¯ï¼æªæ¾å°æ¿å±ä¿¡æ¯ roomId" + feeDto.getPayerObjId()); |
| | | } |
| | | |
| | | roomDto = roomDtos.get(0); |
| | | apiFeeVo.setRoomId(roomDto.getRoomId()); |
| | | apiFeeVo.setRoomNum(roomDto.getRoomNum()); |
| | | |
| | | //æ¥è¯¢åå
ä¿¡æ¯ |
| | | UnitDto unitDto = new UnitDto(); |
| | | unitDto.setUnitId(roomDto.getUnitId()); |
| | | List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto); |
| | | |
| | | if (unitDtos == null || unitDtos.size() != 1) { |
| | | throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "æ°æ®éè¯¯ï¼æªæ¾å°åå
ä¿¡æ¯ unitId" + roomDto.getUnitId()); |
| | | } |
| | | |
| | | unitDto = unitDtos.get(0); |
| | | |
| | | apiFeeVo.setUnitId(unitDto.getUnitId()); |
| | | apiFeeVo.setUnitNum(unitDto.getUnitNum()); |
| | | |
| | | //æ¥è¯¢ å°åºæ¥¼ä¿¡æ¯ |
| | | FloorDto floorDto = new FloorDto(); |
| | | floorDto.setFloorId(unitDto.getFloorId()); |
| | | List<FloorDto> floorDtos = floorInnerServiceSMOImpl.queryFloors(floorDto); |
| | | |
| | | if (floorDtos == null || floorDtos.size() != 1) { |
| | | throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "æ°æ®éè¯¯ï¼æªæ¾å°å°åºæ¥¼ä¿¡æ¯ floorId" + unitDto.getFloorId()); |
| | | } |
| | | |
| | | floorDto = floorDtos.get(0); |
| | | apiFeeVo.setFloorNum(floorDto.getFloorNum()); |
| | | apiFeeVo.setFloorId(floorDto.getFloorId()); |
| | | |
| | | // ä¸ä¸»ä¿¡æ¯ |
| | | OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto(); |
| | | ownerRoomRelDto.setRoomId(roomDto.getRoomId()); |
| | | List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto); |
| | | if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() != 1) { |
| | | throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "æ°æ®éè¯¯ï¼æªæ¾å°æ¿å±åä¸ä¸»å
³ç³»ä¿¡æ¯ roomId" + roomDto.getRoomId()); |
| | | } |
| | | OwnerDto ownerDto = new OwnerDto(); |
| | | ownerDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId()); |
| | | List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto); |
| | | |
| | | if (ownerDtos == null || ownerDtos.size() != 1) { |
| | | throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "æ°æ®éè¯¯ï¼æªæ¾å°ä¸ä¸»ä¿¡æ¯ ownerId" + ownerRoomRelDtos.get(0).getOwnerId()); |
| | | } |
| | | ownerDto = ownerDtos.get(0); |
| | | apiFeeVo.setOwnerId(ownerDto.getOwnerId()); |
| | | apiFeeVo.setOwnerName(ownerDto.getName()); |
| | | apiFeeVo.setLink(ownerDto.getLink()); |
| | | |
| | | responseEntity = new ResponseEntity<String>(apiFeeVo.toString(), HttpStatus.OK); |
| | | |
| | | |
| | | dataFlowContext.setResponseEntity(responseEntity); |
| | | } |
| | | |
| | | /** |
| | | * æ ¡éªæ¥è¯¢æ¡ä»¶æ¯å¦æ»¡è¶³æ¡ä»¶ |
| | | * |
| | | * @param reqJson å
嫿¥è¯¢æ¡ä»¶ |
| | | */ |
| | | private void validateFeeData(JSONObject reqJson) { |
| | | Assert.jsonObjectHaveKey(reqJson, "communityId", "请æ±ä¸æªå
å«communityIdä¿¡æ¯"); |
| | | Assert.jsonObjectHaveKey(reqJson, "feeTypeCd", "请æ±ä¸æªå
å«feeTypeCdä¿¡æ¯"); |
| | | Assert.jsonObjectHaveKey(reqJson, "roomId", "请æ±ä¸æªå
å«roomIdä¿¡æ¯"); |
| | | |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public int getOrder() { |
| | | return super.DEFAULT_ORDER; |
| | | } |
| | | |
| | | public IFeeInnerServiceSMO getFeeInnerServiceSMOImpl() { |
| | | return feeInnerServiceSMOImpl; |
| | | } |
| | | |
| | | public void setFeeInnerServiceSMOImpl(IFeeInnerServiceSMO feeInnerServiceSMOImpl) { |
| | | this.feeInnerServiceSMOImpl = feeInnerServiceSMOImpl; |
| | | } |
| | | |
| | | |
| | | public IRoomInnerServiceSMO getRoomInnerServiceSMOImpl() { |
| | | return roomInnerServiceSMOImpl; |
| | | } |
| | | |
| | | public void setRoomInnerServiceSMOImpl(IRoomInnerServiceSMO roomInnerServiceSMOImpl) { |
| | | this.roomInnerServiceSMOImpl = roomInnerServiceSMOImpl; |
| | | } |
| | | |
| | | |
| | | public IFloorInnerServiceSMO getFloorInnerServiceSMOImpl() { |
| | | return floorInnerServiceSMOImpl; |
| | | } |
| | | |
| | | public void setFloorInnerServiceSMOImpl(IFloorInnerServiceSMO floorInnerServiceSMOImpl) { |
| | | this.floorInnerServiceSMOImpl = floorInnerServiceSMOImpl; |
| | | } |
| | | |
| | | public IUnitInnerServiceSMO getUnitInnerServiceSMOImpl() { |
| | | return unitInnerServiceSMOImpl; |
| | | } |
| | | |
| | | public void setUnitInnerServiceSMOImpl(IUnitInnerServiceSMO unitInnerServiceSMOImpl) { |
| | | this.unitInnerServiceSMOImpl = unitInnerServiceSMOImpl; |
| | | } |
| | | |
| | | public IOwnerInnerServiceSMO getOwnerInnerServiceSMOImpl() { |
| | | return ownerInnerServiceSMOImpl; |
| | | } |
| | | |
| | | public void setOwnerInnerServiceSMOImpl(IOwnerInnerServiceSMO ownerInnerServiceSMOImpl) { |
| | | this.ownerInnerServiceSMOImpl = ownerInnerServiceSMOImpl; |
| | | } |
| | | |
| | | public IOwnerRoomRelInnerServiceSMO getOwnerRoomRelInnerServiceSMOImpl() { |
| | | return ownerRoomRelInnerServiceSMOImpl; |
| | | } |
| | | |
| | | public void setOwnerRoomRelInnerServiceSMOImpl(IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl) { |
| | | this.ownerRoomRelInnerServiceSMOImpl = ownerRoomRelInnerServiceSMOImpl; |
| | | } |
| | | } |