java110 лет назад: 5
Родитель
Сommit
70ddca1182

+ 3 - 0
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeConstant.java

@@ -587,6 +587,9 @@ public class ServiceCodeConstant {
     //修改房屋费用
     public static final String SERVICE_CODE_UPDATE_FEE = "fee.updateFee";
 
+    //修改房屋费用
+    public static final String SERVICE_CODE_FINISH_FEE = "fee.finishFee";
+
     //预交费
     public static final String SERVICE_CODE_PAY_FEE_PRE = "fee.payFeePre";
     /**

+ 91 - 0
service-api/src/main/java/com/java110/api/listener/fee/FinishFeeListener.java

@@ -0,0 +1,91 @@
+package com.java110.api.listener.fee;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.api.bmo.fee.IFeeBMO;
+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.dto.fee.FeeDto;
+import com.java110.intf.community.IRoomInnerServiceSMO;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
+import com.java110.po.fee.PayFeePo;
+import com.java110.utils.constant.BusinessTypeConstant;
+import com.java110.utils.constant.ServiceCodeConstant;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpMethod;
+
+import java.util.List;
+
+/**
+ * @ClassName SaveRoomCreateFeeListener
+ * @Description TODO 变更费用
+ * @Author wuxw
+ * @Date 2020/1/31 15:57
+ * @Version 1.0
+ * add by wuxw 2020/1/31
+ **/
+@Java110Listener("finishFeeListener")
+public class FinishFeeListener extends AbstractServiceApiPlusListener {
+    private static Logger logger = LoggerFactory.getLogger(FinishFeeListener.class);
+    @Autowired
+    private IFeeBMO feeBMOImpl;
+
+    private static final int DEFAULT_ADD_FEE_COUNT = 200;
+
+    @Autowired
+    private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
+
+    @Autowired
+    private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeConstant.SERVICE_CODE_FINISH_FEE;
+    }
+
+    @Override
+    public HttpMethod getHttpMethod() {
+        return HttpMethod.POST;
+    }
+
+    @Override
+    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+        // super.validatePageInfo(pd);
+        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区ID");
+        Assert.hasKeyAndValue(reqJson, "feeId", "未包含feeId");
+
+        FeeDto feeDto = new FeeDto();
+        feeDto.setCommunityId(reqJson.getString("communityId"));
+        feeDto.setFeeId(reqJson.getString("feeId"));
+
+        List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
+
+        Assert.listOnlyOne(feeDtos, "未查询到费用信息 或查询到多条" + reqJson);
+
+    }
+
+    @Override
+    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+        PayFeePo payFeePo = BeanConvertUtil.covertBean(reqJson, PayFeePo.class);
+        payFeePo.setState(FeeDto.STATE_FINISH);
+        super.update(context, payFeePo, BusinessTypeConstant.BUSINESS_TYPE_ONLY_UPDATE_FEE_INFO);
+    }
+
+    @Override
+    public int getOrder() {
+        return DEFAULT_ORDER;
+    }
+
+    public IRoomInnerServiceSMO getRoomInnerServiceSMOImpl() {
+        return roomInnerServiceSMOImpl;
+    }
+
+    public void setRoomInnerServiceSMOImpl(IRoomInnerServiceSMO roomInnerServiceSMOImpl) {
+        this.roomInnerServiceSMOImpl = roomInnerServiceSMOImpl;
+    }
+}