From 583bd56b50e88535417da5fb7663993a69aff378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=B8=85?= Date: Tue, 1 Jul 2025 16:09:10 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PropertyManagementApplication.java | 2 + .../business/WxAccountController.java | 9 ++ .../business/WxCommunityController.java | 3 + .../api/ApiWxCommunityController.java | 1 + .../api/ApiWxFamilyMemberController.java | 3 +- .../business/domain/WxComment.java | 7 + .../business/domain/WxFamilyMember.java | 4 + .../business/domain/WxLiveBill.java | 8 ++ .../business/domain/WxPayRecord.java | 8 ++ .../business/domain/WxProprietorLedger.java | 8 ++ .../business/domain/bo/WxCommentBo.java | 6 + .../business/domain/bo/WxFamilyMemberBo.java | 5 + .../business/domain/bo/WxLiveBillBo.java | 15 ++ .../business/domain/bo/WxPayRecordBo.java | 10 ++ .../domain/bo/WxProprietorLedgerBo.java | 11 ++ .../business/domain/vo/LoginWxUser.java | 3 + .../business/domain/vo/WxCommentVo.java | 7 + .../business/domain/vo/WxFamilyMemberVo.java | 7 + .../business/domain/vo/WxLiveBillVo.java | 10 ++ .../business/domain/vo/WxPayRecordVo.java | 12 ++ .../domain/vo/WxProprietorLedgerVo.java | 14 +- .../business/scheduled/RecordWarnTask.java | 70 ++++++++++ .../service/impl/WxCarportServiceImpl.java | 1 + .../service/impl/WxCommentServiceImpl.java | 1 + .../impl/WxFamilyMemberServiceImpl.java | 3 + .../service/impl/WxPayRecordServiceImpl.java | 12 +- .../impl/WxProprietorLedgerServiceImpl.java | 1 + .../src/main/resources/application-dev.yml | 2 +- .../src/api/business/account.js | 9 ++ .../src/assets/styles/ruoyi.scss | 7 + .../src/views/business/carport/index.vue | 2 +- .../src/views/business/comment/index.vue | 19 ++- .../src/views/business/familyMember/index.vue | 71 +++++++--- .../src/views/business/liveBill/index.vue | 131 +++++++++++------- .../views/business/proprietorLedger/index.vue | 77 +++++++--- .../src/views/business/repairs/index.vue | 126 ++++------------- .../src/views/system/user/index.vue | 40 +++--- 37 files changed, 513 insertions(+), 212 deletions(-) create mode 100644 propertyManagement-business/src/main/java/com/propertyManagement/business/scheduled/RecordWarnTask.java diff --git a/propertyManagement-admin/src/main/java/com/propertyManagement/PropertyManagementApplication.java b/propertyManagement-admin/src/main/java/com/propertyManagement/PropertyManagementApplication.java index 6c4f936..a6dc97e 100644 --- a/propertyManagement-admin/src/main/java/com/propertyManagement/PropertyManagementApplication.java +++ b/propertyManagement-admin/src/main/java/com/propertyManagement/PropertyManagementApplication.java @@ -3,6 +3,7 @@ package com.propertyManagement; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup; +import org.springframework.scheduling.annotation.EnableScheduling; /** * 启动程序 @@ -10,6 +11,7 @@ import org.springframework.boot.context.metrics.buffering.BufferingApplicationSt * @author propertymanagement */ +@EnableScheduling @SpringBootApplication public class PropertyManagementApplication { diff --git a/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/WxAccountController.java b/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/WxAccountController.java index c33a53f..71b1d3b 100644 --- a/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/WxAccountController.java +++ b/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/WxAccountController.java @@ -52,6 +52,15 @@ public class WxAccountController extends BaseController { return iWxAccountService.queryPageList(bo, pageQuery); } + /** + * 查询员工账号列表 + */ + @SaCheckPermission("business:account:list") + @GetMapping("/listAll") + public R> listAll(WxAccountBo bo) { + return R.ok(iWxAccountService.queryList(bo)); + } + /** * 导出员工账号列表 */ diff --git a/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/WxCommunityController.java b/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/WxCommunityController.java index 019e41f..fc0e9c7 100644 --- a/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/WxCommunityController.java +++ b/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/WxCommunityController.java @@ -56,6 +56,9 @@ public class WxCommunityController extends BaseController { */ @GetMapping("/listAll") public R> listAll(WxCommunityBo bo) { + if (!LoginHelper.isAdmin()) { + bo.setCommunityId(LoginHelper.getLoginUser().getCommunityId()); + } return R.ok(iWxCommunityService.queryList(bo)); } diff --git a/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxCommunityController.java b/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxCommunityController.java index e0a5f7d..79112cc 100644 --- a/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxCommunityController.java +++ b/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxCommunityController.java @@ -102,6 +102,7 @@ public class ApiWxCommunityController extends BaseController { wxUser.setName(proprietorLedger.getName()); wxUser.setIdentityCard(proprietorLedger.getIdentityCard()); wxUser.setSqm(proprietorLedger.getSqm()); + wxUser.setDayMoney(proprietorLedger.getDayMoney()); wxUser.setMonthMoney(proprietorLedger.getMonthMoney()); /** * 查询车位信息 diff --git a/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxFamilyMemberController.java b/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxFamilyMemberController.java index 13cd72f..ed8cea3 100644 --- a/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxFamilyMemberController.java +++ b/propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxFamilyMemberController.java @@ -37,10 +37,11 @@ public class ApiWxFamilyMemberController extends BaseController { * 根据户主查询家庭成员列表 */ @GetMapping("/listAllByUserId") - public R> listAllByUserId() { + public R> listAllByUserId(Integer type) { LoginWxUser wxUser = AuthUtil.getWxUser(); WxFamilyMemberBo familyMemberBo = new WxFamilyMemberBo(); familyMemberBo.setProprietorId(wxUser.getProprietorId()); + familyMemberBo.setType(type); List memberVoList = iWxFamilyMemberService.queryList(familyMemberBo); return R.ok(memberVoList); } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxComment.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxComment.java index c1df904..dfa921d 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxComment.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxComment.java @@ -2,6 +2,8 @@ package com.propertyManagement.business.domain; import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.*; +import com.propertyManagement.common.annotation.ExcelDictFormat; +import com.propertyManagement.common.convert.ExcelDictConvert; import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; @@ -83,4 +85,9 @@ public class WxComment extends BaseEntity { */ private Date closeTime; + /** + * 是否匿名(0否 1是) + */ + private Integer isAnon; + } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxFamilyMember.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxFamilyMember.java index 1ad6eb4..117f149 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxFamilyMember.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxFamilyMember.java @@ -72,5 +72,9 @@ public class WxFamilyMember extends BaseEntity { * 状态 */ private Integer state; + /** + * 类型(1家人 2租客) + */ + private Integer type; } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxLiveBill.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxLiveBill.java index 93cae99..717b386 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxLiveBill.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxLiveBill.java @@ -90,6 +90,14 @@ public class WxLiveBill extends BaseEntity { * 缴费月份 */ private Date month; + /** + * 开始日期 + */ + private Date startTime; + /** + * 结束日期 + */ + private Date endTime; /** * 单价 */ diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxPayRecord.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxPayRecord.java index dd2fd10..535cdbf 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxPayRecord.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxPayRecord.java @@ -100,5 +100,13 @@ public class WxPayRecord extends BaseEntity { * 平台支付流水号 */ private String outTradeNo; + /** + * 缴费开始日期 + */ + private Date startTime; + /** + * 缴费结束日期 + */ + private Date endTime; } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxProprietorLedger.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxProprietorLedger.java index ea55bde..a0f872d 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxProprietorLedger.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/WxProprietorLedger.java @@ -63,6 +63,10 @@ public class WxProprietorLedger extends BaseEntity { * 面积单价(元) */ private BigDecimal sqmPrice; + /** + * 物业天费 + */ + private BigDecimal dayMoney; /** * 物业月费 */ @@ -119,5 +123,9 @@ public class WxProprietorLedger extends BaseEntity { * 备注 */ private String remark; + /** + * 是否预警(0否 1是) + */ + private Integer isWarn; } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxCommentBo.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxCommentBo.java index 9d9b0f1..05582c4 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxCommentBo.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxCommentBo.java @@ -95,5 +95,11 @@ public class WxCommentBo extends BaseEntity { */ private Date closeTime; + /** + * 是否匿名(0否 1是) + */ + @NotNull(message = "是否匿名不能为空", groups = { AddGroup.class, EditGroup.class }) + private Integer isAnon; + } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxFamilyMemberBo.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxFamilyMemberBo.java index 821926e..a930fbd 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxFamilyMemberBo.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxFamilyMemberBo.java @@ -81,5 +81,10 @@ public class WxFamilyMemberBo extends BaseEntity { */ private Integer state; + /** + * 类型(1家人 2租客) + */ + private Integer type; + } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxLiveBillBo.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxLiveBillBo.java index 3a65a31..4c6c369 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxLiveBillBo.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxLiveBillBo.java @@ -1,5 +1,8 @@ package com.propertyManagement.business.domain.bo; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.format.DateTimeFormat; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.fasterxml.jackson.annotation.JsonFormat; import com.propertyManagement.common.core.domain.BaseEntity; import lombok.Data; @@ -101,6 +104,18 @@ public class WxLiveBillBo extends BaseEntity { @JsonFormat(pattern = "yyyy-MM") private Date month; + /** + * 开始日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date startTime; + + /** + * 结束日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date endTime; + /** * 单价 */ diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxPayRecordBo.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxPayRecordBo.java index 8617577..14b677d 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxPayRecordBo.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxPayRecordBo.java @@ -147,4 +147,14 @@ public class WxPayRecordBo extends BaseEntity { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createEndTime; + /** + * 缴费开始日期 + */ + private Date startTime; + + /** + * 缴费结束日期 + */ + private Date endTime; + } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxProprietorLedgerBo.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxProprietorLedgerBo.java index 3f89122..7d4b584 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxProprietorLedgerBo.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/bo/WxProprietorLedgerBo.java @@ -80,6 +80,12 @@ public class WxProprietorLedgerBo extends BaseEntity { @NotNull(message = "面积单价(元)不能为空", groups = { AddGroup.class, EditGroup.class }) private BigDecimal sqmPrice; + /** + * 物业天费 + */ + @NotNull(message = "物业天费(元)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal dayMoney; + /** * 物业月费 */ @@ -161,5 +167,10 @@ public class WxProprietorLedgerBo extends BaseEntity { */ private String remark; + /** + * 是否预警(0否 1是) + */ + private Integer isWarn; + } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/LoginWxUser.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/LoginWxUser.java index a38449f..6425851 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/LoginWxUser.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/LoginWxUser.java @@ -53,6 +53,9 @@ public class LoginWxUser implements Serializable { /** 房间面积 */ private BigDecimal sqm; + /** 物业天费 */ + private BigDecimal dayMoney; + /** 物业月费 */ private BigDecimal monthMoney; diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxCommentVo.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxCommentVo.java index a52a84e..a070c5a 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxCommentVo.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxCommentVo.java @@ -96,6 +96,13 @@ public class WxCommentVo implements Serializable { @ExcelProperty(value = "关闭时间") private Date closeTime; + /** + * 是否匿名(0否 1是) + */ + @ExcelProperty(value = "是否匿名", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_is_enable") + private Integer isAnon; + /** * 创建时间 */ diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxFamilyMemberVo.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxFamilyMemberVo.java index 316d9f5..9ac7779 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxFamilyMemberVo.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxFamilyMemberVo.java @@ -90,5 +90,12 @@ public class WxFamilyMemberVo implements Serializable { @ExcelDictFormat(dictType = "wx_family_member_state") private Integer state; + /** + * 类型(1家人 2租客) + */ + @ExcelProperty(value = "类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "wx_family_member_type") + private Integer type; + } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxLiveBillVo.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxLiveBillVo.java index 1e5e9c6..24a388a 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxLiveBillVo.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxLiveBillVo.java @@ -112,6 +112,16 @@ public class WxLiveBillVo implements Serializable { @ColumnWidth(18) private Date month; + /** + * 开始日期 + */ + private Date startTime; + + /** + * 结束日期 + */ + private Date endTime; + /** * 单价 */ diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxPayRecordVo.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxPayRecordVo.java index 26dad4c..19739c4 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxPayRecordVo.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxPayRecordVo.java @@ -3,6 +3,7 @@ package com.propertyManagement.business.domain.vo; import java.math.BigDecimal; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.format.DateTimeFormat; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; @@ -132,5 +133,16 @@ public class WxPayRecordVo implements Serializable { */ private Date updateTime; + /** + * 缴费开始日期 + */ + private Date startTime; + + /** + * 缴费结束日期 + */ + private Date endTime; + + } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxProprietorLedgerVo.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxProprietorLedgerVo.java index fe333f1..d656803 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxProprietorLedgerVo.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/domain/vo/WxProprietorLedgerVo.java @@ -58,7 +58,6 @@ public class WxProprietorLedgerVo implements Serializable { /** * 房间户型 */ - @ExcelProperty(value = "房间户型") private String houseType; /** @@ -79,6 +78,12 @@ public class WxProprietorLedgerVo implements Serializable { @ExcelProperty(value = "物业费用面积单价(元)") private BigDecimal sqmPrice; + /** + * 物业天费 + */ + @ExcelProperty(value = "物业天费") + private BigDecimal dayMoney; + /** * 物业月费 */ @@ -106,8 +111,6 @@ public class WxProprietorLedgerVo implements Serializable { /** * 户籍地 */ - @ExcelProperty(value = "户籍地") - @ColumnWidth(20) private String registerAddress; /** @@ -163,5 +166,10 @@ public class WxProprietorLedgerVo implements Serializable { @ExcelProperty(value = "备注") private String remark; + /** + * 是否预警(0否 1是) + */ + private Integer isWarn; + } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/scheduled/RecordWarnTask.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/scheduled/RecordWarnTask.java new file mode 100644 index 0000000..db2951c --- /dev/null +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/scheduled/RecordWarnTask.java @@ -0,0 +1,70 @@ +package com.propertyManagement.business.scheduled; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.propertyManagement.business.domain.WxPayRecord; +import com.propertyManagement.business.domain.WxProprietorLedger; +import com.propertyManagement.business.mapper.WxPayRecordMapper; +import com.propertyManagement.business.mapper.WxProprietorLedgerMapper; +import com.propertyManagement.common.core.domain.BaseEntity; +import com.propertyManagement.common.enums.IsEnableType; +import com.propertyManagement.common.enums.LiveBillType; +import com.propertyManagement.common.enums.PayState; +import com.propertyManagement.common.utils.spring.SpringUtils; +import org.jetbrains.annotations.NotNull; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.time.LocalDate; +import java.time.LocalTime; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +@Component +public class RecordWarnTask { + + private final WxPayRecordMapper wxPayRecordMapper; + private final WxProprietorLedgerMapper wxProprietorLedgerMapper; + + public RecordWarnTask() { + this.wxProprietorLedgerMapper = SpringUtils.getBean(WxProprietorLedgerMapper.class); + this.wxPayRecordMapper = SpringUtils.getBean(WxPayRecordMapper.class); + } + + /** + * cron:自定义规则 + * 每天凌晨一点执行 + * 功能:检查即将在一个月内到期的支付记录 + */ + @Scheduled(cron = "0 59 23 * * ?") +// @Scheduled(cron = "0/30 * * * * ?") + private void checkExpiringPayments() { + Date currentDate = new Date(); + + List proprietorLedgerList = wxProprietorLedgerMapper.selectList(); + for (WxProprietorLedger ledger : proprietorLedgerList) { + WxPayRecord payRecord = wxPayRecordMapper.selectOne(new LambdaQueryWrapper() + .eq(WxPayRecord::getProprietorId, ledger.getProprietorId()) + .eq(WxPayRecord::getOrderType, LiveBillType.property.getCode()) + .eq(WxPayRecord::getPayState, PayState.YES.getCode()) + .orderByDesc(WxPayRecord::getCreateTime) + .last("limit 1") + ); + if (null != payRecord && null != payRecord.getEndTime()) { + // 3.2 使用Hutool计算日期差 + long daysRemaining = DateUtil.betweenDay( + DateUtil.date(payRecord.getEndTime()), // 转换为Hutool DateTime + currentDate, + false + ); + // 未过期记录:检查是否在一个月内到期 + if (daysRemaining >= 0 && daysRemaining <= 30) { + ledger.setIsWarn(IsEnableType.YES.getCode()); + wxProprietorLedgerMapper.updateById(ledger); + } + } + } + } +} diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxCarportServiceImpl.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxCarportServiceImpl.java index 0b04b14..d293b06 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxCarportServiceImpl.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxCarportServiceImpl.java @@ -78,6 +78,7 @@ public class WxCarportServiceImpl implements IWxCarportService { lqw.eq(StringUtils.isNotBlank(bo.getCarportPhone()), WxCarport::getCarportPhone, bo.getCarportPhone()); lqw.eq(StringUtils.isNotBlank(bo.getCarportNumber()), WxCarport::getCarportNumber, bo.getCarportNumber()); lqw.eq(bo.getType() != null, WxCarport::getType, bo.getType()); + lqw.orderByDesc(WxCarport::getCreateTime); return lqw; } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxCommentServiceImpl.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxCommentServiceImpl.java index 51384f3..1e51d0a 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxCommentServiceImpl.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxCommentServiceImpl.java @@ -103,6 +103,7 @@ public class WxCommentServiceImpl implements IWxCommentService { lqw.like(StringUtils.isNotBlank(bo.getDisposeUserName()), WxComment::getDisposeUserName, bo.getDisposeUserName()); lqw.eq(bo.getCompleteTime() != null, WxComment::getCompleteTime, bo.getCompleteTime()); lqw.eq(bo.getCloseTime() != null, WxComment::getCloseTime, bo.getCloseTime()); + lqw.eq(bo.getIsAnon() != null, WxComment::getIsAnon, bo.getIsAnon()); lqw.orderByDesc(WxComment::getCreateTime); return lqw; } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxFamilyMemberServiceImpl.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxFamilyMemberServiceImpl.java index 8b53d4a..a7ed062 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxFamilyMemberServiceImpl.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxFamilyMemberServiceImpl.java @@ -14,6 +14,7 @@ import com.propertyManagement.business.mapper.WxProprietorLedgerMapper; import com.propertyManagement.business.mapper.WxUserCommunityLedgerMapper; import com.propertyManagement.business.service.IWxFamilyMemberService; import com.propertyManagement.business.support.util.AuthUtil; +import com.propertyManagement.common.core.domain.BaseEntity; import com.propertyManagement.common.core.domain.PageQuery; import com.propertyManagement.common.core.page.TableDataInfo; import com.propertyManagement.common.utils.StringUtils; @@ -78,6 +79,8 @@ public class WxFamilyMemberServiceImpl implements IWxFamilyMemberService { lqw.eq(StringUtils.isNotBlank(bo.getPhone()), WxFamilyMember::getPhone, bo.getPhone()); lqw.eq(bo.getRelation() != null, WxFamilyMember::getRelation, bo.getRelation()); lqw.eq(bo.getState() != null, WxFamilyMember::getState, bo.getState()); + lqw.eq(bo.getType() != null, WxFamilyMember::getType, bo.getType()); + lqw.orderByDesc(BaseEntity::getCreateTime); return lqw; } diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxPayRecordServiceImpl.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxPayRecordServiceImpl.java index 3ac7aba..bd1c6f0 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxPayRecordServiceImpl.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxPayRecordServiceImpl.java @@ -100,6 +100,8 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService { Long orderId = null; BigDecimal payAmount = BigDecimal.ZERO; Integer orderType = null; + Date startTime = null; + Date endTime = null; switch (payBiz) { case PRESTORE: WxLiveBill wxLiveBill = liveBillMapper.selectById(reqModel.getOrderId()); @@ -115,6 +117,8 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService { orderId = wxLiveBill.getBillId(); payAmount = wxLiveBill.getMoney(); orderType = wxLiveBill.getType(); + startTime = wxLiveBill.getStartTime(); + endTime = wxLiveBill.getEndTime(); break; case MAINTAIN: WxRepairs wxRepairs = repairsMapper.selectById(reqModel.getOrderId()); @@ -134,7 +138,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService { default: throw new RuntimeException("支付失败,类型错误"); } - WxPayRecord record = createPayRecord(orderId, payAmount, orderType); + WxPayRecord record = createPayRecord(orderId, payAmount, orderType, startTime, endTime); IPayment payment = CmsUnipayProvider.getPayment(orderId, "WX", "1717814777", "LILONG", reqModel.getPayBizCode()); PayModel payModel = getPayModel(record); return payment.pay(payModel); @@ -203,7 +207,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService { } } - private WxPayRecord createPayRecord(Long orderId, BigDecimal payAmount, Integer orderType) { + private WxPayRecord createPayRecord(Long orderId, BigDecimal payAmount, Integer orderType, Date startTime, Date endTime) { LoginWxUser wxUser = AuthUtil.getWxUser(); WxPayRecord record = new WxPayRecord(); record.setOrderId(orderId); @@ -217,6 +221,10 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService { record.setCommunityId(wxUser.getCommunityId()); record.setCommunityName(wxUser.getCommunityName()); record.setOrderType(orderType); + if (null != startTime && null != endTime) { + record.setStartTime(startTime); + record.setEndTime(endTime); + } /** * 生成外部订单号 */ diff --git a/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxProprietorLedgerServiceImpl.java b/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxProprietorLedgerServiceImpl.java index 9d5ef05..a815c72 100644 --- a/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxProprietorLedgerServiceImpl.java +++ b/propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxProprietorLedgerServiceImpl.java @@ -72,6 +72,7 @@ public class WxProprietorLedgerServiceImpl implements IWxProprietorLedgerService private LambdaQueryWrapper buildQueryWrapper(WxProprietorLedgerBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getIsWarn() != null, WxProprietorLedger::getIsWarn, bo.getIsWarn()); lqw.eq(bo.getUserId() != null, WxProprietorLedger::getUserId, bo.getUserId()); lqw.eq(bo.getCommunityId() != null, WxProprietorLedger::getCommunityId, bo.getCommunityId()); lqw.like(StringUtils.isNotBlank(bo.getCommunityName()), WxProprietorLedger::getCommunityName, bo.getCommunityName()); diff --git a/propertyManagement-extend/propertyManagement-xxl-job-admin/src/main/resources/application-dev.yml b/propertyManagement-extend/propertyManagement-xxl-job-admin/src/main/resources/application-dev.yml index cf076cd..c8fb62b 100644 --- a/propertyManagement-extend/propertyManagement-xxl-job-admin/src/main/resources/application-dev.yml +++ b/propertyManagement-extend/propertyManagement-xxl-job-admin/src/main/resources/application-dev.yml @@ -6,7 +6,7 @@ spring.boot.admin.client: url: http://localhost:9090/admin instance: service-host-type: IP - username: propertymanagement + username: admin password: 123456 --- # 数据库配置 diff --git a/propertyManagement-ui/src/api/business/account.js b/propertyManagement-ui/src/api/business/account.js index 96b102d..c484632 100644 --- a/propertyManagement-ui/src/api/business/account.js +++ b/propertyManagement-ui/src/api/business/account.js @@ -9,6 +9,15 @@ export function listAccount(query) { }) } +// 查询员工账号列表 +export function listAccountAll(query) { + return request({ + url: '/business/account/listAll', + method: 'get', + params: query + }) +} + // 查询员工账号详细 export function getAccount(accountId) { return request({ diff --git a/propertyManagement-ui/src/assets/styles/ruoyi.scss b/propertyManagement-ui/src/assets/styles/ruoyi.scss index 4e29874..6cfa487 100644 --- a/propertyManagement-ui/src/assets/styles/ruoyi.scss +++ b/propertyManagement-ui/src/assets/styles/ruoyi.scss @@ -104,6 +104,13 @@ margin-left: 1px; } } + .el-table__body-wrapper::-webkit-scrollbar { + height: 20px; /* 加粗滚动条(默认是 6px) */ + } + .el-table__body-wrapper::-webkit-scrollbar-thumb { + background: #c1c1c1; /* 滚动条颜色 */ + border-radius: 5px; /* 圆角 */ + } } /** 表单布局 **/ diff --git a/propertyManagement-ui/src/views/business/carport/index.vue b/propertyManagement-ui/src/views/business/carport/index.vue index dc934af..76fb0af 100644 --- a/propertyManagement-ui/src/views/business/carport/index.vue +++ b/propertyManagement-ui/src/views/business/carport/index.vue @@ -395,7 +395,7 @@ export default { // 设置上传的请求头部 headers: { Authorization: "Bearer " + getToken() }, // 上传的地址 - url: process.env.VUE_APP_BASE_API + "business/carport/importData" + url: process.env.VUE_APP_BASE_API + "/business/carport/importData" }, // 表单参数 form: {}, diff --git a/propertyManagement-ui/src/views/business/comment/index.vue b/propertyManagement-ui/src/views/business/comment/index.vue index 6728bb1..d9b2df8 100644 --- a/propertyManagement-ui/src/views/business/comment/index.vue +++ b/propertyManagement-ui/src/views/business/comment/index.vue @@ -26,6 +26,16 @@ /> + + + + + @@ -108,6 +118,11 @@ + + + - - - + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + - - + + + @@ -318,6 +337,7 @@ export default { communityList: [], proprietorLedgerList: [], carportList: [], + date: [], // 弹出层标题 title: "", // 是否显示弹出层 @@ -442,6 +462,8 @@ export default { sqm: undefined, plateNumber: undefined, month: undefined, + startTime: undefined, + endTime: undefined, price: undefined, money: undefined, type: undefined, @@ -452,6 +474,7 @@ export default { updateBy: undefined, updateTime: undefined }; + this.date = [] this.resetForm("form"); }, /** 搜索按钮操作 */ @@ -493,6 +516,9 @@ export default { this.typeChange(response.data.type) this.loading = false; this.form = response.data; + if (this.form.startTime != null && this.form.endTime != null) { + this.date = [this.form.startTime, this.form.endTime] + } this.open = true; this.title = "修改生活缴费账单"; }); @@ -501,6 +527,13 @@ export default { submitForm() { this.$refs["form"].validate(valid => { if (valid) { + if (this.date.length > 1) { + this.form.startTime = this.date[0] + this.form.endTime = this.date[1] + }else { + this.$modal.msgError('缴费日期不能为空') + return + } this.buttonLoading = true; if (this.form.billId != null) { updateLiveBill(this.form).then(response => { diff --git a/propertyManagement-ui/src/views/business/proprietorLedger/index.vue b/propertyManagement-ui/src/views/business/proprietorLedger/index.vue index 45283b2..cdb5962 100644 --- a/propertyManagement-ui/src/views/business/proprietorLedger/index.vue +++ b/propertyManagement-ui/src/views/business/proprietorLedger/index.vue @@ -22,10 +22,10 @@ @keyup.enter.native="handleQuery" /> - + @@ -46,13 +46,23 @@ @keyup.enter.native="handleQuery" /> - - + + + + + + + + + + + + 搜索 @@ -116,15 +126,16 @@ - + - + + @@ -140,6 +151,11 @@ + + +