From 18f876d637cf1e9b0b264a4586e4a676a21f8166 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 13 十一月 2026 10:30:46 +0800
Subject: [PATCH] 代码提交
---
ruoyi-phone/src/main/java/com/ruoyi/phone/service/impl/PhoneServiceImpl.java | 63 +++++++++++++++++++++++++++----
1 files changed, 55 insertions(+), 8 deletions(-)
diff --git a/ruoyi-phone/src/main/java/com/ruoyi/phone/service/impl/PhoneServiceImpl.java b/ruoyi-phone/src/main/java/com/ruoyi/phone/service/impl/PhoneServiceImpl.java
index 4e52de5..a09ba77 100644
--- a/ruoyi-phone/src/main/java/com/ruoyi/phone/service/impl/PhoneServiceImpl.java
+++ b/ruoyi-phone/src/main/java/com/ruoyi/phone/service/impl/PhoneServiceImpl.java
@@ -329,6 +329,8 @@
ServiceSubtask ss = new ServiceSubtask();
ss.setId(serviceSubtask.getId());
ss.setSendstate(6L);
+ //鐢佃瘽宸茬瓟瀹岋紙瀹屾垚锛夛細鐘舵�佷笌瀹屾垚鏃堕棿涓�璧峰啓锛岄伩鍏�"宸插畬鎴愬嵈鏃犲畬鎴愭椂闂�"
+ ss.setFinishtime(new Date());
taskSubtaskApi.updateSubtask(ss);
String date = simpleDateFormat1.format(new Date());
log.error("娌℃湁涓嬩竴棰樹簡锛屽氨缁撴潫浜�: {},uuid涓猴細{}", date, phoneCallBackVO.getUuid());
@@ -374,6 +376,8 @@
ServiceSubtask ss = new ServiceSubtask();
ss.setId(serviceSubtask.getId());
ss.setSendstate(6L);
+ //鐢佃瘽宸茬瓟瀹岋紙瀹屾垚锛夛細鐘舵�佷笌瀹屾垚鏃堕棿涓�璧峰啓锛岄伩鍏�"宸插畬鎴愬嵈鏃犲畬鎴愭椂闂�"
+ ss.setFinishtime(new Date());
taskSubtaskApi.updateSubtask(ss);
String date = simpleDateFormat1.format(new Date());
@@ -607,12 +611,21 @@
//鍘籸edis涓紝鎶婅瀛愪换鍔D鍒犻櫎
Long id = serviceSubtask.getId();
//鍏堟洿鏂颁竴涓嬪垎鏁�
+ //鈿狅笍 闈欓粯鎸傛満 = 鐢佃瘽娌℃帴閫� / 鎮h�呬竴鐩存病搴旂瓟锛屽睘浜�"鏈��"锛屼笉鏄�"瀹屾垚"锛�
+ // 鈶� 涓嶅啓 finishtime 鈥斺�� 杩欐潯鍗曞瓙鎺ヤ笅鏉ヨ浜ょ粰琛ュ伩浠诲姟锛坰etFailPreachForm 缃� 5 鎴� 3锛�
+ // 鍐嶇敱 compensateTask 鎹炶捣鏉ョ户缁彂涓嬩竴绉嶆柟寮� / 鍒よ秴鏃讹級锛涗竴鏃﹀啓浜嗗畬鎴愭椂闂达紝
+ // 鍚庨潰琚疆鎴�"瓒呮椂(7)"鏃跺氨浼氱暀涓�"瓒呮椂鍗存湁瀹屾垚鏃堕棿"鐨勮剰鏁版嵁锛�
+ // 鍙婃椂鐜囥�佸畬鎴愮巼锛圫erviceSubtaskMapper#selectTimelyRateBatch 璁� finishtime 闈炵┖锛変篃浼氳铏氶珮锛�
+ // 鈶� 涓嶆暣琛屽洖鍐� serviceSubtask 鈥斺�� 閭d細鎶婁笂闈㈠垰鍐欑殑 sendstate=5锛堢數璇濋潤榛橈級瑕嗙洊鍥炴煡搴撴椂鐨勬棫鍊硷紝
+ // 鎵�浠ヨ繖閲屽彧鍥炲啓 id + 鍒嗘暟 + 鏇存柊鏃堕棿锛岀姸鎬佷氦缁欎笅闈㈢殑 setFailPreachForm 鍐冲畾
+ // 锛堟渶鍚庝竴绉嶆柟寮� 鈫� 5 鍙戦�佸け璐ワ紱杩樻湁涓嬩竴绉� 鈫� 3 宸插彂閫侊紝涓よ�呴兘浼氳琛ュ伩浠诲姟鎹炶捣鏉ワ級銆�
double score = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE");
- serviceSubtask.setScore(String.valueOf(score));
- serviceSubtask.setFinishtime(new Date());
- serviceSubtask.setUpdateTime(new Date());
- log.error("鍏堟洿鏂颁竴涓嬪垎鏁�,鐢佃瘽鐨剆erviceSubtask鐨勫�间负锛歿}", serviceSubtask);
- taskSubtaskApi.updateSubtask(serviceSubtask);
+ ServiceSubtask scoreUpdate = new ServiceSubtask();
+ scoreUpdate.setId(id);
+ scoreUpdate.setScore(String.valueOf(score));
+ scoreUpdate.setUpdateTime(new Date());
+ log.error("鍏堟洿鏂颁竴涓嬪垎鏁�,鐢佃瘽鐨剆coreUpdate鐨勫�间负锛歿}", scoreUpdate);
+ taskSubtaskApi.updateSubtask(scoreUpdate);
//璁板綍鐘舵��
setFailPreachForm(serviceSubtask, "3", "闈欓粯娆℃暟杈惧埌" + num + "娆�", "4");
@@ -669,6 +682,8 @@
ss.setId(serviceSubtask.getId());
ss.setSendstate(6L);
ss.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�");
+ //鐢佃瘽宸茬瓟瀹岋紙瀹屾垚锛夛細鐘舵�佷笌瀹屾垚鏃堕棿涓�璧峰啓锛岄伩鍏�"宸插畬鎴愬嵈鏃犲畬鎴愭椂闂�"
+ ss.setFinishtime(new Date());
taskSubtaskApi.updateSubtask(ss);
//璁板綍鐘舵��
setFailPreachForm(serviceSubtask, "3", "鐢佃瘽鎷ㄦ墦宸插畬鎴�", "9");
@@ -854,6 +869,8 @@
ss.setId(serviceSubtask.getId());
ss.setSendstate(6L);
ss.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�");
+ //鐢佃瘽宸茬瓟瀹岋紙瀹屾垚锛夛細鐘舵�佷笌瀹屾垚鏃堕棿涓�璧峰啓锛岄伩鍏�"宸插畬鎴愬嵈鏃犲畬鎴愭椂闂�"
+ ss.setFinishtime(new Date());
taskSubtaskApi.updateSubtask(ss);
//璁板綍鐘舵��
setFailPreachForm(serviceSubtask, "3", "鐢佃瘽鎷ㄦ墦宸插畬鎴�", "9");
@@ -1566,12 +1583,13 @@
serviceSubtask.setCurrentPreachform(preachform);
serviceSubtask.setSendstate(5L);
serviceSubtask.setRemark(remark + ";鎵�鏈夋墽琛屾柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触");
- taskSubtaskApi.updateSubtask(serviceSubtask);
+ //鍙洖鍐欐湰娆¤鏀圭殑鍒楋紙涓嶅啀鏁磋鍥炲啓锛岄伩鍏嶆妸搴撻噷鐨勬棫 finishtime 绛変竴璧峰甫鍥炴潵锛�
+ updateSubtaskState(serviceSubtask, 5L, preachform, serviceSubtask.getRemark(), null);
return true;
} else {
//鍔犲叆鐩墠琛ュ伩閲岀殑 remark
serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + remark : remark);
- taskSubtaskApi.updateSubtask(serviceSubtask);
+ updateSubtaskState(serviceSubtask, null, null, serviceSubtask.getRemark(), null);
}
}
@@ -1581,8 +1599,35 @@
//濡傛灉绛変簬9锛屽垯璇存槑鐢佃瘽姝e父缁撴潫浜�
if (failSendstate.equals("9")) serviceSubtask.setSendstate(6L);
serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime()));
- taskSubtaskApi.updateSubtask(serviceSubtask);
+ updateSubtaskState(serviceSubtask, serviceSubtask.getSendstate(), preachform, null, serviceSubtask.getVisitTime());
return true;
+ }
+
+ /**
+ * 鍙洖鍐欐湰娆$湡姝h鏀圭殑鍒楋紙鏇夸唬"鏁磋鍥炲啓 serviceSubtask"锛夈��
+ * <p>
+ * 涓轰粈涔堝繀椤绘敹绐勶細mapper 鐨� updateServiceSubtask 鏄�<if test="xx != null">鍔ㄦ�� SET锛�
+ * 鏁磋鍥炲啓浼氭妸搴撻噷宸叉湁鐨� finishtime / visit_time / score 绛夋棫鍊煎師鏍峰啀鍐欎竴閬� 鈥斺�� 鏃㈠彲鑳借鐩�
+ * 骞跺彂鍐欏叆锛屼篃鏄�"鐘舵�� 3/5/7 鍗村甫鐫�瀹屾垚鏃堕棿"杩欑被鑴忔暟鎹殑鎼繍宸ャ��
+ * <p>
+ * 瀹屾垚鏃堕棿鍙e緞锛歴endstate=6锛堝畬鎴愶級鏃惰ˉ瀹屾垚鏃堕棿锛�3 宸插彂閫� / 5 鍙戦�佸け璐� / 7 瓒呮椂绛夐潪瀹屾垚鐘舵��
+ * 涓�寰嬩笉鍐欙紝Mapper 渚х殑"瀹屾垚鏃堕棿涓嶅彉閲�"浼氶『鎵嬫妸鏃у�兼竻鎺夈��
+ */
+ private void updateSubtaskState(ServiceSubtask source, Long sendstate, String currentPreachform,
+ String remark, Date visitTime) {
+ if (source == null || source.getId() == null) {
+ return;
+ }
+ ServiceSubtask update = new ServiceSubtask();
+ update.setId(source.getId());
+ update.setSendstate(sendstate);
+ update.setCurrentPreachform(currentPreachform);
+ update.setRemark(remark);
+ update.setVisitTime(visitTime);
+ if (sendstate != null && sendstate == 6L) {
+ update.setFinishtime(source.getFinishtime() != null ? source.getFinishtime() : new Date());
+ }
+ taskSubtaskApi.updateSubtask(update);
}
private Date getNextVisitTime(Long subid, Long taskid, Date visitTime) {
@@ -1893,6 +1938,8 @@
ss.setId(serviceSubtask.getId());
ss.setSendstate(6L);
ss.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�");
+ //鐢佃瘽宸茬瓟瀹岋紙瀹屾垚锛夛細鐘舵�佷笌瀹屾垚鏃堕棿涓�璧峰啓锛岄伩鍏�"宸插畬鎴愬嵈鏃犲畬鎴愭椂闂�"
+ ss.setFinishtime(new Date());
taskSubtaskApi.updateSubtask(ss);
//璁板綍鐘舵��
setFailPreachForm(serviceSubtask, "3", "鐢佃瘽鎷ㄦ墦宸插畬鎴�", "9");
--
Gitblit v1.9.3