2025-11-12 功能测试优化
This commit is contained in:
515
SQL/202511/20251112/lc_confined_space_operation.sql
Normal file
515
SQL/202511/20251112/lc_confined_space_operation.sql
Normal file
File diff suppressed because one or more lines are too long
521
SQL/202511/20251112/lc_fire_operation.sql
Normal file
521
SQL/202511/20251112/lc_fire_operation.sql
Normal file
File diff suppressed because one or more lines are too long
565
SQL/202511/20251112/lc_high_operation.sql
Normal file
565
SQL/202511/20251112/lc_high_operation.sql
Normal file
File diff suppressed because one or more lines are too long
269
SQL/202511/20251112/lc_item_result.sql
Normal file
269
SQL/202511/20251112/lc_item_result.sql
Normal file
File diff suppressed because one or more lines are too long
455
SQL/202511/20251112/lc_land_operation.sql
Normal file
455
SQL/202511/20251112/lc_land_operation.sql
Normal file
File diff suppressed because one or more lines are too long
477
SQL/202511/20251112/lc_lifting_operation.sql
Normal file
477
SQL/202511/20251112/lc_lifting_operation.sql
Normal file
File diff suppressed because one or more lines are too long
822
SQL/202511/20251112/lc_outside_person.sql
Normal file
822
SQL/202511/20251112/lc_outside_person.sql
Normal file
File diff suppressed because one or more lines are too long
766
SQL/202511/20251112/lc_risk_hazard_manage.sql
Normal file
766
SQL/202511/20251112/lc_risk_hazard_manage.sql
Normal file
File diff suppressed because one or more lines are too long
443
SQL/202511/20251112/lc_risk_identify_assessment.sql
Normal file
443
SQL/202511/20251112/lc_risk_identify_assessment.sql
Normal file
File diff suppressed because one or more lines are too long
466
SQL/202511/20251112/lc_temporary_power_operation.sql
Normal file
466
SQL/202511/20251112/lc_temporary_power_operation.sql
Normal file
File diff suppressed because one or more lines are too long
441
SQL/202511/20251112/lc_work_item.sql
Normal file
441
SQL/202511/20251112/lc_work_item.sql
Normal file
File diff suppressed because one or more lines are too long
@@ -230,8 +230,13 @@ public class FrameWorkAdapter implements IJeeLowCodeAdapter {
|
|||||||
}else if (Func.equals(type, "out")) {//外协单位
|
}else if (Func.equals(type, "out")) {//外协单位
|
||||||
// 外协单位:IS_INTERNAL=0
|
// 外协单位:IS_INTERNAL=0
|
||||||
// 当选择为外协单位时 条件为不等于1
|
// 当选择为外协单位时 条件为不等于1
|
||||||
// 当没有选择 外协单位时 条件为不等于-1
|
// 当没有选择 外协单位 或者 内部 时 条件为不等于-1
|
||||||
outCondition=1;
|
outCondition=1;
|
||||||
|
}else if (Func.equals(type, "internal")) {//内部单位
|
||||||
|
// 内部单位:IS_INTERNAL=1
|
||||||
|
// 当选择为内部单位时 条件为不等于0
|
||||||
|
// 当没有选择 外协单位 或者 内部 时 条件为不等于-1
|
||||||
|
outCondition=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Long> finalDeptIdList = deptIdList;
|
List<Long> finalDeptIdList = deptIdList;
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ public class ItemIssusController extends BaseController {
|
|||||||
detail = new ArrayList<HashMap<String, Object>>();
|
detail = new ArrayList<HashMap<String, Object>>();
|
||||||
}
|
}
|
||||||
for (JeeLowCodeUser dbuser : userPage.getRecords()) {
|
for (JeeLowCodeUser dbuser : userPage.getRecords()) {
|
||||||
HashMap<String, Object> user = CollectionUtil.isEmpty(detail) ? null : detail.stream().filter(t -> t.containsKey("userId") && t.get("userId").toString().equals(dbuser.getUserId())).findFirst().orElse(null);
|
HashMap<String, Object> user = CollectionUtil.isEmpty(detail) ? null : detail.stream().filter(t -> t.containsKey("chargeId") && t.get("chargeId").toString().equals(dbuser.getUserId())).findFirst().orElse(null);
|
||||||
if (Objects.isNull(user)) {
|
if (Objects.isNull(user)) {
|
||||||
HashMap<String, Object> newUser = new HashMap<>();
|
HashMap<String, Object> newUser = new HashMap<>();
|
||||||
newUser.put("chargeId", dbuser.getUserId());
|
newUser.put("chargeId", dbuser.getUserId());
|
||||||
@@ -101,12 +101,11 @@ public class ItemIssusController extends BaseController {
|
|||||||
newRecord.put("deptId", dbuser.getDeptId());
|
newRecord.put("deptId", dbuser.getDeptId());
|
||||||
|
|
||||||
newRecord.put("eDate", examPlan.get("edate"));
|
newRecord.put("eDate", examPlan.get("edate"));
|
||||||
newRecord.put("resultStatus", 1);
|
newRecord.put("resultStatus", 2);
|
||||||
newRecord.put("sDate", examPlan.get("sdate"));
|
newRecord.put("sDate", examPlan.get("sdate"));
|
||||||
newRecord.put("itemName", examPlan.get("itemname"));
|
newRecord.put("itemName", examPlan.get("itemname"));
|
||||||
newRecord.put("itemContext", examPlan.get("itemcontext"));
|
newRecord.put("itemContext", examPlan.get("itemcontext"));
|
||||||
newRecord.put("workItemId", examPlan.get("id"));
|
newRecord.put("workItemId", examPlan.get("id"));
|
||||||
newRecord.put("examRecordStatus", 1);
|
|
||||||
|
|
||||||
newRecord.put("billNo", "SXJG" + System.currentTimeMillis());
|
newRecord.put("billNo", "SXJG" + System.currentTimeMillis());
|
||||||
tasks.add(JSONUtil.parseObj(newRecord));
|
tasks.add(JSONUtil.parseObj(newRecord));
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package com.jeelowcode.module.biz.service;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送代办消息信息
|
||||||
|
* 用于判断 单据推送代办消息的场景是否推送消息成功
|
||||||
|
* 如果推送消息成功,这个单据的这个场景不再推送消息
|
||||||
|
*
|
||||||
|
* @author lify
|
||||||
|
*/
|
||||||
|
public interface ITodoRequestService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断是否存在 id 场景下 代办消息是否推送成功
|
||||||
|
*
|
||||||
|
* @param id 流程id
|
||||||
|
* @return boolean 推送结果
|
||||||
|
*/
|
||||||
|
boolean isExistTodoRequest(long billId, String todoType);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增代办消息详情
|
||||||
|
* @param dbformId
|
||||||
|
* @param newRecord
|
||||||
|
*/
|
||||||
|
void addTodoRequest(HashMap<String, Object> newRecord);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -4,10 +4,12 @@ import cn.hutool.core.codec.Base64;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.map.MapUtil;
|
import cn.hutool.core.map.MapUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.jeelowcode.framework.plus.core.toolkit.StringUtils;
|
import com.jeelowcode.framework.plus.core.toolkit.StringUtils;
|
||||||
import com.jeelowcode.framework.utils.tool.spring.SpringUtils;
|
import com.jeelowcode.framework.utils.tool.spring.SpringUtils;
|
||||||
import com.jeelowcode.module.biz.service.IPortalTodoService;
|
import com.jeelowcode.module.biz.service.IPortalTodoService;
|
||||||
import com.jeelowcode.module.biz.service.IRiskService;
|
import com.jeelowcode.module.biz.service.IRiskService;
|
||||||
|
import com.jeelowcode.module.biz.service.ITodoRequestService;
|
||||||
import com.jeelowcode.service.bpm.config.framework.portal.core.PortalRequest;
|
import com.jeelowcode.service.bpm.config.framework.portal.core.PortalRequest;
|
||||||
import com.jeelowcode.service.bpm.config.framework.portal.core.dto.DeleteRequestInfoDTO;
|
import com.jeelowcode.service.bpm.config.framework.portal.core.dto.DeleteRequestInfoDTO;
|
||||||
import com.jeelowcode.service.bpm.config.framework.portal.core.dto.ReceiveRequestInfoDTO;
|
import com.jeelowcode.service.bpm.config.framework.portal.core.dto.ReceiveRequestInfoDTO;
|
||||||
@@ -43,6 +45,7 @@ public class PortalTodoServiceImpl implements IPortalTodoService {
|
|||||||
private static final String WORK_STATUS_COMPLETE = "4";
|
private static final String WORK_STATUS_COMPLETE = "4";
|
||||||
private static final String VIEW_TYPE_UNREAD = "0";
|
private static final String VIEW_TYPE_UNREAD = "0";
|
||||||
private static final String VIEW_TYPE_READ = "1";
|
private static final String VIEW_TYPE_READ = "1";
|
||||||
|
private static final String Bill_Table_Name = "lc_risk_hazard_manage";
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IRiskService riskService;
|
private IRiskService riskService;
|
||||||
@@ -52,6 +55,9 @@ public class PortalTodoServiceImpl implements IPortalTodoService {
|
|||||||
@Resource
|
@Resource
|
||||||
private IDictDataService dictDataService;
|
private IDictDataService dictDataService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ITodoRequestService todoRequestService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean pushDoneRiskHazardWorkflow(Long id, String todoType) {
|
public boolean pushDoneRiskHazardWorkflow(Long id, String todoType) {
|
||||||
// 0.1.查找风险隐患数据,如果查不到则放弃推送
|
// 0.1.查找风险隐患数据,如果查不到则放弃推送
|
||||||
@@ -61,6 +67,13 @@ public class PortalTodoServiceImpl implements IPortalTodoService {
|
|||||||
PortalRequest portalRequest = SpringUtils.getBean(PortalRequest.class);
|
PortalRequest portalRequest = SpringUtils.getBean(PortalRequest.class);
|
||||||
if (!Objects.requireNonNull(portalRequest).available()) return false;
|
if (!Objects.requireNonNull(portalRequest).available()) return false;
|
||||||
|
|
||||||
|
// 0.3.判断是否存在 场景下发送的消息,已经发送过消息的不重复发送
|
||||||
|
boolean isExist = todoRequestService.isExistTodoRequest(id, todoType);
|
||||||
|
if(isExist)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// 1.构建请求参数,准备推送待办信息
|
// 1.构建请求参数,准备推送待办信息
|
||||||
String creator = "";
|
String creator = "";
|
||||||
String receiver = "";
|
String receiver = "";
|
||||||
@@ -159,14 +172,26 @@ public class PortalTodoServiceImpl implements IPortalTodoService {
|
|||||||
ReceiveRequestInfoDTO completeRequestDTO = BeanUtils.toBean(todoRequestDTO, ReceiveRequestInfoDTO.class);
|
ReceiveRequestInfoDTO completeRequestDTO = BeanUtils.toBean(todoRequestDTO, ReceiveRequestInfoDTO.class);
|
||||||
completeRequestDTO.setIsRemark(WORK_STATUS_COMPLETE);
|
completeRequestDTO.setIsRemark(WORK_STATUS_COMPLETE);
|
||||||
|
|
||||||
|
// 1.3.构建发送消息详情
|
||||||
|
HashMap<String, Object> newRecord = new HashMap<>();
|
||||||
|
newRecord.put("bill_id", id);
|
||||||
|
newRecord.put("bill_table_name", Bill_Table_Name);
|
||||||
|
newRecord.put("bill_action", todoType);
|
||||||
|
newRecord.put("todo_request", JSONUtil.toJsonStr(todoRequestDTO));
|
||||||
|
|
||||||
// 2.推送待办信息,使用try-catch避免影响上层调用方法的事务回滚
|
// 2.推送待办信息,使用try-catch避免影响上层调用方法的事务回滚
|
||||||
try {
|
try {
|
||||||
|
|
||||||
portalRequest.receiveRequestInfo(todoRequestDTO);
|
portalRequest.receiveRequestInfo(todoRequestDTO);
|
||||||
|
newRecord.put("is_success", 1);
|
||||||
|
todoRequestService.addTodoRequest(newRecord);
|
||||||
if (todoType.equals("CONFIRM_DONE")) {
|
if (todoType.equals("CONFIRM_DONE")) {
|
||||||
portalRequest.receiveRequestInfo(completeRequestDTO);
|
portalRequest.receiveRequestInfo(completeRequestDTO);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("推送待办信息失败", e);
|
log.error("推送待办信息失败", e);
|
||||||
|
newRecord.put("is_success", 0);
|
||||||
|
todoRequestService.addTodoRequest(newRecord);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -0,0 +1,57 @@
|
|||||||
|
|
||||||
|
package com.jeelowcode.module.biz.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.jeelowcode.core.framework.controller.BaseController;
|
||||||
|
import com.jeelowcode.core.framework.mapper.JeeLowCodeSqlMapper;
|
||||||
|
import com.jeelowcode.core.framework.service.IFormService;
|
||||||
|
import com.jeelowcode.core.framework.service.IFrameSqlService;
|
||||||
|
import com.jeelowcode.framework.global.JeeLowCodeBaseConstant;
|
||||||
|
import com.jeelowcode.framework.plus.SqlHelper;
|
||||||
|
import com.jeelowcode.framework.plus.build.buildmodel.wrapper.SqlInfoQueryWrapper;
|
||||||
|
import com.jeelowcode.framework.plus.core.model.SqlFormatModel;
|
||||||
|
import com.jeelowcode.framework.utils.model.ResultDataModel;
|
||||||
|
import com.jeelowcode.module.biz.service.IPlanIssusService;
|
||||||
|
import com.jeelowcode.module.biz.service.ITodoRequestService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* demo
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class TodoRequestServiceImpl extends BaseController implements ITodoRequestService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IFrameSqlService sqlService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IFormService dbFormService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isExistTodoRequest(long billId, String todoType) {
|
||||||
|
SqlInfoQueryWrapper.Wrapper wrapper = SqlHelper.getQueryWrapper();
|
||||||
|
wrapper.setTableName("lc_todo_request_info");
|
||||||
|
wrapper.setWhere(where->{
|
||||||
|
where.eq("bill_id",billId);
|
||||||
|
where.eq("bill_action",todoType);
|
||||||
|
where.eq("is_success",1);
|
||||||
|
});
|
||||||
|
Map<String, Object> dataMap = sqlService.getDataOneByPlus(wrapper);
|
||||||
|
return !dataMap.isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addTodoRequest(HashMap<String, Object> newRecord) {
|
||||||
|
String tableName="lc_todo_request_info";
|
||||||
|
Long formId = dbFormService.getDbFormIdByTableName(tableName);
|
||||||
|
super.addJsonData(formId, JSONUtil.parseObj(newRecord));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,12 +5,14 @@ import cn.hutool.core.codec.Base64;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.map.MapUtil;
|
import cn.hutool.core.map.MapUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.jeelowcode.core.framework.service.IFrameSqlService;
|
import com.jeelowcode.core.framework.service.IFrameSqlService;
|
||||||
import com.jeelowcode.framework.plus.SqlHelper;
|
import com.jeelowcode.framework.plus.SqlHelper;
|
||||||
import com.jeelowcode.framework.plus.build.buildmodel.wrapper.SqlInfoQueryWrapper;
|
import com.jeelowcode.framework.plus.build.buildmodel.wrapper.SqlInfoQueryWrapper;
|
||||||
import com.jeelowcode.framework.plus.core.toolkit.StringUtils;
|
import com.jeelowcode.framework.plus.core.toolkit.StringUtils;
|
||||||
import com.jeelowcode.framework.utils.tool.spring.SpringUtils;
|
import com.jeelowcode.framework.utils.tool.spring.SpringUtils;
|
||||||
import com.jeelowcode.module.biz.service.IExamPlanService;
|
import com.jeelowcode.module.biz.service.IExamPlanService;
|
||||||
|
import com.jeelowcode.module.biz.service.ITodoRequestService;
|
||||||
import com.jeelowcode.module.biz.service.IWorkItemService;
|
import com.jeelowcode.module.biz.service.IWorkItemService;
|
||||||
import com.jeelowcode.service.bpm.config.framework.portal.core.PortalRequest;
|
import com.jeelowcode.service.bpm.config.framework.portal.core.PortalRequest;
|
||||||
import com.jeelowcode.service.bpm.config.framework.portal.core.dto.DeleteRequestInfoDTO;
|
import com.jeelowcode.service.bpm.config.framework.portal.core.dto.DeleteRequestInfoDTO;
|
||||||
@@ -38,12 +40,13 @@ public class WorkItemServiceImpl implements IWorkItemService {
|
|||||||
private static final String WORK_NODE_NAME = "下发工作事项";
|
private static final String WORK_NODE_NAME = "下发工作事项";
|
||||||
private static final String WORK_FLOW_NAME = "工作事项信息";
|
private static final String WORK_FLOW_NAME = "工作事项信息";
|
||||||
// TODO 待办跳转链接,这个以后需要优化,通过配置去取这个链接,不能写死在这里
|
// TODO 待办跳转链接,这个以后需要优化,通过配置去取这个链接,不能写死在这里
|
||||||
private static final String RISK_PC_URL = "/fx/table/view/1983351353033953281";
|
private static final String RISK_PC_URL = "/gzxt/table/view/1983351353033953281";
|
||||||
private static final String WORK_STATUS_TODO = "0";
|
private static final String WORK_STATUS_TODO = "0";
|
||||||
private static final String WORK_STATUS_DONE = "2";
|
private static final String WORK_STATUS_DONE = "2";
|
||||||
private static final String WORK_STATUS_COMPLETE = "4";
|
private static final String WORK_STATUS_COMPLETE = "4";
|
||||||
private static final String VIEW_TYPE_UNREAD = "0";
|
private static final String VIEW_TYPE_UNREAD = "0";
|
||||||
private static final String VIEW_TYPE_READ = "1";
|
private static final String VIEW_TYPE_READ = "1";
|
||||||
|
private static final String Bill_Table_Name = "lc_item_result";
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IFrameSqlService sqlService;
|
private IFrameSqlService sqlService;
|
||||||
@@ -51,6 +54,9 @@ public class WorkItemServiceImpl implements IWorkItemService {
|
|||||||
@Resource
|
@Resource
|
||||||
private IApiAdminUserApi apiAdminUserApi;
|
private IApiAdminUserApi apiAdminUserApi;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ITodoRequestService todoRequestService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> getWorkItemById(long id) {
|
public Map<String, Object> getWorkItemById(long id) {
|
||||||
SqlInfoQueryWrapper.Wrapper wrapper = SqlHelper.getQueryWrapper();
|
SqlInfoQueryWrapper.Wrapper wrapper = SqlHelper.getQueryWrapper();
|
||||||
@@ -96,6 +102,13 @@ public class WorkItemServiceImpl implements IWorkItemService {
|
|||||||
PortalRequest portalRequest = SpringUtils.getBean(PortalRequest.class);
|
PortalRequest portalRequest = SpringUtils.getBean(PortalRequest.class);
|
||||||
if (ObjectUtil.isNull(portalRequest)) return false;
|
if (ObjectUtil.isNull(portalRequest)) return false;
|
||||||
|
|
||||||
|
// 0.3.判断是否存在 场景下发送的消息,已经发送过消息的不重复发送
|
||||||
|
boolean isExist = todoRequestService.isExistTodoRequest(itemResultId, todoType);
|
||||||
|
if(isExist)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// 1.构建请求参数,准备推送待办信息
|
// 1.构建请求参数,准备推送待办信息
|
||||||
String creator="";
|
String creator="";
|
||||||
String receiver="";
|
String receiver="";
|
||||||
@@ -161,15 +174,26 @@ public class WorkItemServiceImpl implements IWorkItemService {
|
|||||||
ReceiveRequestInfoDTO completeRequestDTO = BeanUtils.toBean(todoRequestDTO, ReceiveRequestInfoDTO.class);
|
ReceiveRequestInfoDTO completeRequestDTO = BeanUtils.toBean(todoRequestDTO, ReceiveRequestInfoDTO.class);
|
||||||
completeRequestDTO.setIsRemark(WORK_STATUS_COMPLETE);
|
completeRequestDTO.setIsRemark(WORK_STATUS_COMPLETE);
|
||||||
|
|
||||||
|
// 1.3.构建发送消息详情
|
||||||
|
HashMap<String, Object> newRecord = new HashMap<>();
|
||||||
|
newRecord.put("bill_id", itemResultId);
|
||||||
|
newRecord.put("bill_table_name", Bill_Table_Name);
|
||||||
|
newRecord.put("bill_action", todoType);
|
||||||
|
newRecord.put("todo_request", JSONUtil.toJsonStr(todoRequestDTO));
|
||||||
|
|
||||||
// 2.推送待办信息,使用try-catch避免影响上层调用方法的事务回滚
|
// 2.推送待办信息,使用try-catch避免影响上层调用方法的事务回滚
|
||||||
try {
|
try {
|
||||||
portalRequest.receiveRequestInfo(todoRequestDTO);
|
portalRequest.receiveRequestInfo(todoRequestDTO);
|
||||||
|
newRecord.put("is_success", 1);
|
||||||
|
todoRequestService.addTodoRequest(newRecord);
|
||||||
if(todoType.equals("WORK_ITEM_DONE"))
|
if(todoType.equals("WORK_ITEM_DONE"))
|
||||||
{
|
{
|
||||||
portalRequest.receiveRequestInfo(completeRequestDTO);
|
portalRequest.receiveRequestInfo(completeRequestDTO);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("推送待办信息失败", e);
|
log.error("推送待办信息失败", e);
|
||||||
|
newRecord.put("is_success", 0);
|
||||||
|
todoRequestService.addTodoRequest(newRecord);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user