From e6c3c7d88a0e1cbd7d49d0a7566d9a9ee060a56e Mon Sep 17 00:00:00 2001 From: yuyongle <1150359267@qq.com> Date: Sun, 20 Jul 2025 14:52:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E8=B4=B9=E7=94=A8bu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CostCarChargeController.java | 10 +++ .../controller/CostHouseChargeController.java | 5 ++ .../property/domain/CostCarCharge.java | 5 +- .../property/domain/CostHouseCharge.java | 14 ++- .../property/domain/CostPayFeeAudit.java | 12 ++- .../property/domain/CostReturnPayFee.java | 20 +++-- .../property/domain/bo/CostCarChargeBo.java | 6 +- .../domain/bo/CostChargeReturnFeeBo.java | 37 ++++++++ .../property/domain/bo/CostHouseChargeBo.java | 22 +++-- .../property/domain/bo/CostPayFeeAuditBo.java | 14 ++- .../domain/bo/CostReturnPayFeeBo.java | 4 +- .../domain/enums/ChargeStatusEnum.java | 44 ++++++++++ .../property/domain/vo/CostCarChargeVo.java | 4 + .../domain/vo/CostHouseChargeDetailVo.java | 16 +++- .../property/domain/vo/CostHouseChargeVo.java | 13 ++- .../property/domain/vo/CostPayFeeAuditVo.java | 9 +- .../domain/vo/CostReturnPayFeeVo.java | 4 +- .../service/ICostCarChargeService.java | 8 +- .../service/ICostHouseChargeService.java | 10 ++- .../impl/CostCarChargeServiceImpl.java | 52 ++++++++++++ .../impl/CostHouseChargeServiceImpl.java | 85 ++++++++++++++----- .../impl/CostPayFeeAuditServiceImpl.java | 61 +++++++++++-- .../impl/CostReturnPayFeeServiceImpl.java | 39 ++++++++- .../impl/InspectionPlanServiceImpl.java | 4 +- 24 files changed, 423 insertions(+), 75 deletions(-) create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostChargeReturnFeeBo.java create mode 100644 ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/ChargeStatusEnum.java diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CostCarChargeController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CostCarChargeController.java index b469a15c..0c1336a9 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CostCarChargeController.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CostCarChargeController.java @@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.property.domain.bo.CostChargeReturnFeeBo; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -80,6 +81,15 @@ public class CostCarChargeController extends BaseController { return toAjax(costCarChargeService.insertByBo(bo)); } + /** + * 车辆退费接口 + * @param bo + * @return + */ + @PostMapping("/returnFee") + public R returnFree( @RequestBody CostChargeReturnFeeBo bo) { + return toAjax(costCarChargeService.returnFree(bo)); + } /** * 修改费用-车辆收费 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CostHouseChargeController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CostHouseChargeController.java index 26d4f29c..ee46a9c6 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CostHouseChargeController.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CostHouseChargeController.java @@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.property.domain.bo.CostChargeReturnFeeBo; import org.dromara.property.domain.vo.CostHouseChargeDetailVo; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; @@ -80,6 +81,10 @@ public class CostHouseChargeController extends BaseController { public R add(@Validated(AddGroup.class) @RequestBody CostHouseChargeBo bo) { return toAjax(costHouseChargeService.insertByBo(bo)); } + @PostMapping("/returnFee") + public R returnFree( @RequestBody CostChargeReturnFeeBo bo) { + return toAjax(costHouseChargeService.returnFree(bo)); + } /** * 修改房屋收费 diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostCarCharge.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostCarCharge.java index 425fa653..f9fa8ef1 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostCarCharge.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostCarCharge.java @@ -59,7 +59,10 @@ public class CostCarCharge extends TenantEntity { * 状态 */ private String state; - + /** + * 缴费状态 + */ + private String chargeStatus; /** * 收费项目 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostHouseCharge.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostHouseCharge.java index 1aac5ee1..5d5a64d8 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostHouseCharge.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostHouseCharge.java @@ -4,6 +4,8 @@ import org.dromara.common.tenant.core.TenantEntity; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; @@ -33,12 +35,18 @@ public class CostHouseCharge extends TenantEntity { * 房屋 */ private Long roomId; - + /** + * 业主 + */ + private Long personId; /** * 收费项目 */ private Long costItemsId; - + /** + * 缴费状态 + */ + private String chargeStatus; /** * 支付方式 */ @@ -52,7 +60,7 @@ public class CostHouseCharge extends TenantEntity { /** * 应收金额 */ - private Long amountReceivable; + private BigDecimal amountReceivable; /** * 计费开始时间 diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostPayFeeAudit.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostPayFeeAudit.java index 6ea7a44d..87f9a733 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostPayFeeAudit.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostPayFeeAudit.java @@ -1,5 +1,6 @@ package org.dromara.property.domain; +import lombok.experimental.Accessors; import org.dromara.common.tenant.core.TenantEntity; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; @@ -17,6 +18,7 @@ import java.io.Serial; * @date 2025-07-17 */ @Data +@Accessors(chain = true) @EqualsAndHashCode(callSuper = true) @TableName("cost_pay_fee_audit") public class CostPayFeeAudit extends TenantEntity { @@ -31,9 +33,13 @@ public class CostPayFeeAudit extends TenantEntity { private Long id; /** - * 房屋收费id + * 收费id */ - private Long houseChargeId; + private Long chargeId; + /** + * 收费类型 + */ + private String chargeType; /** * 费用项目id @@ -62,8 +68,6 @@ public class CostPayFeeAudit extends TenantEntity { /** * 缴费时间 - - */ private Date payTime; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostReturnPayFee.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostReturnPayFee.java index 97cb8805..36a6ca74 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostReturnPayFee.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CostReturnPayFee.java @@ -1,9 +1,12 @@ package org.dromara.property.domain; +import lombok.experimental.Accessors; import org.dromara.common.tenant.core.TenantEntity; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; @@ -16,6 +19,7 @@ import java.io.Serial; * @date 2025-07-17 */ @Data +@Accessors(chain = true) @EqualsAndHashCode(callSuper = true) @TableName("cost_return_pay_fee") public class CostReturnPayFee extends TenantEntity { @@ -28,7 +32,14 @@ public class CostReturnPayFee extends TenantEntity { */ @TableId(value = "id") private Long id; - + /** + * 收费id + */ + private Long chargeId; + /** + * 收费类型 + */ + private String chargeType; /** * 退款单号 */ @@ -57,7 +68,7 @@ public class CostReturnPayFee extends TenantEntity { /** * 支付金额 */ - private Long payAcount; + private BigDecimal payAcount; /** * 支付时间 @@ -74,10 +85,5 @@ public class CostReturnPayFee extends TenantEntity { */ private String remark; - /** - * 搜索值 - */ - private String searchValue; - } diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostCarChargeBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostCarChargeBo.java index 1dfdc309..e149f6be 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostCarChargeBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostCarChargeBo.java @@ -37,6 +37,7 @@ public class CostCarChargeBo extends BaseEntity { /** * 业主 */ + @NotNull(message = "业主不能为空", groups = { AddGroup.class, EditGroup.class }) private Long personId; /** @@ -49,7 +50,10 @@ public class CostCarChargeBo extends BaseEntity { * 车位 */ private String location; - + /** + * 缴费状态 + */ + private String chargeStatus; /** * 状态 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostChargeReturnFeeBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostChargeReturnFeeBo.java new file mode 100644 index 00000000..c3c658c5 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostChargeReturnFeeBo.java @@ -0,0 +1,37 @@ +package org.dromara.property.domain.bo; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; + +/** + * @Author:yuyongle + * @Date:2025/7/19 13:50 + * @Description: + **/ +@Data +public class CostChargeReturnFeeBo { + /** + * 主键 + */ + @NotNull(message = "主键不能为空", groups = { EditGroup.class }) + private Long id; + /** + * 业主 + */ + @NotNull(message = "业主不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long personId; + + /** + * 收费项目 + */ + @NotNull(message = "收费项目不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long costItemsId; + + /** + * 退款原因 + */ + @NotNull(message = "退款原因不能为空", groups = { AddGroup.class, EditGroup.class }) + private String reason; +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostHouseChargeBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostHouseChargeBo.java index 3eee8433..96f5400d 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostHouseChargeBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostHouseChargeBo.java @@ -1,17 +1,16 @@ package org.dromara.property.domain.bo; -import org.dromara.property.domain.CostHouseCharge; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.property.domain.CostHouseCharge; import java.math.BigDecimal; import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; /** * 房屋收费业务对象 cost_house_charge @@ -35,13 +34,22 @@ public class CostHouseChargeBo extends BaseEntity { */ @NotNull(message = "房屋不能为空", groups = { AddGroup.class, EditGroup.class }) private Long roomId; + /** + * 业主 + */ + @NotNull(message = "业主不能为空", groups = { AddGroup.class, EditGroup.class }) + + private Long personId; /** * 收费项目 */ @NotNull(message = "收费项目不能为空", groups = { AddGroup.class, EditGroup.class }) private Long costItemsId; - + /** + * 缴费状态 + */ + private String chargeStatus; /** * 支付方式 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostPayFeeAuditBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostPayFeeAuditBo.java index 0f6c833f..bc9c9baa 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostPayFeeAuditBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostPayFeeAuditBo.java @@ -31,10 +31,13 @@ public class CostPayFeeAuditBo extends BaseEntity { private Long id; /** - * 房屋收费id + * 收费id */ - @NotNull(message = "房屋收费id不能为空", groups = { AddGroup.class, EditGroup.class }) - private Long houseChargeId; + private Long chargeId; + /** + * 收费类型 + */ + private String chargeType; /** * 费用项目id @@ -65,12 +68,7 @@ public class CostPayFeeAuditBo extends BaseEntity { @NotNull(message = "应收金额不能为空", groups = { AddGroup.class, EditGroup.class }) private BigDecimal receivableAmount; - /** - * 缴费时间 - - */ - @NotNull(message = "缴费时间不能为空", groups = { AddGroup.class, EditGroup.class }) private Date payTime; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostReturnPayFeeBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostReturnPayFeeBo.java index a8c6407f..9106436d 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostReturnPayFeeBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CostReturnPayFeeBo.java @@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; import org.dromara.property.domain.CostReturnPayFee; +import java.math.BigDecimal; import java.util.Date; /** @@ -60,12 +61,11 @@ public class CostReturnPayFeeBo extends BaseEntity { /** * 支付金额 */ - private Long payAcount; + private BigDecimal payAcount; /** * 支付时间 */ - @NotNull(message = "支付时间不能为空", groups = { AddGroup.class, EditGroup.class }) private Date payTime; /** diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/ChargeStatusEnum.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/ChargeStatusEnum.java new file mode 100644 index 00000000..ebfb9b41 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/enums/ChargeStatusEnum.java @@ -0,0 +1,44 @@ +package org.dromara.property.domain.enums; + +import lombok.Data; +import lombok.Getter; + +/** + * @Author:yuyongle + * @Date:2025/7/19 11:33 + * @Description: + **/ +@Getter +public enum ChargeStatusEnum { + /** + * 缴费待审核 + */ + PAYMENT_IS_SUBJECT_TO_REVIEW("缴费待审核", "1"), + /** + * 月/天 + */ + THE_PAYMENT_WAS_APPROVED("缴费审核通过", "2"), + THE_PAYMENT_REVIEW_FAILED("缴费审核不通过", "3"), + PAID_FEE("已缴费", "4"), + REFUND_PENDING_REVIEW("退费待审核", "5"), + THE_REFUND_HAS_BEEN_APPROVED("已退费审核通过", "6"), + THE_REFUND_REVIEW_IS_NOT_PASSED("退费审核不通过", "7"); + + + + private final String name; + private final String value; + + ChargeStatusEnum(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return this.name; + } + + public String getValue() { + return this.value; + } +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostCarChargeVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostCarChargeVo.java index 52dc372e..8734ef72 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostCarChargeVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostCarChargeVo.java @@ -71,6 +71,10 @@ public class CostCarChargeVo implements Serializable { @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) @ExcelDictFormat(dictType = "wy_cszt") private String state; + /** + * 缴费状态 + */ + private String chargeStatus; /** * 收费项目 diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostHouseChargeDetailVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostHouseChargeDetailVo.java index bf5e2686..777a9e9c 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostHouseChargeDetailVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostHouseChargeDetailVo.java @@ -9,6 +9,7 @@ import org.dromara.property.domain.CostItems; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; /** @@ -34,13 +35,24 @@ public class CostHouseChargeDetailVo implements Serializable { */ @ExcelProperty(value = "房屋") private Long roomId; + /** + * 业主 + */ + private Long personId; + /** + * 业主姓名 + */ + private String personName; /** * 收费项目 */ @ExcelProperty(value = "收费项目") private Long costItemsId; - + /** + * 缴费状态 + */ + private String chargeStatus; /** * 支付方式 */ @@ -57,7 +69,7 @@ public class CostHouseChargeDetailVo implements Serializable { * 应收金额 */ @ExcelProperty(value = "应收金额") - private Long amountReceivable; + private BigDecimal amountReceivable; /** * 计费开始时间 diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostHouseChargeVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostHouseChargeVo.java index 1b412adc..0cb4e6d5 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostHouseChargeVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostHouseChargeVo.java @@ -1,5 +1,6 @@ package org.dromara.property.domain.vo; +import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import org.dromara.property.domain.CostHouseCharge; @@ -41,7 +42,10 @@ public class CostHouseChargeVo implements Serializable { */ @ExcelProperty(value = "房屋") private Long roomId; - + /** + * 业主 + */ + private Long personId; /** * 收费项目 */ @@ -59,12 +63,15 @@ public class CostHouseChargeVo implements Serializable { */ @ExcelProperty(value = "支付周期") private String chargeCycle; - + /** + * 缴费状态 + */ + private String chargeStatus; /** * 应收金额 */ @ExcelProperty(value = "应收金额") - private Long amountReceivable; + private BigDecimal amountReceivable; /** * 计费开始时间 diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostPayFeeAuditVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostPayFeeAuditVo.java index ed32952c..e7704979 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostPayFeeAuditVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostPayFeeAuditVo.java @@ -37,10 +37,13 @@ public class CostPayFeeAuditVo implements Serializable { private Long id; /** - * 房屋收费id + * 收费id */ - @ExcelProperty(value = "房屋收费id") - private Long houseChargeId; + private Long chargeId; + /** + * 收费类型 + */ + private String chargeType; /** * 费用类型 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostReturnPayFeeVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostReturnPayFeeVo.java index cf03a1f6..0b6dcb1c 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostReturnPayFeeVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CostReturnPayFeeVo.java @@ -8,6 +8,7 @@ import org.dromara.property.domain.CostReturnPayFee; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; @@ -44,6 +45,7 @@ public class CostReturnPayFeeVo implements Serializable { @ExcelProperty(value = "支付单号") private String payNo; + /** * 退款原因 */ @@ -66,7 +68,7 @@ public class CostReturnPayFeeVo implements Serializable { * 支付金额 */ @ExcelProperty(value = "支付金额") - private Long payAcount; + private BigDecimal payAcount; /** * 支付时间 diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICostCarChargeService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICostCarChargeService.java index b4435f50..844f1ff6 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICostCarChargeService.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICostCarChargeService.java @@ -1,6 +1,6 @@ package org.dromara.property.service; -import org.dromara.property.domain.CostCarCharge; +import org.dromara.property.domain.bo.CostChargeReturnFeeBo; import org.dromara.property.domain.vo.CostCarChargeVo; import org.dromara.property.domain.bo.CostCarChargeBo; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -50,6 +50,12 @@ public interface ICostCarChargeService { */ Boolean insertByBo(CostCarChargeBo bo); + /** + * 车辆退费 + * @param bo + * @return + */ + Boolean returnFree(CostChargeReturnFeeBo bo); /** * 修改费用-车辆收费 * diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICostHouseChargeService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICostHouseChargeService.java index bd998b01..3b8836ab 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICostHouseChargeService.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICostHouseChargeService.java @@ -1,6 +1,6 @@ package org.dromara.property.service; -import org.dromara.property.domain.CostHouseCharge; +import org.dromara.property.domain.bo.CostChargeReturnFeeBo; import org.dromara.property.domain.vo.CostHouseChargeDetailVo; import org.dromara.property.domain.vo.CostHouseChargeVo; import org.dromara.property.domain.bo.CostHouseChargeBo; @@ -51,6 +51,14 @@ public interface ICostHouseChargeService { */ Boolean insertByBo(CostHouseChargeBo bo); + /** + * 房屋退费 + * + * @param bo 房屋退费 + * @return 是否修改成功 + */ + Boolean returnFree(CostChargeReturnFeeBo bo); + /** * 修改房屋收费 * diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostCarChargeServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostCarChargeServiceImpl.java index e0ea615e..731f8e7a 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostCarChargeServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostCarChargeServiceImpl.java @@ -1,5 +1,9 @@ package org.dromara.property.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.RandomUtil; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -9,14 +13,23 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.dromara.property.domain.CostHouseCharge; +import org.dromara.property.domain.CostPayFeeAudit; +import org.dromara.property.domain.CostReturnPayFee; +import org.dromara.property.domain.bo.CostChargeReturnFeeBo; +import org.dromara.property.domain.enums.ChargeStatusEnum; +import org.dromara.property.domain.vo.CostHouseChargeVo; import org.dromara.property.domain.vo.CostItemsVo; import org.dromara.property.mapper.CostItemsMapper; +import org.dromara.property.mapper.CostPayFeeAuditMapper; +import org.dromara.property.mapper.CostReturnPayFeeMapper; import org.springframework.stereotype.Service; import org.dromara.property.domain.bo.CostCarChargeBo; import org.dromara.property.domain.vo.CostCarChargeVo; import org.dromara.property.domain.CostCarCharge; import org.dromara.property.mapper.CostCarChargeMapper; import org.dromara.property.service.ICostCarChargeService; +import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.List; @@ -36,6 +49,8 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService { private final CostCarChargeMapper baseMapper; private final CostItemsMapper costItemsMapper; + private final CostPayFeeAuditMapper costPayFeeAuditMapper; + private final CostReturnPayFeeMapper costReturnPayFeeMapper; /** @@ -98,6 +113,7 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService { * @return 是否新增成功 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean insertByBo(CostCarChargeBo bo) { CostCarCharge add = MapstructUtils.convert(bo, CostCarCharge.class); CostItemsVo costItemsVo = costItemsMapper.selectVoById(add.getCostItemsId()); @@ -107,10 +123,46 @@ public class CostCarChargeServiceImpl implements ICostCarChargeService { boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setId(add.getId()); + //新增缴费记录 + var CostPayFeeAudit = new CostPayFeeAudit() + .setChargeId(add.getId()) + .setChargeType("2") + .setItemId(costItemsVo.getId()) + .setStartTime(add.getStarTime()) + .setEndTime(add.getEndTime()) + .setReceivableAmount(add.getAmountReceivable()) + .setState("0"); + costPayFeeAuditMapper.insert(CostPayFeeAudit); } return flag; } + /** + * 车辆退费 + * @param bo + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean returnFree(CostChargeReturnFeeBo bo) { + CostCarCharge costCarCharge = baseMapper.selectById(bo.getId()); + Assert.isTrue(ObjectUtil.isNotEmpty(costCarCharge),"该费用不存在"); + var CostReturnPayFee = new CostReturnPayFee() + .setChargeId(costCarCharge.getId()) + .setChargeType("2") + .setItemId(costCarCharge.getCostItemsId()) + .setReturnNo(RandomUtil.randomNumbers(11)) + .setReason(bo.getReason()) + .setUserId(costCarCharge.getPersonId()) + .setPayNo(costCarCharge.getId().toString()) + .setPayAcount(costCarCharge.getAmountReceivable()) + .setState("0") + ; + costReturnPayFeeMapper.insert(CostReturnPayFee); + costCarCharge.setChargeStatus(ChargeStatusEnum.REFUND_PENDING_REVIEW.getValue()); + return baseMapper.updateById(costCarCharge) > 0; + } + /** * 修改费用-车辆收费 * diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostHouseChargeServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostHouseChargeServiceImpl.java index a4aa0f12..8c23dee8 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostHouseChargeServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostHouseChargeServiceImpl.java @@ -1,6 +1,9 @@ package org.dromara.property.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.RandomUtil; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -10,17 +13,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.dromara.property.domain.vo.CostHouseChargeDetailVo; -import org.dromara.property.domain.vo.CostItemsVo; -import org.dromara.property.domain.vo.TbRoomVo; -import org.dromara.property.mapper.CostItemsMapper; -import org.dromara.property.mapper.TbRoomMapper; +import org.dromara.property.domain.CostPayFeeAudit; +import org.dromara.property.domain.CostReturnPayFee; +import org.dromara.property.domain.bo.CostChargeReturnFeeBo; +import org.dromara.property.domain.enums.ChargeStatusEnum; +import org.dromara.property.domain.vo.*; +import org.dromara.property.mapper.*; import org.springframework.stereotype.Service; import org.dromara.property.domain.bo.CostHouseChargeBo; -import org.dromara.property.domain.vo.CostHouseChargeVo; import org.dromara.property.domain.CostHouseCharge; -import org.dromara.property.mapper.CostHouseChargeMapper; import org.dromara.property.service.ICostHouseChargeService; +import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.math.RoundingMode; @@ -42,7 +45,9 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService { private final CostHouseChargeMapper baseMapper; private final CostItemsMapper costItemsMapper; private final TbRoomMapper tbRoomMapper; - + private final CostPayFeeAuditMapper costPayFeeAuditMapper; + private final CostReturnPayFeeMapper costReturnPayFeeMapper; + private final ResidentPersonMapper residentPersonMapper; /** * 查询房屋收费 * @@ -50,13 +55,15 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService { * @return 房屋收费 */ @Override - public CostHouseChargeDetailVo queryById(Long id){ + public CostHouseChargeDetailVo queryById(Long id) { CostHouseChargeVo costHouseChargeVo = baseMapper.selectVoById(id); CostHouseChargeDetailVo costHouseChargeDetailVo = BeanUtil.copyProperties(costHouseChargeVo, CostHouseChargeDetailVo.class); CostItemsVo costItemsVo = costItemsMapper.selectVoById(costHouseChargeDetailVo.getCostItemsId()); - costHouseChargeDetailVo.setCostItemsVo( costItemsVo ); + costHouseChargeDetailVo.setCostItemsVo(costItemsVo); TbRoomVo tbRoomVo = tbRoomMapper.selectVoById(costHouseChargeDetailVo.getRoomId()); costHouseChargeDetailVo.setRoomVo(tbRoomVo); + ResidentPersonVo residentPersonVo = residentPersonMapper.selectVoById(costHouseChargeVo.getPersonId()); + costHouseChargeDetailVo.setPersonName(residentPersonVo.getUserName()); return costHouseChargeDetailVo; } @@ -92,7 +99,6 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService { lqw.orderByAsc(CostHouseCharge::getId); lqw.eq(bo.getRoomId() != null, CostHouseCharge::getRoomId, bo.getRoomId()); lqw.eq(bo.getCostItemsId() != null, CostHouseCharge::getCostItemsId, bo.getCostItemsId()); - lqw.eq(StringUtils.isNotBlank(bo.getPayType()), CostHouseCharge::getPayType, bo.getPayType()); lqw.eq(StringUtils.isNotBlank(bo.getChargeCycle()), CostHouseCharge::getChargeCycle, bo.getChargeCycle()); lqw.eq(bo.getAmountReceivable() != null, CostHouseCharge::getAmountReceivable, bo.getAmountReceivable()); lqw.eq(bo.getStartTime() != null, CostHouseCharge::getStartTime, bo.getStartTime()); @@ -109,6 +115,7 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService { * @return 是否新增成功 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean insertByBo(CostHouseChargeBo bo) { CostHouseCharge add = MapstructUtils.convert(bo, CostHouseCharge.class); //查询房间面积 @@ -117,26 +124,63 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService { CostItemsVo costItemsVo = costItemsMapper.selectVoById(add.getCostItemsId()); BigDecimal unitPrice = costItemsVo.getUnitPrice(); //向上取整 - if(costItemsVo.getRoundingMode().equals("1")){ - add.setAmountReceivable(area.multiply(unitPrice).add(costItemsVo.getSurcharge()).setScale(Integer.valueOf(costItemsVo.getCurrencyDecimals()), BigDecimal.ROUND_UP).longValue()); + if (costItemsVo.getRoundingMode().equals("1")) { + add.setAmountReceivable(area.multiply(unitPrice).add(costItemsVo.getSurcharge()).setScale(Integer.valueOf(costItemsVo.getCurrencyDecimals()), BigDecimal.ROUND_UP)); } //向下取整 - if(costItemsVo.getRoundingMode().equals("2")){ - add.setAmountReceivable( area.multiply(unitPrice).add(costItemsVo.getSurcharge()).setScale(Integer.valueOf(costItemsVo.getCurrencyDecimals()), BigDecimal.ROUND_DOWN).longValue()); + if (costItemsVo.getRoundingMode().equals("2")) { + add.setAmountReceivable(area.multiply(unitPrice).add(costItemsVo.getSurcharge()).setScale(Integer.valueOf(costItemsVo.getCurrencyDecimals()), BigDecimal.ROUND_DOWN)); } //四舍五入 - if(costItemsVo.getRoundingMode().equals("0")){ - add.setAmountReceivable(area.multiply(unitPrice).add(costItemsVo.getSurcharge()).setScale( Integer.valueOf(costItemsVo.getCurrencyDecimals()), RoundingMode.HALF_UP).longValue()); + if (costItemsVo.getRoundingMode().equals("0")) { + add.setAmountReceivable(area.multiply(unitPrice).add(costItemsVo.getSurcharge()).setScale(Integer.valueOf(costItemsVo.getCurrencyDecimals()), RoundingMode.HALF_UP)); } + add.setChargeStatus(ChargeStatusEnum.PAYMENT_IS_SUBJECT_TO_REVIEW.getValue()); //area validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setId(add.getId()); + //新增缴费记录 + var CostPayFeeAudit = new CostPayFeeAudit() + .setChargeId(add.getId()) + .setChargeType("1") + .setItemId(costItemsVo.getId()) + .setStartTime(add.getStartTime()) + .setEndTime(add.getEndTime()) + .setReceivableAmount(add.getAmountReceivable()) + .setState("0"); + costPayFeeAuditMapper.insert(CostPayFeeAudit); } return flag; } + /** + * 房屋退费 + * + * @param bo 房屋退费 + * @return 是否退费成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean returnFree(CostChargeReturnFeeBo bo) { + CostHouseChargeVo costHouseChargeVo = baseMapper.selectVoById(bo.getId()); + Assert.isTrue(ObjectUtil.isNotEmpty(costHouseChargeVo),"该费用不存在"); + var CostReturnPayFee = new CostReturnPayFee().setItemId(costHouseChargeVo.getCostItemsId()) + .setReturnNo(RandomUtil.randomNumbers(11)) + .setReason(bo.getReason()) + .setItemId(costHouseChargeVo.getCostItemsId()) + .setUserId(costHouseChargeVo.getPersonId()) + .setPayNo(costHouseChargeVo.getId().toString()) + .setPayAcount(costHouseChargeVo.getAmountReceivable()) + .setState("0") + ; + boolean flag = costReturnPayFeeMapper.insert(CostReturnPayFee) > 0; + CostHouseCharge costHouseCharge = BeanUtil.copyProperties(costHouseChargeVo, CostHouseCharge.class); + costHouseCharge.setChargeStatus(ChargeStatusEnum.REFUND_PENDING_REVIEW.getValue()); + return baseMapper.updateById(costHouseCharge) > 0; + } + /** * 修改房屋收费 * @@ -144,6 +188,7 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService { * @return 是否修改成功 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean updateByBo(CostHouseChargeBo bo) { CostHouseCharge update = MapstructUtils.convert(bo, CostHouseCharge.class); validEntityBeforeSave(update); @@ -153,7 +198,7 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService { /** * 保存前的数据校验 */ - private void validEntityBeforeSave(CostHouseCharge entity){ + private void validEntityBeforeSave(CostHouseCharge entity) { //TODO 做一些数据校验,如唯一约束 } @@ -165,8 +210,10 @@ public class CostHouseChargeServiceImpl implements ICostHouseChargeService { * @return 是否删除成功 */ @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0; diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostPayFeeAuditServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostPayFeeAuditServiceImpl.java index fe2b5a04..5f0c836d 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostPayFeeAuditServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostPayFeeAuditServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.property.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import org.checkerframework.checker.units.qual.C; import org.dromara.common.core.utils.MapstructUtils; @@ -11,12 +12,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.dromara.property.domain.CostCarCharge; +import org.dromara.property.domain.CostHouseCharge; import org.dromara.property.domain.CostPayFeeAudit; import org.dromara.property.domain.bo.CostPayFeeAuditBo; +import org.dromara.property.domain.enums.ChargeStatusEnum; import org.dromara.property.domain.vo.*; -import org.dromara.property.mapper.CostItemsMapper; -import org.dromara.property.mapper.CostPayFeeAuditMapper; -import org.dromara.property.mapper.TbRoomMapper; +import org.dromara.property.mapper.*; import org.dromara.property.service.ICostPayFeeAuditService; import org.springframework.stereotype.Service; @@ -40,6 +42,8 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService { private final CostPayFeeAuditMapper baseMapper; private final CostItemsMapper costItemsMapper; private final TbRoomMapper roomMapper; + private final CostHouseChargeMapper coinHouseChargeMapper; + private final CostCarChargeMapper costCarChargeMapper; /** * 查询费用-缴费审核 @@ -49,7 +53,13 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService { */ @Override public CostPayFeeAuditVo queryById(Long id){ - return baseMapper.selectVoById(id); + CostPayFeeAuditVo costPayFeeAuditVo = baseMapper.selectVoById(id); + CostItemsVo costItemsVo = costItemsMapper.selectVoById(costPayFeeAuditVo.getItemId()); + costPayFeeAuditVo.setChargeItem(ObjectUtil.isNotEmpty(costItemsVo)? costItemsVo.getChargeItem() :null ); + costPayFeeAuditVo.setChargeCycle(ObjectUtil.isNotEmpty(costItemsVo)? costItemsVo.getChargeCycle() :null ); + //TbRoomVo roomVo = roomMapper.selectVoById(costPayFeeAuditVo.getChargeId()); + //costPayFeeAuditVo.setRoomNumber(ObjectUtil.isNotEmpty(roomVo)? roomVo.getRoomNumber() :null ); + return costPayFeeAuditVo; } /** @@ -63,12 +73,15 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService { public TableDataInfo queryPageList(CostPayFeeAuditBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + if(CollUtil.isEmpty(result.getRecords())){ + return TableDataInfo.build(result); + } List itemIdList = result.getRecords().stream() .map(vo -> vo.getItemId()) .distinct() .collect(Collectors.toList()); List roomIdList = result.getRecords().stream() - .map(vo -> vo.getHouseChargeId()) + .map(vo -> vo.getChargeId()) .distinct() .collect(Collectors.toList()); List costItemsVoList = costItemsMapper.selectVoByIds(itemIdList); @@ -81,7 +94,7 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService { s.setCostType(ObjectUtil.isNotEmpty(costItemsVo)?costItemsVo.getCostType():null); s.setChargeCycle(ObjectUtil.isNotEmpty(costItemsVo)?costItemsVo.getChargeCycle():null); TbRoomVo tbRoomVo = roomVoList.stream() - .filter(vo -> vo.getId() != null && vo.getId().equals(s.getHouseChargeId())).findFirst().orElse(null); + .filter(vo -> vo.getId() != null && vo.getId().equals(s.getChargeId())).findFirst().orElse(null); s.setRoomNumber(ObjectUtil.isNotEmpty(tbRoomVo)?tbRoomVo.getRoomNumber():null); costPayFeeAuditVoList.add(s); @@ -105,7 +118,7 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.orderByAsc(CostPayFeeAudit::getId); - lqw.eq(bo.getHouseChargeId() != null, CostPayFeeAudit::getHouseChargeId, bo.getHouseChargeId()); + lqw.eq(bo.getChargeId() != null, CostPayFeeAudit::getChargeId, bo.getChargeId()); lqw.eq(bo.getItemId() != null, CostPayFeeAudit::getItemId, bo.getItemId()); lqw.eq(bo.getStartTime() != null, CostPayFeeAudit::getStartTime, bo.getStartTime()); lqw.eq(bo.getEndTime() != null, CostPayFeeAudit::getEndTime, bo.getEndTime()); @@ -134,7 +147,7 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService { } /** - * 修改费用-缴费审核 + * 修改费用-缴费审核修改状态 * * @param bo 费用-缴费审核 * @return 是否修改成功 @@ -142,7 +155,7 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService { @Override public Boolean updateByBo(CostPayFeeAuditBo bo) { CostPayFeeAudit update = MapstructUtils.convert(bo, CostPayFeeAudit.class); - validEntityBeforeSave(update); + validEntityBeforeUpdate(update); return baseMapper.updateById(update) > 0; } @@ -152,6 +165,36 @@ public class CostPayFeeAuditServiceImpl implements ICostPayFeeAuditService { private void validEntityBeforeSave(CostPayFeeAudit entity){ //TODO 做一些数据校验,如唯一约束 } + /** + * 修改前的数据校验 + */ + private void validEntityBeforeUpdate(CostPayFeeAudit entity){ + //TODO 做一些数据校验,如唯一约束 + if(entity.getState().equals("1")){ + if(entity.getChargeType().equals("1")){ + CostHouseCharge costHouseCharge = coinHouseChargeMapper.selectById(entity.getChargeId()); + costHouseCharge.setChargeStatus(ChargeStatusEnum.THE_PAYMENT_WAS_APPROVED.getValue()); + coinHouseChargeMapper.updateById(costHouseCharge); + } + if(entity.getChargeType().equals("2")){ + CostCarCharge costCarCharge = costCarChargeMapper.selectById(entity.getChargeId()); + costCarCharge.setChargeStatus(ChargeStatusEnum.THE_PAYMENT_WAS_APPROVED.getValue()); + costCarChargeMapper.updateById(costCarCharge); + } + } + if(entity.getState().equals("2")){ + if(entity.getChargeType().equals("1")){ + CostHouseCharge costHouseCharge = coinHouseChargeMapper.selectById(entity.getChargeId()); + costHouseCharge.setChargeStatus(ChargeStatusEnum.THE_PAYMENT_REVIEW_FAILED.getValue()); + coinHouseChargeMapper.updateById(costHouseCharge); + } + if(entity.getChargeType().equals("2")){ + CostCarCharge costCarCharge = costCarChargeMapper.selectById(entity.getChargeId()); + costCarCharge.setChargeStatus(ChargeStatusEnum.THE_PAYMENT_REVIEW_FAILED.getValue()); + costCarChargeMapper.updateById(costCarCharge); + } + } + } /** * 校验并批量删除费用-缴费审核信息 diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostReturnPayFeeServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostReturnPayFeeServiceImpl.java index 1c0aa394..0971fa67 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostReturnPayFeeServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CostReturnPayFeeServiceImpl.java @@ -9,9 +9,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.dromara.property.domain.CostCarCharge; +import org.dromara.property.domain.CostHouseCharge; import org.dromara.property.domain.CostReturnPayFee; import org.dromara.property.domain.bo.CostReturnPayFeeBo; +import org.dromara.property.domain.enums.ChargeStatusEnum; import org.dromara.property.domain.vo.CostReturnPayFeeVo; +import org.dromara.property.mapper.CostCarChargeMapper; +import org.dromara.property.mapper.CostHouseChargeMapper; import org.dromara.property.mapper.CostReturnPayFeeMapper; import org.dromara.property.service.ICostReturnPayFeeService; import org.springframework.stereotype.Service; @@ -32,6 +37,8 @@ import java.util.Collection; public class CostReturnPayFeeServiceImpl implements ICostReturnPayFeeService { private final CostReturnPayFeeMapper baseMapper; + private final CostHouseChargeMapper coinHouseChargeMapper; + private final CostCarChargeMapper costCarChargeMapper; /** * 查询费用-抄类型 @@ -112,7 +119,7 @@ public class CostReturnPayFeeServiceImpl implements ICostReturnPayFeeService { @Override public Boolean updateByBo(CostReturnPayFeeBo bo) { CostReturnPayFee update = MapstructUtils.convert(bo, CostReturnPayFee.class); - validEntityBeforeSave(update); + validEntityBeforeUpdate(update); return baseMapper.updateById(update) > 0; } @@ -122,6 +129,36 @@ public class CostReturnPayFeeServiceImpl implements ICostReturnPayFeeService { private void validEntityBeforeSave(CostReturnPayFee entity){ //TODO 做一些数据校验,如唯一约束 } + /** + * 修改前的数据校验 + */ + private void validEntityBeforeUpdate(CostReturnPayFee entity){ + //TODO 做一些数据校验,如唯一约束 + if(entity.getState().equals("1")){ + if(entity.getChargeType().equals("1")){ + CostHouseCharge costHouseCharge = coinHouseChargeMapper.selectById(entity.getChargeId()); + costHouseCharge.setChargeStatus(ChargeStatusEnum. THE_REFUND_HAS_BEEN_APPROVED.getValue()); + coinHouseChargeMapper.updateById(costHouseCharge); + } + if(entity.getChargeType().equals("2")){ + CostCarCharge costCarCharge = costCarChargeMapper.selectById(entity.getChargeId()); + costCarCharge.setChargeStatus(ChargeStatusEnum.THE_REFUND_HAS_BEEN_APPROVED.getValue()); + costCarChargeMapper.updateById(costCarCharge); + } + } + if(entity.getState().equals("2")){ + if(entity.getChargeType().equals("1")){ + CostHouseCharge costHouseCharge = coinHouseChargeMapper.selectById(entity.getChargeId()); + costHouseCharge.setChargeStatus(ChargeStatusEnum.THE_REFUND_REVIEW_IS_NOT_PASSED.getValue()); + coinHouseChargeMapper.updateById(costHouseCharge); + } + if(entity.getChargeType().equals("2")){ + CostCarCharge costCarCharge = costCarChargeMapper.selectById(entity.getChargeId()); + costCarCharge.setChargeStatus(ChargeStatusEnum.THE_REFUND_REVIEW_IS_NOT_PASSED.getValue()); + costCarChargeMapper.updateById(costCarCharge); + } + } + } /** * 校验并批量删除费用-抄类型信息 diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/InspectionPlanServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/InspectionPlanServiceImpl.java index 34a0f75d..8860f09e 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/InspectionPlanServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/InspectionPlanServiceImpl.java @@ -125,7 +125,6 @@ public class InspectionPlanServiceImpl implements IInspectionPlanService { lqw.eq(StringUtils.isNotBlank(bo.getSignType()), InspectionPlan::getSignType, bo.getSignType()); lqw.eq(StringUtils.isNotBlank(bo.getCanReexamine()), InspectionPlan::getCanReexamine, bo.getCanReexamine()); lqw.like(StringUtils.isNotBlank(bo.getState()), InspectionPlan::getState, bo.getState()); - lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), InspectionPlan::getSearchValue, bo.getSearchValue()); return lqw; } @@ -147,8 +146,9 @@ public class InspectionPlanServiceImpl implements IInspectionPlanService { if (CollectionUtil.isNotEmpty(inspectionPlanStaffBoList)) { for (InspectionPlanStaffBo staffBo : inspectionPlanStaffBoList) { staffBo.setInspectionPlanId(add.getId()); + InspectionPlanStaff convert = MapstructUtils.convert(staffBo, InspectionPlanStaff.class); + inspectionPlanStaffMapper.insert(convert); } - inspectionPlanStaffMapper.insertBatch(BeanUtil.copyToList(inspectionPlanStaffBoList, InspectionPlanStaff.class)); } } return flag;