From 533c9a4e44b06c90df7434a38e0da26e10cdac46 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期四, 12 三月 2026 17:24:40 +0800
Subject: [PATCH] 质押还款提醒文案调整

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java |   85 +++++++++++++++++++++++++-----------------
 1 files changed, 50 insertions(+), 35 deletions(-)

diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java
index 4b94471..3ee1044 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java
@@ -2,6 +2,7 @@
 
 import com.fzzy.igds.constant.Constant;
 import com.fzzy.igds.data.BaseResp;
+import com.fzzy.igds.data.PledgeReminders;
 import com.fzzy.igds.domain.Depot;
 import com.fzzy.igds.domain.FoodPrice;
 import com.fzzy.igds.domain.PledgeContract;
@@ -15,7 +16,9 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
+
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -25,7 +28,6 @@
  * @Date 2026/1/23 9:14
  */
 @Slf4j
-
 @Service
 public class JobWarnService {
 
@@ -38,96 +40,109 @@
     @Resource
     private BizWorkService workService;
 
+
     /**
      * 姣忓ぉ涓ょ偣鎵ц锛氳繕娆炬彁閱�
      */
-//    @Scheduled(cron = "0 0 2 * * ?")
-    @Scheduled(cron = "0 7 19 * * ?")
+    @Scheduled(cron = "0 0 2 * * ?")
     public void timer() {
-        doExe();
+        doExe(null);
     }
 
     /**
      * 寮�濮嬭川鎶煎悎鍚屾牳绠�
      */
-    public void doExe() {
-
-        List<PledgeContract> contractList = contractService.getContractByPledge(new Date());
-        if(null == contractList || contractList.isEmpty()){
+    public void doExe(String bankId) {
+        List<PledgeContract> contractList = contractService.getContractByPledge(new Date(), bankId);
+        if (null == contractList || contractList.isEmpty()) {
             log.error("-----褰撳墠娌℃湁鏈夋晥鏈熺殑璐ㄦ娂鍚堝悓锛屼笉鎵ц鎻愰啋鏍哥畻-----");
             return;
         }
-
         Depot depot;
         FoodPrice foodPrice;
         WorkOrderConf conf;
+
         double sumMoney = 0.0;
         double per = 0.0;
         double backMoney = 0.0;
         for (PledgeContract pledgeContract : contractList) {
-            log.info("-----寮�濮嬪鐞嗚川鎶煎悎鍚岋細{}-----", pledgeContract.getContractName());
+            log.info("-----寮�濮嬪鐞嗚川鎶煎悎鍚岋細{}-----", pledgeContract.getName());
+            List<PledgeReminders> remindersList = new ArrayList<>();
+
 
             //璁$畻寰呰繕娆鹃噾棰�
             backMoney = pledgeContract.getContractAmount() - pledgeContract.getRepaidAmount();
-            if(backMoney <= 0.0){
+            if (backMoney <= 0.0) {
                 //鑻ュ緟杩橀噾棰濅负0锛屽垯涓嶇粺璁℃鍚堝悓
-                log.error("-----褰撳墠鍚堝悓={}娌℃湁寰呰繕閲戦涓簕}锛屼笉鎵ц鎻愰啋鏍哥畻-----", pledgeContract.getContractName(), backMoney);
+                log.error("-----褰撳墠鍚堝悓={}娌℃湁寰呰繕閲戦涓簕}锛屼笉鎵ц鎻愰啋鏍哥畻-----", pledgeContract.getName(), backMoney);
                 continue;
             }
 
-            if(StringUtils.isBlank(pledgeContract.getPledgeBank())){
+            if (StringUtils.isBlank(pledgeContract.getPledgeBank())) {
                 //鑻ヨ川鎶奸摱琛屾湭绌猴紝鍒欒烦杩囧綋鍓嶅悎鍚�
-                log.error("-----褰撳墠鍚堝悓={}娌℃湁璁剧疆璐ㄦ娂閾惰锛屼笉鎵ц鎻愰啋鏍哥畻-----", pledgeContract.getContractName());
+                log.error("-----褰撳墠鍚堝悓={}娌℃湁璁剧疆璐ㄦ娂閾惰锛屼笉鎵ц鎻愰啋鏍哥畻-----", pledgeContract.getName());
                 continue;
             }
 
-            if(StringUtils.isBlank(pledgeContract.getDepotIds())){
+            if (StringUtils.isBlank(pledgeContract.getDepotIds())) {
                 //鑻ヨ川鎶间粨搴撲负绌猴紝鍒欒烦杩囧綋鍓嶅悎鍚�
-                log.error("-----褰撳墠鍚堝悓={}娌℃湁璁剧疆璐ㄦ娂浠撳簱锛屼笉鎵ц鎻愰啋鏍哥畻-----", pledgeContract.getContractName());
+                log.error("-----褰撳墠鍚堝悓={}娌℃湁璁剧疆璐ㄦ娂浠撳簱锛屼笉鎵ц鎻愰啋鏍哥畻-----", pledgeContract.getName());
                 continue;
             }
 
             String[] depotIds = pledgeContract.getDepotIds().split(",");
-            if(depotIds.length < 1){
+            if (depotIds.length < 1) {
                 //鑻ヨ川鎶间粨搴撲负绌猴紝鍒欒烦杩囧綋鍓嶅悎鍚�
-                log.error("-----褰撳墠鍚堝悓={}娌℃湁璁剧疆璐ㄦ娂浠撳簱锛屼笉鎵ц鎻愰啋鏍哥畻-----", pledgeContract.getContractName());
+                log.error("-----褰撳墠鍚堝悓={}娌℃湁璁剧疆璐ㄦ娂浠撳簱锛屼笉鎵ц鎻愰啋鏍哥畻-----", pledgeContract.getName());
                 continue;
             }
             sumMoney = 0.0;
             for (String depotId : depotIds) {
                 //鏌ヨ浠撳簱淇℃伅
                 depot = depotService.getCacheDepot(pledgeContract.getCompanyId(), depotId);
-                if(null == depot){
-                    log.error("-----褰撳墠鍚堝悓={}涓嬩粨搴�={}涓嶅瓨鍦紝涓嶇粺璁℃浠撳簱-----", pledgeContract.getContractName(), depotId);
+                if (null == depot) {
+                    log.error("-----褰撳墠鍚堝悓={}涓嬩粨搴�={}涓嶅瓨鍦紝涓嶇粺璁℃浠撳簱-----", pledgeContract.getName(), depotId);
                     continue;
                 }
-                if(null == depot.getStorageReal()){
+                if (null == depot.getStorageReal()) {
                     depot.setStorageReal(0.0);
                 }
 
                 foodPrice = foodPriceService.getDataByBankAndFood(pledgeContract.getPledgeBank(), depot.getFoodVariety());
-                if(null == foodPrice || null == foodPrice.getPrice()){
-                    log.error("-----褰撳墠鍚堝悓={}涓嬩粨搴�={}瀵瑰簲鐨勫搧绉�={}鏈厤缃环鏍硷紝涓嶇粺璁℃浠撳簱-----", pledgeContract.getContractName(),depot.getName(), depot.getFoodVariety());
+                if (null == foodPrice || null == foodPrice.getPrice()) {
+                    log.error("-----褰撳墠鍚堝悓={}涓嬩粨搴�={}瀵瑰簲鐨勫搧绉�={}鏈厤缃环鏍硷紝涓嶇粺璁℃浠撳簱-----", pledgeContract.getName(), depot.getName(), depot.getFoodVariety());
                     continue;
                 }
 
                 sumMoney += depot.getStorageReal() * foodPrice.getPrice();
+                PledgeReminders reminders = new PledgeReminders();
+                reminders.setDepotId(depot.getId());
+                reminders.setDepotName(depot.getName());
+                reminders.setFoodVariety(depot.getFoodVariety());
+                reminders.setFoodVarietyName(depot.getFoodVarietyName());
+                reminders.setFoodPrice(foodPrice.getPrice());
+                reminders.setStorageReal(depot.getStorageReal());
+                remindersList.add(reminders);
+                log.info("-----褰撳墠鍚堝悓={}涓嬩粨搴�={}锛氬搴旂殑瀹為檯鍌ㄩ噺={}锛屽搴旂伯椋熷崟浠�={}-----", pledgeContract.getName(), depot.getName(), depot.getStorageReal(), foodPrice.getPrice());
             }
 
-            per = sumMoney/backMoney;
+            per = sumMoney / backMoney;
 
-            if(per <= 1.2){
-                //鎵ц娴佺▼
-                conf = workService.getConfByDeptId(pledgeContract.getPledgeDept(), WorkBizType.TYPE_50);
-                //娴佺▼涓嶅惎鐢�
-                if (null == conf || Constant.YN_N.equals(conf.getValTag())) {
-                    log.error("-----褰撳墠鍚堝悓={}璐ㄦ娂搴撳尯={}鏈厤缃繕娆炬彁閱掑鎵规祦绋嬶紝鏃犳硶鐢熸垚宸ュ崟鎻愰啋-----", pledgeContract.getContractName(),pledgeContract.getPledgeDept());
-                    continue;
-                }
-
-                BaseResp resp = workService.startByBackMoney(pledgeContract, conf);
-                log.info("---------褰撳墠鍚堝悓={}鍚姩杩樻鎻愰啋宸ュ崟娴佺▼------{}",pledgeContract.getContractName(), resp);
+            if (per < 1.1) {
+                log.error("-----褰撳墠鍚堝悓={}涓嬭川鎶间粨搴�={}搴撳瓨鏈埌寰呰繕娆剧殑110%锛宻umMoney={}锛宐ackMoney={}锛屼笉鐢熸垚杩樻鎻愰啋宸ュ崟-----", pledgeContract.getName(), pledgeContract.getDepotNames(), sumMoney, backMoney);
+                continue;
             }
+
+            //鎵ц娴佺▼
+            conf = workService.getConfByDeptId(pledgeContract.getPledgeDept(), WorkBizType.TYPE_50);
+            //娴佺▼涓嶅惎鐢�
+            if (null == conf || Constant.YN_N.equals(conf.getValTag())) {
+                log.error("-----褰撳墠鍚堝悓={}璐ㄦ娂搴撳尯={}鏈厤缃繕娆炬彁閱掑鎵规祦绋嬶紝鏃犳硶鐢熸垚宸ュ崟鎻愰啋-----", pledgeContract.getName(), pledgeContract.getPledgeDept());
+                continue;
+            }
+
+            BaseResp resp = workService.startByBackMoney(pledgeContract, conf,remindersList);
+            log.info("---------褰撳墠鍚堝悓={}鍚姩杩樻鎻愰啋宸ュ崟娴佺▼------{}", pledgeContract.getName(), resp);
         }
     }
 

--
Gitblit v1.9.3