java110 лет назад: 4
Родитель
Сommit
77663b79bc

+ 11 - 1
java110-db/src/main/resources/mapper/fee/FeeServiceDaoImplMapper.xml

@@ -142,7 +142,8 @@
         configStartTime,pfc.end_time configEndTime,pfc.payment_cd paymentCd,pfc.payment_cycle paymentCycle,td4.name
         billTypeName,pfa.value importFeeName,ifd.end_time importFeeEndTime,mw.cur_degrees curDegrees,mw.pre_degrees
         preDegrees,
-        mw.pre_reading_time preReadingTime,mw.cur_reading_time curReadingTime,pfa1.`value` deadlineTime,mw.price mwPrice,
+        mw.pre_reading_time preReadingTime,mw.cur_reading_time curReadingTime,pfa1.`value` deadlineTime,mw.price
+        mwPrice,
         pfa2.`value` ownerName,t.batch_id,t.batch_id batchId
         from pay_fee t
         INNER join pay_fee_config pfc on t.config_id = pfc.config_id and
@@ -879,4 +880,13 @@
         </if>
     </select>
 
+
+    <!-- 根据批次删除费用 add by wuxw 2018-07-03 -->
+    <update id="deleteFeesByBatch" parameterType="Map">
+        update pay_fee t set t.status_cd = '1'
+        where 1=1
+        and t.batch_id= #{batchId}
+        and t.community_id= #{communityId}
+
+    </update>
 </mapper>

+ 4 - 3
java110-db/src/main/resources/mapper/fee/PayFeeBatchV1ServiceDaoImplMapper.xml

@@ -76,13 +76,14 @@
         <if test="state !=null and state != ''">
             , t.state= #{state}
         </if>
-        <if test="communityId !=null and communityId != ''">
-            , t.community_id= #{communityId}
-        </if>
+
         where 1=1
         <if test="batchId !=null and batchId != ''">
             and t.batch_id= #{batchId}
         </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
 
     </update>
 

+ 8 - 0
java110-interface/src/main/java/com/java110/intf/fee/IFeeInnerServiceSMO.java

@@ -196,4 +196,12 @@ public interface IFeeInnerServiceSMO {
 
     @RequestMapping(value = "/getAssetsFee", method = RequestMethod.POST)
     public JSONArray getAssetsFee(@RequestBody String communityId);
+
+    /**
+     * 根据批次删除费用
+     * @param payFeePo
+     * @return
+     */
+    @RequestMapping(value = "/deleteFeesByBatch", method = RequestMethod.POST)
+    int deleteFeesByBatch(@RequestBody PayFeePo payFeePo);
 }

+ 77 - 0
service-fee/src/main/java/com/java110/fee/cmd/payFeeBatch/ApplyDeletePayFeeBatchCmd.java

@@ -0,0 +1,77 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.fee.cmd.payFeeBatch;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.AbstractServiceCmdListener;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.payFeeBatch.PayFeeBatchDto;
+import com.java110.intf.fee.IPayFeeBatchV1InnerServiceSMO;
+import com.java110.po.payFeeBatch.PayFeeBatchPo;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.ResultVo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * 类表述:取消费用申请
+ * 服务编码:payFeeBatch.applyDeletePayFeeBatchCmd
+ * 请求路劲:/app/payFeeBatch.applyDeletePayFeeBatchCmd
+ * add by 吴学文 at 2021-09-22 18:00:14 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@Java110Cmd(serviceCode = "payFeeBatch.applyDeletePayFeeBatchCmd")
+public class ApplyDeletePayFeeBatchCmd extends AbstractServiceCmdListener {
+
+    private static Logger logger = LoggerFactory.getLogger(ApplyDeletePayFeeBatchCmd.class);
+
+
+    @Autowired
+    private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "batchId", "batchId不能为空");
+        Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
+        Assert.hasKeyAndValue(reqJson, "remark", "remark不能为空");
+    }
+
+    @Override
+    @Java110Transactional
+    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
+        PayFeeBatchPo payFeeBatchPo = BeanConvertUtil.covertBean(reqJson, PayFeeBatchPo.class);
+        payFeeBatchPo.setState(PayFeeBatchDto.STATE_APPLY);
+        payFeeBatchPo.setMsg("待审核");
+        int flag = payFeeBatchV1InnerServiceSMOImpl.updatePayFeeBatch(payFeeBatchPo);
+
+        if (flag < 1) {
+            throw new CmdException("更新数据失败");
+        }
+
+        cmdDataFlowContext.setResponseEntity(ResultVo.success());
+    }
+}

+ 27 - 1
service-fee/src/main/java/com/java110/fee/cmd/payFeeBatch/UpdatePayFeeBatchCmd.java

@@ -21,8 +21,12 @@ import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.AbstractServiceCmdListener;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.payFeeBatch.PayFeeBatchDto;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
 import com.java110.intf.fee.IPayFeeBatchV1InnerServiceSMO;
+import com.java110.po.fee.PayFeePo;
 import com.java110.po.payFeeBatch.PayFeeBatchPo;
+import com.java110.utils.constant.StateConstant;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -51,23 +55,45 @@ public class UpdatePayFeeBatchCmd extends AbstractServiceCmdListener {
     @Autowired
     private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "batchId", "batchId不能为空");
         Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
+        Assert.hasKeyAndValue(reqJson, "state", "状态不能为空");
+        Assert.hasKeyAndValue(reqJson, "message", "消息不能为空");
     }
 
     @Override
-    @Java110Transactional
+    //@Java110Transactional
+    //这里不开启事务,删除可能几千条 事务压力太大
+
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
         PayFeeBatchPo payFeeBatchPo = BeanConvertUtil.covertBean(reqJson, PayFeeBatchPo.class);
+        if (StateConstant.AGREE_AUDIT.equals(reqJson.getString("state"))) {
+            payFeeBatchPo.setState(PayFeeBatchDto.STATE_SUCCESS);
+        } else {
+            payFeeBatchPo.setState(PayFeeBatchDto.STATE_FAIL);
+        }
         int flag = payFeeBatchV1InnerServiceSMOImpl.updatePayFeeBatch(payFeeBatchPo);
 
         if (flag < 1) {
             throw new CmdException("更新数据失败");
         }
 
+        if (!PayFeeBatchDto.STATE_FAIL.equals(payFeeBatchPo.getState())) {
+            cmdDataFlowContext.setResponseEntity(ResultVo.success());
+            return;
+        }
+
+        PayFeePo feePo = new PayFeePo();
+        feePo.setBatchId(payFeeBatchPo.getBatchId());
+        feePo.setCommunityId(payFeeBatchPo.getCommunityId());
+        feeInnerServiceSMOImpl.deleteFeesByBatch(feePo);
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

+ 2 - 0
service-fee/src/main/java/com/java110/fee/dao/IFeeServiceDao.java

@@ -171,4 +171,6 @@ public interface IFeeServiceDao {
     int computeEveryOweFeeCount(Map beanCovertMap);
 
     List<Map> computeEveryOweFee(Map beanCovertMap);
+
+    int deleteFeesByBatch(Map beanCovertMap);
 }

+ 9 - 0
service-fee/src/main/java/com/java110/fee/dao/impl/FeeServiceDaoImpl.java

@@ -319,5 +319,14 @@ public class FeeServiceDaoImpl extends BaseServiceDao implements IFeeServiceDao
         return businessFeeInfos;
     }
 
+    @Override
+    public int deleteFeesByBatch(Map info) {
+        logger.debug("修改费用信息Instance 入参 info : {}", info);
+
+        int saveFlag = sqlSessionTemplate.update("feeServiceDaoImpl.deleteFeesByBatch", info);
+
+        return saveFlag;
+    }
+
 
 }

+ 7 - 0
service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java

@@ -335,6 +335,11 @@ public class FeeInnerServiceSMOImpl extends BaseServiceSMO implements IFeeInnerS
         return feeServiceDaoImpl.insertFees(info);
     }
 
+    @Override
+    public int deleteFeesByBatch(@RequestBody PayFeePo payFeePo) {
+        return feeServiceDaoImpl.deleteFeesByBatch(BeanConvertUtil.beanCovertMap(payFeePo));
+    }
+
     @Override
     public JSONArray getAssetsFee(@RequestBody String communityId) {
 
@@ -357,6 +362,8 @@ public class FeeInnerServiceSMOImpl extends BaseServiceSMO implements IFeeInnerS
         return data;
     }
 
+
+
     private void dealFeeConfig(JSONArray data, FeeConfigDto tmpFeeConfigDto) {
         JSONObject config = new JSONObject();
         Map info = new HashMap();