java110 4 anni fa
parent
commit
7dbdef976f

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/fee/FeeDetailDto.java

@@ -45,6 +45,7 @@ public class FeeDetailDto extends PageDto implements Serializable {
     private Date preReadingTime;
     private Date curReadingTime;
     private String ardId;
+    private String[] states;
 
 
     public String getPrimeRate() {
@@ -263,4 +264,12 @@ public class FeeDetailDto extends PageDto implements Serializable {
     public void setArdId(String ardId) {
         this.ardId = ardId;
     }
+
+    public String[] getStates() {
+        return states;
+    }
+
+    public void setStates(String[] states) {
+        this.states = states;
+    }
 }

+ 6 - 0
java110-db/src/main/resources/mapper/fee/FeeDetailServiceDaoImplMapper.xml

@@ -175,6 +175,12 @@
         <if test="curYear != null and curYear != ''">
             and DATE_FORMAT(DATE_SUB(t.end_time,INTERVAL 1 DAY),'%Y') = #{curYear}
         </if>
+        <if test="states != null">
+            and t.state in
+            <foreach collection="states" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}

+ 16 - 3
service-api/src/main/java/com/java110/api/listener/fee/DeleteFeeListener.java

@@ -5,10 +5,12 @@ 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.intf.fee.IFeeInnerServiceSMO;
-import com.java110.intf.community.IRoomInnerServiceSMO;
-import com.java110.dto.fee.FeeDto;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.dto.fee.FeeDetailDto;
+import com.java110.dto.fee.FeeDto;
+import com.java110.intf.community.IRoomInnerServiceSMO;
+import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
 import com.java110.utils.constant.ServiceCodeConstant;
 import com.java110.utils.util.Assert;
 import org.slf4j.Logger;
@@ -40,6 +42,9 @@ public class DeleteFeeListener extends AbstractServiceApiPlusListener {
     @Autowired
     private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
 
+    @Autowired
+    private IFeeDetailInnerServiceSMO feeDetailInnerServiceSMOImpl;
+
     @Override
     public String getServiceCode() {
         return ServiceCodeConstant.SERVICE_CODE_DELETE_FEE;
@@ -68,6 +73,14 @@ public class DeleteFeeListener extends AbstractServiceApiPlusListener {
 //            throw new IllegalArgumentException("当前费用为默认费用不能做删除");
 //        }
 
+        //判断是否已经存在 缴费记录
+        FeeDetailDto feeDetailDto = new FeeDetailDto();
+        feeDetailDto.setCommunityId(reqJson.getString("communityId"));
+        feeDetailDto.setFeeId(reqJson.getString("feeId"));
+        feeDetailDto.setStates(new String[]{"1400", "1000"});
+        List<FeeDetailDto> feeDetailDtos = feeDetailInnerServiceSMOImpl.queryFeeDetails(feeDetailDto);
+        Assert.listOnlyOne(feeDetailDtos, "存在缴费记录,不能取消,如果需要取消,请先退费");
+
     }
 
     @Override