Commit 3fb70194 authored by fangxinjiang's avatar fangxinjiang

消息提醒 & 派单批量操作优化 & 消息提醒

parent d8532726
...@@ -2453,7 +2453,11 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -2453,7 +2453,11 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
.eq(TEmployeeInfo::getFileStatus, CommonConstants.ZERO_INT)); .eq(TEmployeeInfo::getFileStatus, CommonConstants.ZERO_INT));
if (Common.isNotNull(tEmployeeInfo)) { if (Common.isNotNull(tEmployeeInfo)) {
TEmployeeInfo tEmployeeInfoCompare = baseMapper.selectById(tEmployeeInfo.getId()); TEmployeeInfo tEmployeeInfoCompare = baseMapper.selectById(tEmployeeInfo.getId());
tEmployeeInfo.setProjectNum(tEmployeeInfo.getProjectNum() + CommonConstants.ONE_INT); if (Common.isNotNull(tEmployeeInfo.getProjectNum())){
tEmployeeInfo.setProjectNum(tEmployeeInfo.getProjectNum() + CommonConstants.ONE_INT);
}else {
tEmployeeInfo.setProjectNum(CommonConstants.ONE_INT);
}
tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[0], tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[0],
tEmployeeInfoCompare.getId(), "", tEmployeeInfoCompare, tEmployeeInfo); tEmployeeInfoCompare.getId(), "", tEmployeeInfoCompare, tEmployeeInfo);
......
...@@ -26,16 +26,47 @@ public class MsgTask { ...@@ -26,16 +26,47 @@ public class MsgTask {
/** /**
* @Author fxj * @Author fxj
* @Description 每29分钟刷新 超时待办提醒 * @Description 每1分钟刷新 超时待办提醒
* @Date 20:01 2023/5/30 * @Date 20:01 2023/5/30
* @Param * @Param
* @return * @return
**/ **/
public void createOderOverTimeMsg() { public void createOderOverTimeMsg() {
log.info("-------------每29分钟刷新 超时待办提醒-定时任务开始------------"); log.info("-------------每1分钟刷新 超时待办提醒-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprMsgProperties.getAppUrl(), daprMsgProperties.getAppId(), HttpDaprUtil.invokeMethodPost(daprMsgProperties.getAppUrl(), daprMsgProperties.getAppId(),
"/msg/inner/updateOverTimeMsg", "", Object.class, "/msg/inner/updateOverTimeMsg", "", Object.class,
SecurityConstants.FROM_IN); SecurityConstants.FROM_IN);
log.info("-------------每29分钟刷新 超时待办提醒定时任务结束------------"); log.info("-------------每1分钟刷新 超时待办提醒定时任务结束------------");
}
/**
* @Author wzb
* @Description 每29分钟刷新 薪资状态变更待支出提醒
* @Date 17:23 2023/7/3
* @Param
* @return
**/
public void statusChangeTimeMsg() {
log.info("-------------每29分钟刷新 薪资状态变更待支出提醒-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprMsgProperties.getAppUrl(), daprMsgProperties.getAppId(),
"/msg/inner/statusChangeTimeMsg", "", Object.class,
SecurityConstants.FROM_IN);
log.info("-------------每29分钟刷新 薪资状态变更待支出提醒定时任务结束------------");
}
/**
* @Author fxj
* @Description 每5分钟刷新 超时待办提醒
* @Date 20:01 2023/5/30
* @Param
* @return
**/
public void cancelHandledMsg() {
log.info("-------------每5分钟刷新 更新待办任务-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprMsgProperties.getAppUrl(), daprMsgProperties.getAppId(),
"/msg/inner/cancelHandledMsg", "", Object.class,
SecurityConstants.FROM_IN);
log.info("-------------每5分钟刷新 更新待办任务-定时任务结束------------");
} }
} }
\ No newline at end of file
...@@ -78,15 +78,44 @@ public class MsgInfoController { ...@@ -78,15 +78,44 @@ public class MsgInfoController {
/** /**
* @Author fxj * @Author fxj
* @Description 每29分钟刷新 超时待办提醒 * @Description 每1分钟刷新 超时待办提醒
* @Date 20:05 2023/5/30 * @Date 20:05 2023/5/30
* @Param * @Param
* @return * @return
**/ **/
@Operation(summary = "每29分钟刷新 超时待办提醒", description = "每29分钟刷新 超时待办提醒") @Operation(summary = "每1分钟刷新 超时待办提醒", description = "每1分钟刷新 超时待办提醒")
@Inner @Inner
@PostMapping("/inner/updateOverTimeMsg") @PostMapping("/inner/updateOverTimeMsg")
public void updateOverTimeMsg() { public void updateOverTimeMsg() {
msgInfoService.updateOverTimeMsg(); msgInfoService.updateOverTimeMsg();
} }
/**
* @Author wzb
* @Description 每29分钟刷新 薪资状态变更待支出提醒
* @Date 14:29 2023/7/3
* @Param
* @return
**/
@Operation(summary = "每29分钟刷新 -薪资状态变更待支出提醒", description = "每29分钟刷新 薪资状态变更待支出提醒")
@Inner
@PostMapping("/inner/statusChangeTimeMsg")
public void statusChangeTimeMsg() {
msgInfoService.statusChangeTimeMsg();
}
/**
* @Author fxj
* @Description 每5秒 处理订单待办提醒
* @Date 15:58 2023/7/17
* @Param
* @return
**/
@Operation(summary = "每5秒 处理订单待办提醒", description = "每5秒 处理订单待办提醒")
@Inner
@PostMapping("/inner/cancelHandledMsg")
public void cancelHandledMsg() {
msgInfoService.cancelHandledMsg();
}
} }
...@@ -45,5 +45,10 @@ public interface MsgInfoMapper extends BaseMapper<MsgInfo> { ...@@ -45,5 +45,10 @@ public interface MsgInfoMapper extends BaseMapper<MsgInfo> {
List<MsgInfo> getMsgByTask(); List<MsgInfo> getMsgByTask();
List<MsgInfo> getMsgByTaskOne();
List<MsgInfo> getMsgInfo(@Param("msgInfo") MsgInfo msgInfo); List<MsgInfo> getMsgInfo(@Param("msgInfo") MsgInfo msgInfo);
int deleteHandledMsg();
} }
...@@ -44,4 +44,9 @@ public interface MsgInfoService extends IService<MsgInfo> { ...@@ -44,4 +44,9 @@ public interface MsgInfoService extends IService<MsgInfo> {
R<Boolean> createMsg(EkpAlertVo vo); R<Boolean> createMsg(EkpAlertVo vo);
void updateOverTimeMsg(); void updateOverTimeMsg();
void statusChangeTimeMsg();
void cancelHandledMsg();
} }
...@@ -38,6 +38,7 @@ import java.util.ArrayList; ...@@ -38,6 +38,7 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* *
...@@ -121,13 +122,9 @@ public class MsgInfoServiceImpl extends ServiceImpl<MsgInfoMapper, MsgInfo> impl ...@@ -121,13 +122,9 @@ public class MsgInfoServiceImpl extends ServiceImpl<MsgInfoMapper, MsgInfo> impl
@Transactional @Transactional
@Override @Override
public void updateOverTimeMsg() { public void updateOverTimeMsg() {
// 1. 删除未读的超时,如果有继续生成 // 获取所有已经产生的数据 后面直接排除
baseMapper.delete(Wrappers.<MsgInfo>query().lambda()
.eq(MsgInfo::getReadStatus,CommonConstants.ZERO_STRING)
.eq(MsgInfo::getAlertType,CommonConstants.ONE_STRING));
List<MsgInfo> temps = baseMapper.selectList(Wrappers.<MsgInfo>query().lambda() List<MsgInfo> temps = baseMapper.selectList(Wrappers.<MsgInfo>query().lambda()
.eq(MsgInfo::getAlertType,CommonConstants.ONE_STRING) .eq(MsgInfo::getAlertType,CommonConstants.ONE_STRING));
.eq(MsgInfo::getReadStatus,CommonConstants.ONE_STRING));
Map<String,MsgInfo> tempMap = new HashMap<>(); Map<String,MsgInfo> tempMap = new HashMap<>();
if (Common.isNotNull(temps)){ if (Common.isNotNull(temps)){
for (MsgInfo msg:temps){ for (MsgInfo msg:temps){
...@@ -150,7 +147,7 @@ public class MsgInfoServiceImpl extends ServiceImpl<MsgInfoMapper, MsgInfo> impl ...@@ -150,7 +147,7 @@ public class MsgInfoServiceImpl extends ServiceImpl<MsgInfoMapper, MsgInfo> impl
saves.add(ms); saves.add(ms);
} }
if (Common.isNotNull(tempMap)){ if (Common.isNotNull(tempMap)){
this.removeByIds(tempMap.values()); this.removeByIds(tempMap.values().stream().map(MsgInfo::getId).collect(Collectors.toList()));
} }
if (Common.isNotNull(saves)){ if (Common.isNotNull(saves)){
this.saveBatch(saves); this.saveBatch(saves);
...@@ -169,4 +166,50 @@ public class MsgInfoServiceImpl extends ServiceImpl<MsgInfoMapper, MsgInfo> impl ...@@ -169,4 +166,50 @@ public class MsgInfoServiceImpl extends ServiceImpl<MsgInfoMapper, MsgInfo> impl
} }
} }
} }
/**
* @Author wzb
* @Description 薪资状态变更待支出提醒
* @Date 14:58 2023/7/3
* @Param
* @return
**/
@Transactional
@Override
public void statusChangeTimeMsg(){
List<MsgInfo> temps = baseMapper.selectList(Wrappers.<MsgInfo>query().lambda()
.eq(MsgInfo::getAlertType,CommonConstants.THREE_STRING));
Map<String,MsgInfo> tempMap = new HashMap<>();
if (Common.isNotNull(temps)){
for (MsgInfo msg:temps){
tempMap.put(msg.getOrderNo(),msg);
}
}
List<MsgInfo> msgInfos = baseMapper.getMsgByTaskOne();
List<MsgInfo> saves = new ArrayList<>();
if (Common.isNotNull(msgInfos)){
//2. 重新生成
MsgInfo temp;
for (MsgInfo ms:msgInfos){
temp = tempMap.get(ms.getOrderNo());
if (Common.isNotNull(temp)){
tempMap.remove(ms.getOrderNo());
continue;
}
ms.setCreateTime(LocalDateTime.now());
ms.setUrl(MesConstants.orderUrl+ms.getOrderId());
saves.add(ms);
}
if (Common.isNotNull(tempMap)){
this.removeByIds(tempMap.values().stream().map(MsgInfo::getId).collect(Collectors.toList()));
}
this.saveBatch(saves);
}
}
@Override
public void cancelHandledMsg() {
baseMapper.deleteHandledMsg();
}
} }
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
'0' as ALERT_TYPE '0' as ALERT_TYPE
FROM FROM
ekp_ea33075576149bb8a4f5 a ekp_ea33075576149bb8a4f5 a
LEFT JOIN sys_org_element p on a.fd_3bf25d6ff39bc6 = p.fd_id LEFT JOIN sys_org_element p on a.fd_3b0aff6781fa86 = p.fd_id
WHERE WHERE
a.fd_id = #{orderId} limit 1 a.fd_id = #{orderId} limit 1
</select> </select>
...@@ -127,6 +127,37 @@ ...@@ -127,6 +127,37 @@
e.fd_fact_node_id = 'N5' e.fd_fact_node_id = 'N5'
AND b1.fd_id IS NOT NULL AND b1.fd_id IS NOT NULL
) x ) x
where x.date1 > date2 where x.date1 > date2 GROUP BY x.ORDER_NO
</select> </select>
<select id="getMsgByTaskOne" resultMap="msgInfoMap">
SELECT
b1.fd_3ac901ba3b9d3e domain_name,
o.fd_no ALERT_USER,
b1.fd_3ac901c5184274 ORDER_NO,
b1.fd_id ORDER_ID,
'3' AS ALERT_TYPE,
b1.fd_3bddc3d6c8a734
FROM
ekp_ea33075576149bb8a4f5 b1
LEFT JOIN sys_org_element o ON o.fd_id = b1.fd_3bf1511f1d618e
WHERE
b1.fd_3bddc3d6c8a734 = '待支出'
AND b1.fd_id IS NOT NULL and o.fd_id is not null
</select>
<delete id="deleteHandledMsg">
DELETE FROM msg_info where ALERT_TYPE ='0' and ORDER_NO not in (
SELECT
b1.fd_3ac901c5184274 ORDER_NO
FROM
lbpm_workitem a
LEFT JOIN lbpm_node e ON e.fd_id = a.fd_node_id
LEFT JOIN lbpm_process p ON p.fd_id = e.fd_process_id
LEFT JOIN ekp_ea33075576149bb8a4f5 b1 ON p.fd_model_id = b1.fd_id
WHERE
e.fd_fact_node_id = 'N5'
AND b1.fd_id IS NOT NULL
)
</delete>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment