From 09785139bc4748108a2ab4285f3697117f896d06 Mon Sep 17 00:00:00 2001 From: zhengfangyuan Date: Sun, 1 Jan 2023 19:16:14 +0800 Subject: [PATCH] fix bug --- .../db/migration/V202301200001__contract.sql | 4 +++ .../iformall/schedule/ContractSchedule.java | 30 +++++++++++++++++++ .../domain/po/WxPropertyContract.java | 10 +++++++ .../service/WxPropertyContractService.java | 4 +++ .../impl/WxPropertyContractServiceImpl.java | 9 ++++++ .../mapper/WxPropertyContractMapper.xml | 6 +++- 6 files changed, 62 insertions(+), 1 deletion(-) diff --git a/mallinkAdmin/src/main/resources/db/migration/V202301200001__contract.sql b/mallinkAdmin/src/main/resources/db/migration/V202301200001__contract.sql index ac7dbf3f4..f216a4b74 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V202301200001__contract.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V202301200001__contract.sql @@ -70,5 +70,9 @@ ALTER TABLE wx_msg_validationcode_model DROP COLUMN model_id; ALTER TABLE wx_msg_model DROP COLUMN model_id; +ALTER TABLE `mallink`.`wx_property_contract` +ADD COLUMN `out_date_notify_days` INT(3) NOT NULL DEFAULT 0 COMMENT '到期提醒提前天数' ; +ALTER TABLE `mallink`.`wx_property_contract` +ADD COLUMN `out_date_notify_phone` varchar(30) COMMENT '到期提醒手机号' ; diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java index f7536c141..a788e8269 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java @@ -166,5 +166,35 @@ public class ContractSchedule { } } } + + /** + * 凌晨5分,定时过期提醒物业合同到期 + */ + @Async + @Scheduled(cron = "0 5 0 * * ?") + public void notifyPropertyContractOutDate() { + List wxMalls = wxMallMapper.findList(null); + for (WxMall wxMall : wxMalls) { + //物业合同 + List contractList = wxPropertyContractService.findToOutDateContracts(wxMall); + for (WxPropertyContract rent:contractList) { + try { + WxMsgRecord msgRecord = new WxMsgRecord(); + msgRecord.setMsgType(EnumMsgRecordType.SMS.getCode()); + msgRecord.updateTenantInfo(wxMall); + msgRecord.setReceiver(rent.getOutDateNotifyPhone()); + msgRecord.setModelType(32); + Map dynamicContentMap = new HashMap(); + dynamicContentMap.put("id", String.valueOf(rent.getId())); + dynamicContentMap.put("contractType", "物业"); + dynamicContentMap.put("contract", String.valueOf(rent.getId())); + msgRecord.setDynamicContentMap(dynamicContentMap); + mqBaseProducer.sendMessage(msgRecord, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); + }catch(Exception e) { + log.error("rentcontract outDate error.",e); + } + } + } + } } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java b/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java index c8ce3b00a..c4bc18c7d 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java @@ -196,6 +196,16 @@ public class WxPropertyContract extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "是否有工作流 1:有 0:无", name = "flowHas") @TableField(exist = false) private Integer flowHas; + + @io.swagger.annotations.ApiModelProperty(value = "到期提醒提前天数", name = "outDateNotifyDays") + private Integer outDateNotifyDays; + + @io.swagger.annotations.ApiModelProperty(value = "到期提醒手机号", name = "outDateNotifyPhone") + private String outDateNotifyPhone; + + //查询过期提醒 + @TableField(exist = false) + private Integer outDateNofity; // public Integer getAdjustPeriod() { diff --git a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java index 5d59811e1..98812db7b 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java @@ -9,6 +9,7 @@ import com.iformall.domain.po.WxMall; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxPropertyContract; import com.iformall.domain.po.WxRentContract; +import com.iformall.domain.po.base.TenantEntity; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -99,5 +100,8 @@ public interface WxPropertyContractService { void setEndContractTime(WxPropertyContract proertyContract); List findToEndContractList(WxPropertyContract record); + + //查询还有多少天到期的合同 + List findToOutDateContracts(TenantEntity tenantEntity); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index a7dd0fcb3..951726900 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -11,6 +11,7 @@ import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.po.base.BaseEntity; +import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.BillTimeVo; import com.iformall.enums.*; import com.iformall.exception.MallinkException; @@ -1202,6 +1203,14 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService public List findToEndContractList(WxPropertyContract record) { return wxPropertyContractMapper.findToEndContractList(record); } + + @Override + public List findToOutDateContracts(TenantEntity tenantEntity) { + WxPropertyContract wrc = new WxPropertyContract(); + wrc.setStatus(EnumRentContractStatus.PAING.getCode()); + wrc.setOutDateNofity(1); + return wxPropertyContractMapper.findList(wrc); + } } diff --git a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml index 6f5ab6655..d6aeb8426 100644 --- a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml @@ -50,6 +50,9 @@ + + + @@ -59,7 +62,7 @@ `shop_type`,`updatetime`,`createtime`,`rent_area`,`rent_shop_type`, `link_person`,`link_phone`,`pay_account`,`filename`,`lease`,`rent_contract_id`, `start_date`,`end_date`,`apply_status`,`adjust_period`,`business_type`,adjust_ratio,`rent_info`,fixed_price, - `file_names`,price_unit,rent_price,subject_name,rent_start_type,`operation_type`,late_pay_ratio,late_pay_day,end_contract_time + `file_names`,price_unit,rent_price,subject_name,rent_start_type,`operation_type`,late_pay_ratio,late_pay_day,end_contract_time,out_date_notify_days,out_date_notify_phone @@ -69,6 +72,7 @@ and `price` = #{price} and `rental_start_date` = #{rentalStartDate} and `rental_end_date` = #{rentalEndDate} + and (out_date_notify_phone is not null and out_date_notify_phone != '' and DATE_SUB(rental_end_date, INTERVAL out_date_notify_days DAY) <= NOW()) and `sign_date` = #{signDate} and `receive_period` = #{receivePeriod}