wuxw
2025-03-09 f0209942e0f7972b55b522575917f199adab49db
优化完成费用详情页面
4个文件已修改
5个文件已添加
337 ■■■■■ 已修改文件
java110-db/src/main/resources/mapper/fee/PayFeeConfigV1ServiceDaoImplMapper.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/cmd/fee/QueryAdminApplyRoomDiscountCmd.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/cmd/fee/QueryAdminImportFeeDetailCmd.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/cmd/feeConfig/ListAdminConfigFeeObjsCmd.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/cmd/feeConfig/ListConfigFeeObjsCmd.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/cmd/feeSub/ListAdminPayFeeSubCmd.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/cmd/feeSub/ListPayFeeSubCmd.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/cmd/fee/QueryAdminHisFeeCmd.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-report/src/main/java/com/java110/report/cmd/fee/QueryHisFeeCmd.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/fee/PayFeeConfigV1ServiceDaoImplMapper.xml
@@ -263,7 +263,10 @@
        <if test="payerObjType != null and payerObjType != ''">
            and t.payer_obj_type= #{payerObjType}
        </if>
        and t.community_id= #{communityId}
        <if test="communityId != null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
    </select>
    <!-- 查询收费项目信息 add by wuxw 2018-07-03 -->
@@ -275,7 +278,9 @@
        left join pay_fee_attrs pfa1 on t.fee_id = pfa1.fee_id and pfa1.status_cd = '0' and pfa1.spec_cd = '390008'
        left join pay_fee_attrs pfa2 on t.fee_id = pfa2.fee_id and pfa2.status_cd = '0' and pfa2.spec_cd = '390009'
        where t.config_id = #{configId}
        and t.community_id= #{communityId}
        <if test="communityId != null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="payerObjType != null and payerObjType != ''">
            and t.payer_obj_type= #{payerObjType}
        </if>
service-fee/src/main/java/com/java110/fee/cmd/fee/QueryAdminApplyRoomDiscountCmd.java
New file
@@ -0,0 +1,75 @@
package com.java110.fee.cmd.fee;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.dto.file.FileRelDto;
import com.java110.dto.room.ApplyRoomDiscountDto;
import com.java110.intf.common.IFileRelInnerServiceSMO;
import com.java110.intf.fee.IApplyRoomDiscountInnerServiceSMO;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
@Java110Cmd(serviceCode = "fee.queryAdminApplyRoomDiscount")
public class QueryAdminApplyRoomDiscountCmd extends Cmd {
    @Autowired
    private IApplyRoomDiscountInnerServiceSMO applyRoomDiscountInnerServiceSMOImpl;
    @Autowired
    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
        super.validateAdmin(context);
        super.validatePageInfo(reqJson);
    }
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
        ApplyRoomDiscountDto applyRoomDiscountDto = BeanConvertUtil.covertBean(reqJson, ApplyRoomDiscountDto.class);
        int count = applyRoomDiscountInnerServiceSMOImpl.queryApplyRoomDiscountsCount(applyRoomDiscountDto);
        List<ApplyRoomDiscountDto> applyRoomDiscountDtos = new ArrayList<>();
        if (count > 0) {
            List<ApplyRoomDiscountDto> applyRoomDiscounts = applyRoomDiscountInnerServiceSMOImpl.queryApplyRoomDiscounts(applyRoomDiscountDto);
//            String imgUrl = MappingCache.getValue("IMG_PATH");
            for (ApplyRoomDiscountDto applyRoomDiscount : applyRoomDiscounts) {
                FileRelDto fileRelDto = new FileRelDto();
                fileRelDto.setObjId(applyRoomDiscount.getArdId());
                List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
                List<String> urls = new ArrayList<>();
                for (FileRelDto fileRel : fileRelDtos) {
                    if (!StringUtil.isEmpty(fileRel.getFileRealName()) && fileRel.getRelTypeCd().equals("19000")) {
                        urls.add(fileRel.getFileRealName());
                    } else if (!StringUtil.isEmpty(fileRel.getFileRealName()) && fileRel.getRelTypeCd().equals("21000")) {
                        urls.add(fileRel.getFileRealName());
                    }
                }
                applyRoomDiscount.setUrls(urls);
                applyRoomDiscountDtos.add(applyRoomDiscount);
            }
        } else {
            applyRoomDiscountDtos = new ArrayList<>();
        }
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) applyRoomDiscountDto.getRow()), count, applyRoomDiscountDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        context.setResponseEntity(responseEntity);
    }
}
service-fee/src/main/java/com/java110/fee/cmd/fee/QueryAdminImportFeeDetailCmd.java
New file
@@ -0,0 +1,51 @@
package com.java110.fee.cmd.fee;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.dto.importData.ImportFeeDetailDto;
import com.java110.intf.fee.IImportFeeDetailInnerServiceSMO;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
@Java110Cmd(serviceCode = "fee.queryAdminImportFeeDetail")
public class QueryAdminImportFeeDetailCmd extends Cmd {
    @Autowired
    private IImportFeeDetailInnerServiceSMO importFeeDetailInnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
        super.validateAdmin(context);
        super.validatePageInfo(reqJson);
    }
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
        ImportFeeDetailDto importFeeDetailDto = BeanConvertUtil.covertBean(reqJson, ImportFeeDetailDto.class);
        int count = importFeeDetailInnerServiceSMOImpl.queryImportFeeDetailsCount(importFeeDetailDto);
        List<ImportFeeDetailDto> importFeeDetailDtos = null;
        if (count > 0) {
            importFeeDetailDtos = importFeeDetailInnerServiceSMOImpl.queryImportFeeDetails(importFeeDetailDto);
        } else {
            importFeeDetailDtos = new ArrayList<>();
        }
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) importFeeDetailDto.getRow()), count, importFeeDetailDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        context.setResponseEntity(responseEntity);
    }
}
service-fee/src/main/java/com/java110/fee/cmd/feeConfig/ListAdminConfigFeeObjsCmd.java
New file
@@ -0,0 +1,60 @@
package com.java110.fee.cmd.feeConfig;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.dto.fee.FeeDto;
import com.java110.intf.fee.IPayFeeConfigV1InnerServiceSMO;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
/**
 * 查询 费用对象
 */
@Java110Cmd(serviceCode = "feeConfig.listAdminConfigFeeObjs")
public class ListAdminConfigFeeObjsCmd extends Cmd {
    @Autowired
    private IPayFeeConfigV1InnerServiceSMO payFeeConfigV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
        Assert.hasKeyAndValue(reqJson, "configId", "未包含费用项");
        super.validateAdmin(context);
    }
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
        FeeConfigDto feeConfigDto = BeanConvertUtil.covertBean(reqJson, FeeConfigDto.class);
        int count = payFeeConfigV1InnerServiceSMOImpl.queryFeeObjsCount(feeConfigDto);
        List<FeeDto> feeDtos = null;
        if (count > 0) {
            feeDtos = BeanConvertUtil.covertBeanList(payFeeConfigV1InnerServiceSMOImpl.queryFeeObjs(feeConfigDto), FeeDto.class);
        } else {
            feeDtos = new ArrayList<>();
        }
        ResponseEntity<String> responseEntity
                = ResultVo.createResponseEntity(
                (int) Math.ceil((double) count / (double) reqJson.getInteger("row")),
                count,
                feeDtos);
        context.setResponseEntity(responseEntity);
    }
}
service-fee/src/main/java/com/java110/fee/cmd/feeConfig/ListConfigFeeObjsCmd.java
@@ -32,6 +32,7 @@
    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区");
        Assert.hasKeyAndValue(reqJson, "configId", "未包含费用项");
        super.validateProperty(context);
    }
    @Override
service-fee/src/main/java/com/java110/fee/cmd/feeSub/ListAdminPayFeeSubCmd.java
New file
@@ -0,0 +1,84 @@
/*
 * 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.feeSub;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.dto.payFee.PayFeeSubDto;
import com.java110.intf.fee.IPayFeeSubV1InnerServiceSMO;
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;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import java.util.ArrayList;
import java.util.List;
/**
 * 类表述:查询
 * 服务编码:payFeeSub.listPayFeeSub
 * 请求路劲:/app/payFeeSub.ListPayFeeSub
 * add by 吴学文 at 2024-01-05 12:10:47 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 = "feeSub.listAdminPayFeeSub")
public class ListAdminPayFeeSubCmd extends Cmd {
  private static Logger logger = LoggerFactory.getLogger(ListAdminPayFeeSubCmd.class);
    @Autowired
    private IPayFeeSubV1InnerServiceSMO payFeeSubV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        super.validatePageInfo(reqJson);
        super.validateAdmin(cmdDataFlowContext);
    }
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
           PayFeeSubDto payFeeSubDto = BeanConvertUtil.covertBean(reqJson, PayFeeSubDto.class);
           int count = payFeeSubV1InnerServiceSMOImpl.queryPayFeeSubsCount(payFeeSubDto);
           List<PayFeeSubDto> payFeeSubDtos = null;
           if (count > 0) {
               payFeeSubDtos = payFeeSubV1InnerServiceSMOImpl.queryPayFeeSubs(payFeeSubDto);
           } else {
               payFeeSubDtos = new ArrayList<>();
           }
           ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, payFeeSubDtos);
           ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
           cmdDataFlowContext.setResponseEntity(responseEntity);
    }
}
service-fee/src/main/java/com/java110/fee/cmd/feeSub/ListPayFeeSubCmd.java
@@ -55,6 +55,7 @@
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        super.validatePageInfo(reqJson);
        super.validateProperty(cmdDataFlowContext);
        Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
    }
service-report/src/main/java/com/java110/report/cmd/fee/QueryAdminHisFeeCmd.java
New file
@@ -0,0 +1,55 @@
package com.java110.report.cmd.fee;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.dto.fee.FeeDto;
import com.java110.intf.report.IReportCommunityInnerServiceSMO;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
/**
 * 查询费用变更记录
 */
@Java110Cmd(serviceCode = "fee.queryAdminHisFee")
public class QueryAdminHisFeeCmd extends Cmd {
    @Autowired
    private IReportCommunityInnerServiceSMO reportCommunityInnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
        super.validatePageInfo(reqJson);
        super.validateAdmin(context);
    }
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
        int row = reqJson.getInteger("row");
        FeeDto feeDto = BeanConvertUtil.covertBean(reqJson, FeeDto.class);
        int total = reportCommunityInnerServiceSMOImpl.queryHisFeeCount(feeDto);
//        int count = 0;
        List<FeeDto> feeDtos = null;
        if (total > 0) {
            feeDtos = reportCommunityInnerServiceSMOImpl.queryHisFees(feeDto);
        } else {
            feeDtos = new ArrayList<>();
        }
        ResponseEntity<String> responseEntity = ResultVo.createResponseEntity((int) Math.ceil((double) total / (double) row), total, feeDtos);
        context.setResponseEntity(responseEntity);
    }
}
service-report/src/main/java/com/java110/report/cmd/fee/QueryHisFeeCmd.java
@@ -31,6 +31,7 @@
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
        Assert.hasKeyAndValue(reqJson,"communityId","未包含小区");
        super.validateProperty(context);
    }