From 4ce807bb99088dc6f41262046830fc872e772be4 Mon Sep 17 00:00:00 2001
From: cgf <2156125618@qq.com>
Date: 星期二, 02 九月 2025 14:23:33 +0800
Subject: [PATCH] 折扣已完成现有需求2025/08/09
---
service-fee/src/main/java/com/java110/fee/dao/impl/IReportFeeServiceDaoImpl.java | 71 ++++++++++++++
service-fee/src/main/java/com/java110/fee/cmd/fee/QueryReportFeeCmd.java | 52 ++++++++++
service-fee/src/main/java/com/java110/fee/smo/impl/ReportFeeInnerServiceSMOImpl.java | 39 +++++++
service-fee/src/main/java/com/java110/fee/cmd/feePrintPage/ListFeePrintPageListCmd.java | 81 ++++++++++++++++
service-fee/src/main/java/com/java110/fee/dao/IReportFeeServiceDao.java | 18 +++
5 files changed, 261 insertions(+), 0 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/QueryReportFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/QueryReportFeeCmd.java
new file mode 100644
index 0000000..f9fab6f
--- /dev/null
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/QueryReportFeeCmd.java
@@ -0,0 +1,52 @@
+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.community.CommunityDto;
+import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.intf.fee.IReportFeeInnerServiceSMO;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.vo.FeeQueryParams;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.text.ParseException;
+import java.util.List;
+import java.util.Map;
+
+@Java110Cmd(serviceCode = "fee.queryReportFeeCmd")
+public class QueryReportFeeCmd extends Cmd {
+
+ @Autowired
+ private IReportFeeInnerServiceSMO reportFeeInnerServiceSMOImpl;
+
+ @Autowired
+ private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+
+ @Override
+ public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+ Assert.hasKey(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈灏忓尯缂栧彿");
+ }
+
+ @Override
+ public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+ CommunityDto communityDto = new CommunityDto();
+ communityDto.setCommunityId(reqJson.getString("communityId"));
+ List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto);
+ FeeQueryParams feeQueryParams = new FeeQueryParams();
+ feeQueryParams.setCommunityId(reqJson.getString("communityId"));
+ feeQueryParams.setStartYear(communityDtos.get(0).getCreateTime().getYear()+1900);
+ if(reqJson.containsKey("startYear")){
+ feeQueryParams.setStartYear(Integer.parseInt(reqJson.getString("startYear")));
+ }
+ int currentYear = java.time.Year.now().getValue();
+ feeQueryParams.setEndYear(currentYear + 2);
+ List<Map> result = reportFeeInnerServiceSMOImpl.repostPaidInFee(feeQueryParams);
+ context.setResponseEntity(new ResponseEntity<>(result, HttpStatus.OK));
+ }
+}
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/feePrintPage/ListFeePrintPageListCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/feePrintPage/ListFeePrintPageListCmd.java
new file mode 100644
index 0000000..d0c2f7e
--- /dev/null
+++ b/service-fee/src/main/java/com/java110/fee/cmd/feePrintPage/ListFeePrintPageListCmd.java
@@ -0,0 +1,81 @@
+/*
+ * 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.feePrintPage;
+
+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.core.log.LoggerFactory;
+import com.java110.dto.fee.FeePrintPageDto;
+import com.java110.intf.fee.IFeePrintPageV1InnerServiceSMO;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.ResultVo;
+import org.slf4j.Logger;
+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;
+
+
+/**
+ * 绫昏〃杩帮細鏌ヨ
+ * 鏈嶅姟缂栫爜锛歠eePrintPage.listFeePrintPage
+ * 璇锋眰璺姴锛�/app/feePrintPage.ListFeePrintPage
+ * add by 鍚村鏂� at 2021-09-16 22:26:04 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 瀹樼綉锛歨ttp://www.homecommunity.cn
+ * 娓╅Θ鎻愮ず锛氬鏋滄偍瀵规鏂囦欢杩涜淇敼 璇蜂笉瑕佸垹闄ゅ師鏈変綔鑰呭強娉ㄩ噴淇℃伅锛岃琛ュ厖鎮ㄧ殑 淇敼鐨勫師鍥犱互鍙婅仈绯婚偖绠卞涓�
+ * // modify by 寮犱笁 at 2021-09-12 绗�10琛屽湪鏌愮鍦烘櫙涓嬪瓨鍦ㄦ煇绉峛ug 闇�瑕佷慨澶嶏紝娉ㄩ噴10鑷�20琛� 鍔犲叆 20琛岃嚦30琛�
+ */
+@Java110Cmd(serviceCode = "feePrintPage.listFeePrintPageList")
+public class ListFeePrintPageListCmd extends Cmd {
+
+ private static Logger logger = LoggerFactory.getLogger(ListFeePrintPageListCmd.class);
+ @Autowired
+ private IFeePrintPageV1InnerServiceSMO feePrintPageV1InnerServiceSMOImpl;
+
+ @Override
+ public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+ super.validatePageInfo(reqJson);
+ }
+
+ @Override
+ public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
+ FeePrintPageDto feePrintPageDto = BeanConvertUtil.covertBean(reqJson, FeePrintPageDto.class);
+
+ int count = feePrintPageV1InnerServiceSMOImpl.queryFeePrintPagesCount(feePrintPageDto);
+
+ List<FeePrintPageDto> feePrintPageDtos = null;
+
+ if (count > 0) {
+ feePrintPageDtos = feePrintPageV1InnerServiceSMOImpl.queryFeePrintPages(feePrintPageDto);
+ } else {
+ feePrintPageDtos = new ArrayList<>();
+ }
+
+ ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, feePrintPageDtos);
+
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+ cmdDataFlowContext.setResponseEntity(responseEntity);
+ }
+}
diff --git a/service-fee/src/main/java/com/java110/fee/dao/IReportFeeServiceDao.java b/service-fee/src/main/java/com/java110/fee/dao/IReportFeeServiceDao.java
new file mode 100644
index 0000000..0886b74
--- /dev/null
+++ b/service-fee/src/main/java/com/java110/fee/dao/IReportFeeServiceDao.java
@@ -0,0 +1,18 @@
+package com.java110.fee.dao;
+
+import com.java110.dto.report.ReportQueryRecord;
+import com.java110.vo.FeeQueryParams;
+import org.springframework.http.ResponseEntity;
+
+import java.util.List;
+import java.util.Map;
+
+public interface IReportFeeServiceDao {
+ List<Map> repostPaidInFee(FeeQueryParams feeQueryParams);
+
+ List<Map> repostPaidInFeeTwo(FeeQueryParams feeQueryParams);
+
+ int saveReport(Map map);
+
+ List<ReportQueryRecord> queryReport(Map map);
+}
diff --git a/service-fee/src/main/java/com/java110/fee/dao/impl/IReportFeeServiceDaoImpl.java b/service-fee/src/main/java/com/java110/fee/dao/impl/IReportFeeServiceDaoImpl.java
new file mode 100644
index 0000000..ce8fef3
--- /dev/null
+++ b/service-fee/src/main/java/com/java110/fee/dao/impl/IReportFeeServiceDaoImpl.java
@@ -0,0 +1,71 @@
+package com.java110.fee.dao.impl;
+
+import com.java110.core.base.dao.BaseServiceDao;
+import com.java110.core.log.LoggerFactory;
+import com.java110.dto.report.ReportQueryRecord;
+import com.java110.fee.dao.IInitializePayFeeServiceDao;
+import com.java110.fee.dao.IReportFeeServiceDao;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.FeeQueryParams;
+import org.slf4j.Logger;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
+
+@Service("iReportFeeServiceDaoImpl")
+public class IReportFeeServiceDaoImpl extends BaseServiceDao implements IReportFeeServiceDao {
+
+ private static Logger logger = LoggerFactory.getLogger(InitializePayFeeServiceDaoImpl.class);
+
+ @Override
+ public List<Map> repostPaidInFee(FeeQueryParams feeQueryParams) {
+ List<Integer> yearList = new ArrayList<>();
+ for (int year = feeQueryParams.getStartYear(); year <= feeQueryParams.getEndYear(); year++) {
+ yearList.add(year);
+ }
+ List<String> monthList = IntStream.rangeClosed(1, 12)
+ .mapToObj(month -> String.format("%02d", month))
+ .collect(Collectors.toList());
+
+ Map<String, Object> params = new HashMap<>();
+ params.put("communityId", feeQueryParams.getCommunityId());
+ params.put("startYear", feeQueryParams.getStartYear());
+ params.put("monthList", monthList);
+ params.put("endYear", feeQueryParams.getEndYear());
+ params.put("yearList", yearList);
+ return sqlSessionTemplate.selectList("reportFeeServiceDaoImpl.repostInFee", params);
+ }
+
+
+ @Override
+ public List<Map> repostPaidInFeeTwo(FeeQueryParams feeQueryParams) {
+ List<Integer> yearList = new ArrayList<>();
+ for (int year = feeQueryParams.getStartYear(); year <= feeQueryParams.getEndYear(); year++) {
+ yearList.add(year);
+ }
+ List<String> monthList = IntStream.rangeClosed(1, 12)
+ .mapToObj(month -> String.format("%02d", month))
+ .collect(Collectors.toList());
+
+ Map<String, Object> params = new HashMap<>();
+ params.put("communityId", feeQueryParams.getCommunityId());
+ params.put("startYear", feeQueryParams.getStartYear());
+ params.put("monthList", monthList);
+ params.put("endYear", feeQueryParams.getEndYear());
+ params.put("yearList", yearList);
+ return sqlSessionTemplate.selectList("reportFeeServiceDaoImpl.repostInFeeTwo", params);
+ }
+
+ @Override
+ public int saveReport(Map map) {
+ return sqlSessionTemplate.insert("reportFeeServiceDaoImpl.saveReport", map);
+ }
+
+ @Override
+ public List<ReportQueryRecord> queryReport(Map map) {
+ return BeanConvertUtil.covertBeanList(sqlSessionTemplate.selectList("reportFeeServiceDaoImpl.queryReport", map), ReportQueryRecord.class);
+ }
+}
diff --git a/service-fee/src/main/java/com/java110/fee/smo/impl/ReportFeeInnerServiceSMOImpl.java b/service-fee/src/main/java/com/java110/fee/smo/impl/ReportFeeInnerServiceSMOImpl.java
new file mode 100644
index 0000000..733df1e
--- /dev/null
+++ b/service-fee/src/main/java/com/java110/fee/smo/impl/ReportFeeInnerServiceSMOImpl.java
@@ -0,0 +1,39 @@
+package com.java110.fee.smo.impl;
+
+import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.dto.report.ReportQueryRecord;
+import com.java110.fee.dao.IReportFeeServiceDao;
+import com.java110.intf.fee.IReportFeeInnerServiceSMO;
+import com.java110.vo.FeeQueryParams;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@RestController
+public class ReportFeeInnerServiceSMOImpl extends BaseServiceSMO implements IReportFeeInnerServiceSMO {
+
+ @Autowired
+ private IReportFeeServiceDao iReportFeeServiceDao;
+
+ @Override
+ public List<Map> repostPaidInFee(FeeQueryParams feeQueryParams) {
+ return iReportFeeServiceDao.repostPaidInFee(feeQueryParams);
+ }
+ @Override
+ public List<Map> repostPaidInFeeTwo(FeeQueryParams feeQueryParams) {
+ return iReportFeeServiceDao.repostPaidInFeeTwo(feeQueryParams);
+ }
+
+ @Override
+ public int saveReport(Map map) {
+ return iReportFeeServiceDao.saveReport(map);
+ }
+
+ @Override
+ public List<ReportQueryRecord> queryReport(Map map) {
+
+ return iReportFeeServiceDao.queryReport(map);
+ }
+}
--
Gitblit v1.8.0