Merge branch 'feature/REQ-3345'
This commit is contained in:
commit
80d1606fa4
@ -7,6 +7,7 @@ import cn.axzo.msg.center.api.mq.PresetButtonPressedMessage;
|
|||||||
import cn.axzo.msg.center.api.request.AddMnsChannelRequest;
|
import cn.axzo.msg.center.api.request.AddMnsChannelRequest;
|
||||||
import cn.axzo.msg.center.api.request.MnsSendCodeV2Req;
|
import cn.axzo.msg.center.api.request.MnsSendCodeV2Req;
|
||||||
import cn.axzo.msg.center.api.request.SendMessageRequestDto;
|
import cn.axzo.msg.center.api.request.SendMessageRequestDto;
|
||||||
|
import cn.axzo.msg.center.api.request.UpdateMnsChannelTemplateContentRequest;
|
||||||
import cn.axzo.msg.center.api.request.UpdateMnsTemplateContentRequest;
|
import cn.axzo.msg.center.api.request.UpdateMnsTemplateContentRequest;
|
||||||
import cn.axzo.msg.center.api.request.v3.MessageSendReqV3;
|
import cn.axzo.msg.center.api.request.v3.MessageSendReqV3;
|
||||||
import cn.axzo.msg.center.api.request.v3.SearchMessageReqV3;
|
import cn.axzo.msg.center.api.request.v3.SearchMessageReqV3;
|
||||||
@ -15,7 +16,9 @@ import cn.axzo.msg.center.api.request.v3.SearchTodoLogReq;
|
|||||||
import cn.axzo.msg.center.api.request.v3.SetImSendPriorityRequest;
|
import cn.axzo.msg.center.api.request.v3.SetImSendPriorityRequest;
|
||||||
import cn.axzo.msg.center.api.request.v3.UpdateMnsChannelTemplateRequest;
|
import cn.axzo.msg.center.api.request.v3.UpdateMnsChannelTemplateRequest;
|
||||||
import cn.axzo.msg.center.api.request.v4.MessageSendRequestV4;
|
import cn.axzo.msg.center.api.request.v4.MessageSendRequestV4;
|
||||||
|
import cn.axzo.msg.center.dal.MNSChannelMessageTemplateDao;
|
||||||
import cn.axzo.msg.center.dal.MNSMessageTemplateDao;
|
import cn.axzo.msg.center.dal.MNSMessageTemplateDao;
|
||||||
|
import cn.axzo.msg.center.domain.entity.MNSChannelMessageTemplate;
|
||||||
import cn.axzo.msg.center.domain.entity.MNSMessageTemplate;
|
import cn.axzo.msg.center.domain.entity.MNSMessageTemplate;
|
||||||
import cn.axzo.msg.center.im.service.IMService;
|
import cn.axzo.msg.center.im.service.IMService;
|
||||||
import cn.axzo.msg.center.inside.notices.service.impl.TingyunService;
|
import cn.axzo.msg.center.inside.notices.service.impl.TingyunService;
|
||||||
@ -81,6 +84,7 @@ public class PrivateMessageController {
|
|||||||
private final MNSNoticesApi mnsNoticesApi;
|
private final MNSNoticesApi mnsNoticesApi;
|
||||||
private final MessageChannelRouter messageChannelRouter;
|
private final MessageChannelRouter messageChannelRouter;
|
||||||
private final MNSMessageTemplateDao mnsMessageTemplateDao;
|
private final MNSMessageTemplateDao mnsMessageTemplateDao;
|
||||||
|
private final MNSChannelMessageTemplateDao mnsChannelMessageTemplateDao;
|
||||||
private final TingyunService tingyunService;
|
private final TingyunService tingyunService;
|
||||||
private final MqProducer mqProducer;
|
private final MqProducer mqProducer;
|
||||||
private final CardManager cardManager;
|
private final CardManager cardManager;
|
||||||
@ -219,6 +223,15 @@ public class PrivateMessageController {
|
|||||||
.update();
|
.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/updateMnsTemplateChannelContent")
|
||||||
|
@EnableResponseAdvice(enable = false)
|
||||||
|
public Object updateMnsTemplateChannelContent(@RequestBody @Valid UpdateMnsChannelTemplateContentRequest request) {
|
||||||
|
return mnsChannelMessageTemplateDao.lambdaUpdate()
|
||||||
|
.eq(MNSChannelMessageTemplate::getTemplateNo, request.getTemplateCode())
|
||||||
|
.set(MNSChannelMessageTemplate::getTemplateContent, request.getTemplateContent())
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/listMnsApps")
|
@PostMapping("/listMnsApps")
|
||||||
@EnableResponseAdvice(enable = false)
|
@EnableResponseAdvice(enable = false)
|
||||||
public Object listMnsApps() {
|
public Object listMnsApps() {
|
||||||
|
|||||||
@ -81,7 +81,9 @@ public class CardManager {
|
|||||||
public CardSendResponse send(CardSendRequest request) {
|
public CardSendResponse send(CardSendRequest request) {
|
||||||
// 校验参数
|
// 校验参数
|
||||||
BizAssertions.assertNotNull(request.getSender(), "发送人不能为空");
|
BizAssertions.assertNotNull(request.getSender(), "发送人不能为空");
|
||||||
BizAssertions.assertNotEmpty(request.getReceivers(), "接收人不能为空");
|
BizAssertions.assertFalse(
|
||||||
|
request.getReceivers().isEmpty()
|
||||||
|
&& request.getImReceiveAccounts().isEmpty(), "接收人不能为空");
|
||||||
RequestInfo requestInfo = new RequestInfo();
|
RequestInfo requestInfo = new RequestInfo();
|
||||||
requestInfo.setTemplateCode(request.getTemplateCode());
|
requestInfo.setTemplateCode(request.getTemplateCode());
|
||||||
requestInfo.setBizCode(request.getBizCode());
|
requestInfo.setBizCode(request.getBizCode());
|
||||||
|
|||||||
@ -98,8 +98,7 @@ public class CardSupport {
|
|||||||
GeneralMessagePushVO cardContent = cardParser.parseCardContent(
|
GeneralMessagePushVO cardContent = cardParser.parseCardContent(
|
||||||
sendModel.getCardTemplate(), sendModel.getRequest());
|
sendModel.getCardTemplate(), sendModel.getRequest());
|
||||||
sendModel.setCardContent(cardContent);
|
sendModel.setCardContent(cardContent);
|
||||||
for (PeerPerson person : sendModel.getRequest().getReceivers()) {
|
Supplier<Card> cardFactory = () -> {
|
||||||
for (AppTypeEnum appType : sendModel.getCardTemplate().ensureAppTypesPresent()) {
|
|
||||||
Card card = new Card();
|
Card card = new Card();
|
||||||
sendModel.addCard(card);
|
sendModel.addCard(card);
|
||||||
card.setBatchNo(sendModel.getRequestContext().getBatchNo());
|
card.setBatchNo(sendModel.getRequestContext().getBatchNo());
|
||||||
@ -119,18 +118,32 @@ public class CardSupport {
|
|||||||
card.setRouterParam(sendModel.getRequest().getRouterParam());
|
card.setRouterParam(sendModel.getRequest().getRouterParam());
|
||||||
card.setSenderAppType(AppTypeEnum.SYSTEM);
|
card.setSenderAppType(AppTypeEnum.SYSTEM);
|
||||||
card.setIsSenderRobot(YesOrNo.YES);
|
card.setIsSenderRobot(YesOrNo.YES);
|
||||||
card.setReceiverAppType(appType);
|
|
||||||
card.setSenderPersonId(sendModel.getRequest().getSender().getPersonIdOrDefault());
|
card.setSenderPersonId(sendModel.getRequest().getSender().getPersonIdOrDefault());
|
||||||
card.setSenderOuId(sendModel.getRequest().getSender().getOuIdOrDefault());
|
card.setSenderOuId(sendModel.getRequest().getSender().getOuIdOrDefault());
|
||||||
card.setSenderWorkspaceId(sendModel.getRequest().getSender().getWorkspaceIdOrDefault());
|
card.setSenderWorkspaceId(sendModel.getRequest().getSender().getWorkspaceIdOrDefault());
|
||||||
card.setReceiverPersonId(person.getPersonIdOrDefault());
|
|
||||||
card.setReceiverOuId(person.getOuIdOrDefault());
|
|
||||||
card.setReceiverWorkspaceId(person.getWorkspaceIdOrDefault());
|
|
||||||
card.setSubtitle(sendModel.getRequest().getSubtitle());
|
card.setSubtitle(sendModel.getRequest().getSubtitle());
|
||||||
card.setButtonStates(Collections.emptyList());
|
card.setButtonStates(Collections.emptyList());
|
||||||
card.setUpdatable(sendModel.getCardTemplate().isUpdatable() ? YesOrNo.YES : YesOrNo.NO);
|
card.setUpdatable(sendModel.getCardTemplate().isUpdatable() ? YesOrNo.YES : YesOrNo.NO);
|
||||||
|
return card;
|
||||||
|
};
|
||||||
|
for (PeerPerson person : sendModel.getRequest().receiversOrEmpty()) {
|
||||||
|
for (AppTypeEnum appType : sendModel.getCardTemplate().ensureAppTypesPresent()) {
|
||||||
|
Card card = cardFactory.get();
|
||||||
|
card.setReceiverAppType(appType);
|
||||||
|
card.setReceiverPersonId(person.getPersonIdOrDefault());
|
||||||
|
card.setReceiverOuId(person.getOuIdOrDefault());
|
||||||
|
card.setReceiverWorkspaceId(person.getWorkspaceIdOrDefault());
|
||||||
|
card.setImReceiveAccount("");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for (String imAccount : sendModel.getRequest().imReceiveAccountsOrEmpty()) {
|
||||||
|
Card card = cardFactory.get();
|
||||||
|
card.setReceiverAppType(AppTypeEnum.NONE);
|
||||||
|
card.setReceiverPersonId(-1L);
|
||||||
|
card.setReceiverOuId(-1L);
|
||||||
|
card.setReceiverWorkspaceId(-1L);
|
||||||
|
card.setImReceiveAccount(imAccount);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SendTemplateMessageParam buildImSendRequest(CardSendModel sendModel,
|
SendTemplateMessageParam buildImSendRequest(CardSendModel sendModel,
|
||||||
@ -168,6 +181,7 @@ public class CardSupport {
|
|||||||
.append(subBizCode)
|
.append(subBizCode)
|
||||||
.build());
|
.build());
|
||||||
imRequest.setReceivePersons(group.buildReceiverAccounts());
|
imRequest.setReceivePersons(group.buildReceiverAccounts());
|
||||||
|
imRequest.setImReceiveAccounts(group.collectImReceiveAccounts());
|
||||||
imRequest.setExt(extBuilder.get());
|
imRequest.setExt(extBuilder.get());
|
||||||
imRequest.setUpdatable(sendModel.getCardTemplate().isUpdatable());
|
imRequest.setUpdatable(sendModel.getCardTemplate().isUpdatable());
|
||||||
if (pushData.determinePushable(log, template.getCode())) {
|
if (pushData.determinePushable(log, template.getCode())) {
|
||||||
|
|||||||
@ -10,12 +10,15 @@ import cn.axzo.msg.center.nimpush.device.PushDeviceSnapshots;
|
|||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import static java.util.stream.Collectors.toList;
|
import static java.util.stream.Collectors.toList;
|
||||||
|
import static java.util.stream.Collectors.toSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author yanglin
|
* @author yanglin
|
||||||
@ -31,15 +34,18 @@ public class CardGroup {
|
|||||||
cards.add(card);
|
cards.add(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<PersonAccountAttribute> buildReceiverAccounts() {
|
public Set<PersonAccountAttribute> buildReceiverAccounts() {
|
||||||
return getCards().stream().map(card -> {
|
return getCards().stream()
|
||||||
|
.filter(card -> card.getReceiverAppType() != AppTypeEnum.NONE)
|
||||||
|
.map(card -> {
|
||||||
PersonAccountAttribute account = new PersonAccountAttribute();
|
PersonAccountAttribute account = new PersonAccountAttribute();
|
||||||
account.setPersonId(card.getReceiverPersonId() + "");
|
account.setPersonId(card.getReceiverPersonId() + "");
|
||||||
account.setOuId(card.getReceiverOuId());
|
account.setOuId(card.getReceiverOuId());
|
||||||
account.setWorkspaceId(card.getReceiverWorkspaceId());
|
account.setWorkspaceId(card.getReceiverWorkspaceId());
|
||||||
account.setAppType(groupKey.getAppType());
|
account.setAppType(groupKey.getAppType());
|
||||||
return account;
|
return account;
|
||||||
}).collect(toList());
|
})
|
||||||
|
.collect(toSet());
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ExcludePushPayload> buildNimPushExcludes(PushDeviceSnapshots deviceSnapshots) {
|
public List<ExcludePushPayload> buildNimPushExcludes(PushDeviceSnapshots deviceSnapshots) {
|
||||||
@ -58,6 +64,13 @@ public class CardGroup {
|
|||||||
.collect(toList());
|
.collect(toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Set<String> collectImReceiveAccounts() {
|
||||||
|
return getCards().stream()
|
||||||
|
.map(Card::getImReceiveAccount)
|
||||||
|
.filter(StringUtils::isNotBlank)
|
||||||
|
.collect(toSet());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return JSON.toJSONString(this);
|
return JSON.toJSONString(this);
|
||||||
|
|||||||
@ -60,6 +60,7 @@ public class CardLoggers {
|
|||||||
log.setReceiverOuId(card.getReceiverOuId());
|
log.setReceiverOuId(card.getReceiverOuId());
|
||||||
log.setReceiverWorkspaceId(card.getReceiverWorkspaceId());
|
log.setReceiverWorkspaceId(card.getReceiverWorkspaceId());
|
||||||
log.setReceiverAppType(card.getReceiverAppType());
|
log.setReceiverAppType(card.getReceiverAppType());
|
||||||
|
log.setImReceiveAccount(card.getImReceiveAccount());
|
||||||
log.setBizState(card.getBizState());
|
log.setBizState(card.getBizState());
|
||||||
log.setCardState(card.getCardState());
|
log.setCardState(card.getCardState());
|
||||||
log.setIdentityCode(card.getIdentityCode());
|
log.setIdentityCode(card.getIdentityCode());
|
||||||
|
|||||||
@ -151,7 +151,7 @@ public class TodoRangeQueryService {
|
|||||||
*/
|
*/
|
||||||
private AnalysisPage<PendingRecordAdapter> pageQueryBusiness(
|
private AnalysisPage<PendingRecordAdapter> pageQueryBusiness(
|
||||||
PendingMessagePageRequest request, List<String> templateCodes) {
|
PendingMessagePageRequest request, List<String> templateCodes) {
|
||||||
Date startingAt = DateFormatUtil.toDate(LocalDateTime.now().minusDays(90));
|
Date startingAt = DateFormatUtil.toDate(LocalDateTime.now().minusDays(270));
|
||||||
LambdaQueryWrapper<TodoBusiness> query = businessQuery(request.getTitle(), true)
|
LambdaQueryWrapper<TodoBusiness> query = businessQuery(request.getTitle(), true)
|
||||||
.in(CollectionUtils.isNotEmpty(request.getTemplateCodes()), TodoBusiness::getTemplateCode, request.getTemplateCodes())
|
.in(CollectionUtils.isNotEmpty(request.getTemplateCodes()), TodoBusiness::getTemplateCode, request.getTemplateCodes())
|
||||||
.eq(TodoBusiness::getPromoterPersonId, request.getPersonId())
|
.eq(TodoBusiness::getPromoterPersonId, request.getPersonId())
|
||||||
@ -224,8 +224,12 @@ public class TodoRangeQueryService {
|
|||||||
PendingMessagePageRequest request, Supplier<AnalysisPage<PendingRecordAdapter>> pageQuery) {
|
PendingMessagePageRequest request, Supplier<AnalysisPage<PendingRecordAdapter>> pageQuery) {
|
||||||
AnalysisInfo analysis = request.getA();
|
AnalysisInfo analysis = request.getA();
|
||||||
Object analyzeItem = analysisHelper.getAnalyzeBusiness(analysis);
|
Object analyzeItem = analysisHelper.getAnalyzeBusiness(analysis);
|
||||||
if (analyzeItem == null)
|
if (analyzeItem == null) {
|
||||||
analyzeItem = analysisHelper.getAnalyzeTodo(request, analysis);
|
Todo todo = analysisHelper.getAnalyzeTodo(request, analysis);
|
||||||
|
analyzeItem = todo;
|
||||||
|
if (todo != null && analysis.isTodoBusiness())
|
||||||
|
analyzeItem = todoBusinessDao.getBusinesses(todo).findBusiness(todo).orElse(null);
|
||||||
|
}
|
||||||
if (analyzeItem != null || analysis.isCollectSql())
|
if (analyzeItem != null || analysis.isCollectSql())
|
||||||
CollectSQLInterceptor.enableCollectSQL(new CollectSqlConfig(true));
|
CollectSQLInterceptor.enableCollectSQL(new CollectSqlConfig(true));
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -157,4 +157,9 @@ public class ProxyStatement extends StatementWrapper {
|
|||||||
public Statement unwrap() {
|
public Statement unwrap() {
|
||||||
return rawStatement;
|
return rawStatement;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return rawStatement.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
package cn.axzo.msg.center.api.request;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yanglin
|
||||||
|
*/
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
|
public class UpdateMnsChannelTemplateContentRequest {
|
||||||
|
|
||||||
|
@NotBlank(message = "渠道模板编号不能为空")
|
||||||
|
private String templateCode;
|
||||||
|
|
||||||
|
@NotBlank(message = "模板内容不能为空")
|
||||||
|
private String templateContent;
|
||||||
|
|
||||||
|
}
|
||||||
@ -12,7 +12,7 @@ import javax.validation.constraints.NotBlank;
|
|||||||
@Getter
|
@Getter
|
||||||
public class UpdateMnsTemplateContentRequest {
|
public class UpdateMnsTemplateContentRequest {
|
||||||
|
|
||||||
@NotBlank(message = "模板编号不能为空")
|
@NotBlank(message = "内部模板编号不能为空")
|
||||||
private String innerTemplateCode;
|
private String innerTemplateCode;
|
||||||
|
|
||||||
@NotBlank(message = "模板内容不能为空")
|
@NotBlank(message = "模板内容不能为空")
|
||||||
|
|||||||
@ -13,5 +13,6 @@ public class AnalysisInfo {
|
|||||||
private Long businessId;
|
private Long businessId;
|
||||||
private String bizCode;
|
private String bizCode;
|
||||||
private boolean collectSql;
|
private boolean collectSql;
|
||||||
|
private boolean todoBusiness;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -13,7 +13,6 @@ import lombok.Getter;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotEmpty;
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@ -70,9 +69,13 @@ public class CardSendRequest implements CardContent {
|
|||||||
/**
|
/**
|
||||||
* 接收人
|
* 接收人
|
||||||
*/
|
*/
|
||||||
@NotEmpty(message = "接收人不能为空")
|
|
||||||
private Set<PeerPerson> receivers = new HashSet<>();
|
private Set<PeerPerson> receivers = new HashSet<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息接收IM账号或群id
|
||||||
|
*/
|
||||||
|
private Set<String> imReceiveAccounts;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 业务参数
|
* 业务参数
|
||||||
*/
|
*/
|
||||||
@ -93,6 +96,14 @@ public class CardSendRequest implements CardContent {
|
|||||||
*/
|
*/
|
||||||
private boolean returnCards = false;
|
private boolean returnCards = false;
|
||||||
|
|
||||||
|
public Set<PeerPerson> receiversOrEmpty() {
|
||||||
|
return receivers == null ? Collections.emptySet() : receivers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<String> imReceiveAccountsOrEmpty() {
|
||||||
|
return imReceiveAccounts == null ? Collections.emptySet() : imReceiveAccounts;
|
||||||
|
}
|
||||||
|
|
||||||
@Override @JsonIgnore @JSONField(serialize = false, defaultValue = "false")
|
@Override @JsonIgnore @JSONField(serialize = false, defaultValue = "false")
|
||||||
public CardStateInfo getStateInfo() {
|
public CardStateInfo getStateInfo() {
|
||||||
return CardStateInfo.create(CardState.CREATED, CardBizState.PENDING);
|
return CardStateInfo.create(CardState.CREATED, CardBizState.PENDING);
|
||||||
|
|||||||
@ -57,8 +57,12 @@ public class CardDao extends ServiceImpl<CardMapper, Card> {
|
|||||||
List<UpdatableMessageSendResult> updatableResults = imResponse.getUpdatableMessageSendResults();
|
List<UpdatableMessageSendResult> updatableResults = imResponse.getUpdatableMessageSendResults();
|
||||||
if (updatableResults == null)
|
if (updatableResults == null)
|
||||||
updatableResults = Collections.emptyList();
|
updatableResults = Collections.emptyList();
|
||||||
Map<PersonAccountAttribute, String> account2BizMessageId = updatableResults.stream()
|
Map<PersonAccountAttribute, String> person2BizMessageId = updatableResults.stream()
|
||||||
.collect(toMap(UpdatableMessageSendResult::getAccount, UpdatableMessageSendResult::getBizMessageId));
|
.filter(result -> result.getPerson() != null)
|
||||||
|
.collect(toMap(UpdatableMessageSendResult::getPerson, UpdatableMessageSendResult::getBizMessageId));
|
||||||
|
Map<String, String> imAccount2BizMessageId = updatableResults.stream()
|
||||||
|
.filter(result -> result.getImAccount() != null)
|
||||||
|
.collect(toMap(UpdatableMessageSendResult::getImAccount, UpdatableMessageSendResult::getBizMessageId));
|
||||||
for (Card card : cards) {
|
for (Card card : cards) {
|
||||||
PersonAccountAttribute key = new PersonAccountAttribute();
|
PersonAccountAttribute key = new PersonAccountAttribute();
|
||||||
key.setPersonId(card.getReceiverPersonId() + "");
|
key.setPersonId(card.getReceiverPersonId() + "");
|
||||||
@ -70,7 +74,9 @@ public class CardDao extends ServiceImpl<CardMapper, Card> {
|
|||||||
update.setId(card.getId());
|
update.setId(card.getId());
|
||||||
update.setImTaskId(imResponse.getId());
|
update.setImTaskId(imResponse.getId());
|
||||||
update.setCardState(CardState.SEND_SUCCESS);
|
update.setCardState(CardState.SEND_SUCCESS);
|
||||||
String bizMessageId = account2BizMessageId.get(key);
|
String bizMessageId = person2BizMessageId.get(key);
|
||||||
|
if (bizMessageId == null)
|
||||||
|
bizMessageId = imAccount2BizMessageId.get(card.getImReceiveAccount());
|
||||||
if (bizMessageId != null)
|
if (bizMessageId != null)
|
||||||
update.setBizMessageId(bizMessageId);
|
update.setBizMessageId(bizMessageId);
|
||||||
updates.add(update);
|
updates.add(update);
|
||||||
|
|||||||
@ -152,6 +152,11 @@ public class Card extends BaseEntityExt<Card> implements CardContent {
|
|||||||
*/
|
*/
|
||||||
private Long receiverWorkspaceId;
|
private Long receiverWorkspaceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 接收账号
|
||||||
|
*/
|
||||||
|
private String imReceiveAccount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 按钮状态
|
* 按钮状态
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -61,6 +61,11 @@ public class CardLog extends BaseEntityExt<CardLog> {
|
|||||||
*/
|
*/
|
||||||
private AppTypeEnum receiverAppType;
|
private AppTypeEnum receiverAppType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 接收账号
|
||||||
|
*/
|
||||||
|
private String imReceiveAccount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 异常
|
* 异常
|
||||||
*/
|
*/
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user