| | |
| | | package com.java110.api.listener.meterWater; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.api.bmo.fee.IFeeBMO; |
| | | import com.java110.api.bmo.meterWater.IMeterWaterBMO; |
| | | import com.java110.api.listener.AbstractServiceApiPlusListener; |
| | | import com.java110.core.annotation.Java110Listener; |
| | | import com.java110.core.context.DataFlowContext; |
| | | import com.java110.core.event.service.api.ServiceDataFlowEvent; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.fee.FeeConfigDto; |
| | | import com.java110.dto.fee.FeeDto; |
| | | import com.java110.po.fee.PayFeePo; |
| | | import com.java110.utils.constant.BusinessTypeConstant; |
| | | import com.java110.utils.constant.CommonConstant; |
| | | import com.java110.utils.constant.ServiceCodeMeterWaterConstant; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.utils.util.DateUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpMethod; |
| | | |
| | |
| | | @Autowired |
| | | private IMeterWaterBMO meterWaterBMOImpl; |
| | | |
| | | @Autowired |
| | | private IFeeBMO feeBMOImpl; |
| | | |
| | | @Override |
| | | protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) { |
| | | //Assert.hasKeyAndValue(reqJson, "xxx", "xxx"); |
| | | |
| | | Assert.hasKeyAndValue(reqJson, "meterType", "请求报文中未包含meterType"); |
| | | Assert.hasKeyAndValue(reqJson, "feeTypeCd", "请求报文中未包含费用类型"); |
| | | Assert.hasKeyAndValue(reqJson, "configId", "请求报文中未包含费用项"); |
| | | Assert.hasKeyAndValue(reqJson, "objType", "请求报文中未包含objType"); |
| | | Assert.hasKeyAndValue(reqJson, "objId", "请求报文中未包含objId"); |
| | | Assert.hasKeyAndValue(reqJson, "preDegrees", "请求报文中未包含preDegrees"); |
| | |
| | | |
| | | @Override |
| | | protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) { |
| | | |
| | | if (FeeConfigDto.FEE_TYPE_CD_WATER.equals(reqJson.getString("feeTypeCd"))) { |
| | | reqJson.put("meterType", "1010"); |
| | | } else { |
| | | reqJson.put("meterType", "2020"); |
| | | } |
| | | |
| | | PayFeePo payFeePo = BeanConvertUtil.covertBean(reqJson, PayFeePo.class); |
| | | payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId)); |
| | | payFeePo.setIncomeObjId(reqJson.getString("storeId")); |
| | | payFeePo.setAmount("-1"); |
| | | payFeePo.setStartTime(reqJson.getString("preDegrees")); |
| | | payFeePo.setEndTime(reqJson.getString("preDegrees")); |
| | | payFeePo.setPayerObjId(reqJson.getString("objId")); |
| | | payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM); |
| | | payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE); |
| | | payFeePo.setState(FeeDto.STATE_DOING); |
| | | payFeePo.setUserId(context.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID)); |
| | | |
| | | super.insert(context, payFeePo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FEE_INFO); |
| | | |
| | | reqJson.put("feeId",payFeePo.getFeeId()); |
| | | |
| | | meterWaterBMOImpl.addMeterWater(reqJson, context); |
| | | } |
| | | |