Browse Source

#消息推送

zhongwei
yang_shj 3 months ago
parent
commit
7880d6ac9a
  1. 59
      hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/accessTicket/service/impl/AccessTicketServiceImpl.java

59
hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/accessTicket/service/impl/AccessTicketServiceImpl.java

@ -36,8 +36,12 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.*; import org.springblade.core.tool.utils.*;
import org.springblade.flow.core.entity.BladeFlow; import org.springblade.flow.core.entity.BladeFlow;
import org.springblade.flow.core.feign.IFlowClient; import org.springblade.flow.core.feign.IFlowClient;
import org.springblade.message.MessageConstants;
import org.springblade.message.dto.BusinessMessageDTO;
import org.springblade.message.fegin.IMessageClient;
import org.springblade.system.cache.DictCache; import org.springblade.system.cache.DictCache;
import org.springblade.system.entity.Dict; import org.springblade.system.entity.Dict;
import org.springblade.system.feign.ISysClient;
import org.springblade.system.user.entity.User; import org.springblade.system.user.entity.User;
import org.springblade.system.user.feign.IUserClient; import org.springblade.system.user.feign.IUserClient;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@ -56,6 +60,7 @@ import java.util.*;
@RequiredArgsConstructor @RequiredArgsConstructor
public class AccessTicketServiceImpl extends ServiceImpl<AccessTicketMapper, AccessTicketEntity> implements AccessTicketService { public class AccessTicketServiceImpl extends ServiceImpl<AccessTicketMapper, AccessTicketEntity> implements AccessTicketService {
private final ISysClient sysClient;
private final IUserClient userClient; private final IUserClient userClient;
@ -63,6 +68,8 @@ public class AccessTicketServiceImpl extends ServiceImpl<AccessTicketMapper, Acc
private final IEmInfoClient deviceClient; private final IEmInfoClient deviceClient;
private final IMessageClient messageClient;
@Value("${hzims.ticket.accessTicket.save.pdf}") @Value("${hzims.ticket.accessTicket.save.pdf}")
private String savePdfPath; private String savePdfPath;
@ -167,11 +174,44 @@ public class AccessTicketServiceImpl extends ServiceImpl<AccessTicketMapper, Acc
} }
} }
// 消息推送
String countent = "您有一条检修报单流程待处理!单据名称:".concat(DateUtil.format(entity.getCreateTime(),DateUtil.PATTERN_DATETIME) + "_" + entity.getDeviceName() + "_检修工作票")
.concat(",当前环节:")
.concat(processWorkFlowResponse.getTaskName());;
this.sendMessage(entity,processWorkFlowResponse.getUserId(),countent);
return this.updateById(entity); return this.updateById(entity);
} }
/** /**
* 推送业务流程消息
* @param entity
* @param userId
* @param content
*/
private void sendMessage(AccessTicketEntity entity, String userId, String content) {
BusinessMessageDTO message = new BusinessMessageDTO();
// 计划Id
message.setTaskId(entity.getId());
message.setBusinessClassify(MessageConstants.BusinessClassifyEnum.BUSINESS.getKey());
message.setBusinessKey("access_ticket");
// 主题
message.setSubject("检修工作票");
message.setDeptId(entity.getCreateDept());
R<String> result = sysClient.getDeptName(entity.getCreateDept());
if (result.isSuccess()) {
message.setDeptName(result.getData());
}
// 内容
message.setContent(content);
message.setTenantId(entity.getTenantId());
User admin = userClient.userByAccount(entity.getTenantId(), "admin").getData();
message.setCreateUser(admin.getId());
message.setUserIds(userId);
messageClient.sendAppAndWsMsgByUsers(message);
}
/**
* 保存检修工作票 * 保存检修工作票
* @param param * @param param
*/ */
@ -207,26 +247,9 @@ public class AccessTicketServiceImpl extends ServiceImpl<AccessTicketMapper, Acc
* @param entity * @param entity
*/ */
private boolean start(AccessTicketEntity entity) { private boolean start(AccessTicketEntity entity) {
/* 并行人员设置
// 项目负责人
User header = queryRoleUser("200000", Long.valueOf(AuthUtil.getDeptId()), "accessTicketHead");
variables.put("charge","taskUser_" + header.getId());
// 许可人
User licensor = queryRoleUser("200000", Long.valueOf(AuthUtil.getDeptId()), "accessTicketLicensor");
variables.put("licensor","taskUser_" + licensor.getId());
// 外部单位负责人
User external = queryRoleUser("200000", Long.valueOf(AuthUtil.getDeptId()), "external");
variables.put("external","taskUser_" + external.getId());
// 设备负责人
User manage = queryRoleUser("200000", Long.valueOf(AuthUtil.getDeptId()), "deviceManage");
variables.put("manage","taskUser_" + manage.getId());
variables.put("persons", Arrays.asList("taskUser_" + header.getId(),"taskUser_" + licensor.getId(),"taskUser_" + external.getId(),"taskUser_" + manage.getId()));
*/
Map<String, Object> variables = JSONObject.parseObject(JSONObject.toJSONStringWithDateFormat(entity,DateUtil.PATTERN_DATETIME), Map.class); Map<String, Object> variables = JSONObject.parseObject(JSONObject.toJSONStringWithDateFormat(entity,DateUtil.PATTERN_DATETIME), Map.class);
R<BladeFlow> result = flowClient.startProcessInstanceContainNameByKey(AccessTicketConstants.ACCESS_TICKET_PROCESS_KEY, R<BladeFlow> result = flowClient.startProcessInstanceContainNameByKey(AccessTicketConstants.ACCESS_TICKET_PROCESS_KEY,
StringUtil.format("{}:{}",AccessTicketConstants.ACCESS_TICKET_TABLE, entity.getId()), DateUtil.format(new Date(),DateUtil.PATTERN_DATETIME) +"_" + entity.getDeviceName() + "_检修工作票", variables); StringUtil.format("{}:{}",AccessTicketConstants.ACCESS_TICKET_TABLE, entity.getId()), entity.getCreateTime() +"_" + entity.getDeviceName() + "_检修工作票", variables);
log.info("access_ticket : start_process_result _ {}",result); log.info("access_ticket : start_process_result _ {}",result);
// 更新任务流程Id // 更新任务流程Id
if (!result.isSuccess() || 200 != result.getCode()) { if (!result.isSuccess() || 200 != result.getCode()) {

Loading…
Cancel
Save