[fix]修改通知的逻辑
This commit is contained in:
parent
eafb814e13
commit
362d57869b
@ -5,6 +5,7 @@ import com.wzj.soopin.content.utils.RedisOperator;
|
||||
import com.wzj.soopin.order.business.IOrderBusiness;
|
||||
import com.wzj.soopin.order.domain.bo.OrderBo;
|
||||
import com.wzj.soopin.order.domain.bo.SaveOrderBO;
|
||||
import com.wzj.soopin.order.domain.entity.Order;
|
||||
import com.wzj.soopin.order.domain.vo.OrderVO;
|
||||
import com.wzj.soopin.order.service.IMemberOrderService;
|
||||
import com.wzj.soopin.order.service.OrderService;
|
||||
@ -17,6 +18,7 @@ import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.domain.model.LoginUser;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.mq.utils.MqUtil;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@ -70,4 +72,13 @@ public class AppOrderController {
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@Operation(summary = "发送消息")
|
||||
@Log(title = "发送消息", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/send/{orderId}")
|
||||
public R<OrderVO> send(@PathVariable("orderId") Long orderId) {
|
||||
orderService.sendMessage(orderId);
|
||||
//发出消息
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.dromara.common.mq.enums.MQMessageType;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@ -28,7 +29,7 @@ public class MQMessage {
|
||||
/**
|
||||
* 消息类型
|
||||
*/
|
||||
private String
|
||||
private MQMessageType
|
||||
messageType;
|
||||
/**
|
||||
* 消息内容
|
||||
@ -42,4 +43,6 @@ public class MQMessage {
|
||||
* 发送时间
|
||||
*/
|
||||
private LocalDateTime sendTime;
|
||||
|
||||
private Long toUserId;
|
||||
}
|
||||
|
@ -3,34 +3,36 @@ package org.dromara.common.mq.enums;
|
||||
public enum MessageActionEnum {
|
||||
|
||||
|
||||
SYSTEM_NOTIFY(10, "system"), // 系统->通知
|
||||
SYSTEM_REPORT(13, "system"), // 系统->举报下架(视频,视频评论) 视频评论
|
||||
SYSTEM_CHECK(14, "system"), // 系统->审核结果(通过)
|
||||
SYSTEM_VLOG_REFUSE(17, "system"), // 系统->审核结果(驳回)
|
||||
SYSTEM_VLOG_RECHECK(18, "system"), // 系统->审核结果(复审)
|
||||
SYSTEM_PUSH(15, "system"), //系统->推广类的
|
||||
INTERACTION_COMMENT(21, "interaction"), //互动->评论
|
||||
INTERACTION_AT(27, "interaction"), //互动->视频评论中的@
|
||||
INTERACTION_LIKE(28, "interaction"), //互动->点赞
|
||||
NEW_FOUCS(21,"newFocus"), //新的关注
|
||||
INTERACTION_REPLY(29, "interaction"), //互动->评论回复
|
||||
ORDER_RECHARGE(30, "order"), //订单->充值 online
|
||||
ORDER_PAY(31, "order"), //订单->订单交易成功通知 online
|
||||
ORDER_REFUND(32, "order"), //订单->退款结果通知
|
||||
ORDER_WITHDRAW_AUDIT(33, "order"), //订单->提现审核结果通知
|
||||
ORDER_WITHDRAW_REFUSE(34, "order"), //订单->提现审核结果通知(拒绝)
|
||||
GROUP_NOTIFY_CHECK(43, "groupNotify"), //群通知->进群申请 online
|
||||
GROUP_NOTIFY_ACCEPT(44, "groupNotify"), // 群通知->进群审核审核通过 online
|
||||
GROUP_NOTIFY_FAIL(45, "groupNotify"), // 群通知->进群审核审核拒绝 online
|
||||
GROUP_NOTIFY_LEAVE_UP(46, "groupNotify"), // 群通知->群升级为达人群通知
|
||||
GROUP_NOTIFY_LEAVE_DOWN(47, "groupNotify"); // 群通知->群降级为普通群通知
|
||||
SYSTEM_NOTIFY(10, "system","systemNotify"), // 系统->通知
|
||||
SYSTEM_REPORT(13, "system","systemReport"), // 系统->举报下架(视频,视频评论) 视频评论
|
||||
SYSTEM_CHECK(14, "system","systemCheck"), // 系统->审核结果(通过)
|
||||
SYSTEM_VLOG_REFUSE(17, "system","systemVlogRefuse"), // 系统->审核结果(驳回)
|
||||
SYSTEM_VLOG_RECHECK(18, "system","systemVlogRecheck"), // 系统->审核结果(复审)
|
||||
SYSTEM_PUSH(15, "system","systemPush"), //系统->推广类的
|
||||
INTERACTION_COMMENT(25, "interaction","interactionComment"), //互动->评论
|
||||
INTERACTION_AT(27, "interaction","interactionAt"), //互动->视频评论中的@
|
||||
INTERACTION_LIKE(28, "interaction","interactionLike"), //互动->点赞
|
||||
NEW_FOUCS(21,"newFocus","newFocus"), //新的关注
|
||||
INTERACTION_REPLY(29, "interaction","interactionReply"), //互动->评论回复
|
||||
ORDER_RECHARGE(30, "order","orderRecharge"), //订单->充值 online
|
||||
ORDER_PAY(31, "order","orderPay"), //订单->订单交易成功通知 online
|
||||
ORDER_REFUND(32, "order","orderRefund"), //订单->退款结果通知
|
||||
ORDER_WITHDRAW_AUDIT(33, "order","orderWithdrawAudit"), //订单->提现审核结果通知
|
||||
ORDER_WITHDRAW_REFUSE(34, "order","orderWithdrawRefuse"), //订单->提现审核结果通知(拒绝)
|
||||
GROUP_NOTIFY_CHECK(43, "groupNotify","groupNotifyCheck"), //群通知->进群申请 online
|
||||
GROUP_NOTIFY_ACCEPT(44, "groupNotify","groupNotifyAccept"), // 群通知->进群审核审核通过 online
|
||||
GROUP_NOTIFY_FAIL(45, "groupNotify","groupNotifyFail"), // 群通知->进群审核审核拒绝 online
|
||||
GROUP_NOTIFY_LEAVE_UP(46, "groupNotify","groupNotifyLeaveUp"), // 群通知->群升级为达人群通知
|
||||
GROUP_NOTIFY_LEAVE_DOWN(47, "groupNotify","groupNotifyLeaveDown"); // 群通知->群降级为普通群通知
|
||||
|
||||
private int code;
|
||||
private String account;
|
||||
private String key;
|
||||
|
||||
MessageActionEnum(int code, String account) {
|
||||
MessageActionEnum(int code, String account,String key) {
|
||||
this.code = code;
|
||||
this.account = account;
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
public int getCode() {
|
||||
@ -50,12 +52,14 @@ public enum MessageActionEnum {
|
||||
}
|
||||
public static MessageActionEnum getByAccount(String account) {
|
||||
for (MessageActionEnum actionEnum : values()) {
|
||||
if (actionEnum.getAccount().equals(account)) {
|
||||
if (actionEnum.name().equals(account)) {
|
||||
return actionEnum;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public String getKey() {
|
||||
return key;
|
||||
}
|
||||
}
|
||||
|
@ -78,6 +78,10 @@ public class MqUtil implements ApplicationContextAware {
|
||||
log.error("RocketMQTemplate未初始化,无法发送消息");
|
||||
return;
|
||||
}
|
||||
if (message == null) {
|
||||
log.error("消息为空,无法发送");
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
String jsonMessage = JsonUtils.toJsonString(message);
|
||||
|
@ -17,16 +17,16 @@ public class CommentBO extends BaseBO<Comment> {
|
||||
private Long id;
|
||||
|
||||
@NotBlank(message = "留言信息不完整")
|
||||
private String vlogerId;
|
||||
private Long vlogerId;
|
||||
|
||||
@NotBlank(message = "留言信息不完整")
|
||||
private String fatherCommentId;
|
||||
private Long fatherCommentId;
|
||||
|
||||
@NotBlank(message = "留言信息不完整")
|
||||
private String vlogId;
|
||||
|
||||
@NotBlank(message = "当前用户信息不正确,请尝试重新登录")
|
||||
private String commentUserId;
|
||||
private Long commentUserId;
|
||||
|
||||
@NotBlank(message = "评论内容不能为空")
|
||||
@Length(max = 50, message = "评论内容长度不能超过50")
|
||||
|
@ -13,18 +13,18 @@ import java.time.LocalDateTime;
|
||||
public class Comment {
|
||||
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 评论的视频是哪个作者(member)的关联id
|
||||
*/
|
||||
@TableField("member_id")
|
||||
private String vlogerId;
|
||||
private Long vlogerId;
|
||||
|
||||
/**
|
||||
* 如果是回复评论,则本条为子评论,需要关联查询
|
||||
*/
|
||||
private String fatherCommentId;
|
||||
private Long fatherCommentId;
|
||||
|
||||
/**
|
||||
* 回复的那个视频id
|
||||
@ -34,7 +34,7 @@ public class Comment {
|
||||
/**
|
||||
* 发布评论的用户id
|
||||
*/
|
||||
private String commentUserId;
|
||||
private Long commentUserId;
|
||||
|
||||
/**
|
||||
* 评论内容
|
||||
|
@ -5,16 +5,16 @@ import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class ChildCommentVO {
|
||||
private String id;
|
||||
private String commentId;
|
||||
private Long id;
|
||||
private Long commentId;
|
||||
private String content;
|
||||
private Integer status;
|
||||
private String replyedUserNickname; // 被回复的昵称(父评论用户昵称)
|
||||
private String replyUserNickname; // 回复人昵称(当前子评论用户昵称)
|
||||
private String replyUserFace; // 回复人头像
|
||||
private String fatherCommentId;
|
||||
private Long fatherCommentId;
|
||||
private String likeCounts;
|
||||
private String vlogId;
|
||||
private String commentUserId;
|
||||
private Long commentUserId;
|
||||
private LocalDateTime createTime;
|
||||
}
|
||||
|
@ -14,9 +14,9 @@ import java.util.Date;
|
||||
@ToString
|
||||
public class CommentVO {
|
||||
private String id;
|
||||
private String commentId;
|
||||
private String vlogerId;
|
||||
private String fatherCommentId;
|
||||
private Long commentId;
|
||||
private Long vlogerId;
|
||||
private Long fatherCommentId;
|
||||
private String vlogId;
|
||||
private String commentUserId;
|
||||
private String commentUserNickname;
|
||||
|
@ -21,6 +21,7 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.core.domain.model.LoginUser;
|
||||
import org.dromara.common.mq.domain.MQMessage;
|
||||
import org.dromara.common.mq.enums.MQMessageType;
|
||||
import org.dromara.common.mq.enums.MessageActionEnum;
|
||||
import org.dromara.common.mq.utils.MqUtil;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
@ -149,9 +150,7 @@ public class CommentServiceImpl extends ServiceImpl<CommentMapper, Comment> impl
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void createComment(CommentBO commentBO) {
|
||||
String commentId = sid.nextShort();
|
||||
Comment comment = new Comment();
|
||||
comment.setId(commentId);
|
||||
comment.setVlogId(commentBO.getVlogId());
|
||||
comment.setVlogerId(commentBO.getVlogerId());
|
||||
comment.setCommentUserId(commentBO.getCommentUserId());
|
||||
@ -160,6 +159,7 @@ public class CommentServiceImpl extends ServiceImpl<CommentMapper, Comment> impl
|
||||
comment.setLikeCounts(0);
|
||||
comment.setCreateTime(LocalDateTime.now());
|
||||
commentMapper.insert(comment);
|
||||
commentBO.setId(comment.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -174,7 +174,7 @@ public class CommentServiceImpl extends ServiceImpl<CommentMapper, Comment> impl
|
||||
|
||||
LambdaQueryWrapper<Comment> wrapper = bo.toWrapper();
|
||||
if (bo.getFatherCommentId() == null) {
|
||||
wrapper.eq(Comment::getFatherCommentId, "0");
|
||||
wrapper.eq(Comment::getFatherCommentId, 0L);
|
||||
}
|
||||
|
||||
// 手机号查视频
|
||||
@ -193,7 +193,7 @@ public class CommentServiceImpl extends ServiceImpl<CommentMapper, Comment> impl
|
||||
}
|
||||
List<String> vlogIds = vlogList.stream().map(Vlog::getId).collect(Collectors.toList());
|
||||
wrapper.in(Comment::getVlogId, vlogIds);
|
||||
} else if (bo != null && org.springframework.util.StringUtils.hasText(bo.getVlogId())) {
|
||||
} else if (bo != null && bo.getVlogId() != null) {
|
||||
wrapper.eq(Comment::getVlogId, bo.getVlogId());
|
||||
}
|
||||
|
||||
@ -360,9 +360,9 @@ public class CommentServiceImpl extends ServiceImpl<CommentMapper, Comment> impl
|
||||
params.put("toUserId", comment.getId());
|
||||
params.put("commentId", comment.getId());
|
||||
params.put("commentContent", comment.getContent());
|
||||
params.put("action", MessageActionEnum.SYSTEM_REPORT.getAccount());
|
||||
params.put("account", MessageActionEnum.SYSTEM_REPORT.getAccount());
|
||||
MQMessage mqMessage = new MQMessage();
|
||||
mqMessage.setTag(MessageActionEnum.SYSTEM_REPORT.getAccount());
|
||||
mqMessage.setTag(MessageActionEnum.SYSTEM_REPORT.name());
|
||||
mqMessage.setData(params);
|
||||
return mqMessage;
|
||||
}
|
||||
@ -374,11 +374,11 @@ public class CommentServiceImpl extends ServiceImpl<CommentMapper, Comment> impl
|
||||
if (loginUser == null) {
|
||||
throw new RuntimeException("未登录或登录已过期");
|
||||
}
|
||||
bo.setCommentUserId(String.valueOf(loginUser.getUserId()));
|
||||
bo.setCommentUserId(loginUser.getUserId());
|
||||
|
||||
// 父评论为空时,按根评论处理(约定使用"0"作为无父评论标记)
|
||||
if (bo.getFatherCommentId() == null || bo.getFatherCommentId().isEmpty()) {
|
||||
bo.setFatherCommentId("0");
|
||||
if (bo.getFatherCommentId() == null ) {
|
||||
bo.setFatherCommentId(0L);
|
||||
}
|
||||
|
||||
// 1) 创建评论
|
||||
@ -391,25 +391,34 @@ public class CommentServiceImpl extends ServiceImpl<CommentMapper, Comment> impl
|
||||
// 3) 发送站内消息:根评论 -> 通知视频作者;回复评论 -> 通知被回复用户
|
||||
|
||||
|
||||
Vlog vlog=vlogMapper.selectById(bo.getVlogId());
|
||||
// 给评论或者作者发送通知
|
||||
MqUtil.sendIMMessage(buildCommentMessage(bo));
|
||||
MqUtil.sendIMMessage(buildCommentMessage(bo,vlog));
|
||||
|
||||
//检查是否有@
|
||||
|
||||
}
|
||||
|
||||
private MQMessage buildCommentMessage(CommentBO bo) {
|
||||
private MQMessage buildCommentMessage(CommentBO bo,Vlog vlog) {
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
LoginUser loginUser = LoginHelper.getLoginUser();
|
||||
if ("0".equals(bo.getFatherCommentId())) {
|
||||
|
||||
MQMessage mqMessage = new MQMessage();
|
||||
mqMessage.setTag(MessageActionEnum.INTERACTION_COMMENT.name());
|
||||
mqMessage.setMessageType(MQMessageType.IM);
|
||||
if (bo.getFatherCommentId() == 0L) {
|
||||
// 评论视频,通知视频作者
|
||||
if (bo.getVlogerId() != null && !bo.getVlogerId().isEmpty()
|
||||
&& !String.valueOf(loginUser.getUserId()).equals(bo.getVlogerId())) {
|
||||
params.put("userId", loginUser.getUserId());
|
||||
if ( !String.valueOf(loginUser.getUserId()).equals(bo.getVlogerId())) {
|
||||
params.put("userID", loginUser.getUserId());
|
||||
params.put("nickName", loginUser.getNickname());
|
||||
params.put("toUserId", bo.getVlogerId());
|
||||
params.put("vlogId", bo.getVlogId());
|
||||
params.put("action", MessageActionEnum.INTERACTION_COMMENT.getAccount());
|
||||
params.put("commentID", bo.getId());
|
||||
params.put("faceUrl", loginUser.getAvatar());
|
||||
params.put("comment", bo.getContent());
|
||||
params.put("vlogID", bo.getVlogId());
|
||||
params.put("firstFrameImg", vlog.getFirstFrameImg());
|
||||
mqMessage.setToUserId(Long.valueOf(vlog.getMemberId()));
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
|
||||
} else {
|
||||
@ -417,19 +426,19 @@ public class CommentServiceImpl extends ServiceImpl<CommentMapper, Comment> impl
|
||||
Comment father = baseMapper.selectById(bo.getFatherCommentId());
|
||||
if (father != null && father.getCommentUserId() != null
|
||||
&& !String.valueOf(loginUser.getUserId()).equals(father.getCommentUserId())) {
|
||||
params.put("userId", loginUser.getUserId());
|
||||
params.put("userID", loginUser.getUserId());
|
||||
params.put("nickName", loginUser.getNickname());
|
||||
params.put("toUserId", father.getCommentUserId());
|
||||
params.put("faceUrl", loginUser.getAvatar());
|
||||
params.put("vlogId", bo.getVlogId());
|
||||
params.put("commentId", father.getId());
|
||||
params.put("commentContent", father.getContent());
|
||||
params.put("action", MessageActionEnum.INTERACTION_REPLY.getAccount());
|
||||
|
||||
params.put("commentID", father.getId());
|
||||
params.put("comment", father.getContent());
|
||||
params.put("vlogID", bo.getVlogId());
|
||||
params.put("firstFrameImg", vlog.getFirstFrameImg());
|
||||
mqMessage.setToUserId(Long.valueOf(father.getCommentUserId()));
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
MQMessage mqMessage = new MQMessage();
|
||||
mqMessage.setTag(MessageActionEnum.NEW_FOUCS.getAccount());
|
||||
mqMessage.setData(params);
|
||||
return mqMessage;
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import com.wzj.soopin.member.service.IMemberService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.mq.domain.MQMessage;
|
||||
import org.dromara.common.mq.enums.MQMessageType;
|
||||
import org.dromara.common.mq.utils.MqUtil;
|
||||
import org.dromara.common.redis.redis.RedisCache;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -75,7 +76,7 @@ public class VlogPushServiceImpl implements IVlogPushService {
|
||||
MQMessage message = MQMessage.builder()
|
||||
.topic("MEMBER_VLOG_MSG")
|
||||
.tag(HOT_VLOG_TAG)
|
||||
.messageType("json")
|
||||
.messageType(MQMessageType.VLOG)
|
||||
.data(vlogId)
|
||||
.source("vlog_service")
|
||||
.sendTime(LocalDateTime.now())
|
||||
@ -93,7 +94,7 @@ public class VlogPushServiceImpl implements IVlogPushService {
|
||||
MQMessage message = MQMessage.builder()
|
||||
.topic("MEMBER_VLOG_MSG")
|
||||
.tag(tag)
|
||||
.messageType("json")
|
||||
.messageType(MQMessageType.VLOG)
|
||||
.data(vlogId)
|
||||
.source("vlog_service")
|
||||
.sendTime(LocalDateTime.now())
|
||||
|
@ -36,6 +36,7 @@ import org.dromara.common.core.domain.model.LoginUser;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.mq.config.RocketMQConfig;
|
||||
import org.dromara.common.mq.domain.MQMessage;
|
||||
import org.dromara.common.mq.enums.MQMessageType;
|
||||
import org.dromara.common.mq.enums.MessageActionEnum;
|
||||
import org.dromara.common.mq.utils.MqUtil;
|
||||
import org.dromara.common.redis.redis.RedisCache;
|
||||
@ -150,7 +151,7 @@ public class VlogServiceImpl extends ServiceImpl<VlogMapper, Vlog> implements Vl
|
||||
|
||||
//发出mq消息,异步处理上传
|
||||
MQMessage message = MQMessage.builder()
|
||||
.messageType("json")
|
||||
.messageType(MQMessageType.VLOG)
|
||||
.data(vlog.getId())
|
||||
.source("app")
|
||||
.topic("VLOG_UPLOAD_TOPIC")
|
||||
@ -323,14 +324,15 @@ public class VlogServiceImpl extends ServiceImpl<VlogMapper, Vlog> implements Vl
|
||||
|
||||
Map<String,Object> params=new HashMap<>();
|
||||
LoginUser loginUser=LoginHelper.getLoginUser();
|
||||
params.put("userId", loginUser.getUserId());
|
||||
params.put("nickname", loginUser.getNickname() == null ? "" : loginUser.getNickname());
|
||||
params.put("userID", loginUser.getUserId());
|
||||
params.put("nickName", loginUser.getNickname() == null ? "" : loginUser.getNickname());
|
||||
params.put("faceUrl", loginUser.getAvatar() );
|
||||
params.put("action", MessageActionEnum.INTERACTION_LIKE.getAccount());
|
||||
params.put("toUserId",vlog.getMemberId());
|
||||
|
||||
params.put("vlogId",vlog.getId());
|
||||
params.put("firstFrameImg",vlog.getFirstFrameImg());
|
||||
MQMessage mqMessage = new MQMessage();
|
||||
mqMessage.setTag(MessageActionEnum.INTERACTION_LIKE.getAccount());
|
||||
mqMessage.setMessageType(MQMessageType.IM);
|
||||
mqMessage.setTag(MessageActionEnum.INTERACTION_LIKE.name());
|
||||
mqMessage.setToUserId(Long.valueOf(vlog.getMemberId()));
|
||||
mqMessage.setData(params);
|
||||
return mqMessage;
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ import org.springframework.stereotype.Component;
|
||||
@RocketMQMessageListener(
|
||||
topic = RocketMQConfig.TOPIC_IM_MSG,
|
||||
// consumerGroup = RocketMQConfig.CONSUMER_GROUP_SYS_MSG,
|
||||
consumerGroup = "cosumer",
|
||||
consumerGroup = "cosumer1",
|
||||
selectorExpression = "*"
|
||||
// ackMode = AckMode.MANUAL
|
||||
)
|
||||
|
@ -41,18 +41,20 @@ public class MQMessageHandleServiceImpl implements IMQMessageHandleService {
|
||||
//创建im消息
|
||||
//根据消息类型获取消息模板
|
||||
Map<String, Object> params = (Map<String, Object>) message.getData();
|
||||
String action = (String) params.get("action");
|
||||
|
||||
//根据action获取消息模板
|
||||
MessageActionEnum actionEnum = MessageActionEnum.getByAccount(action);
|
||||
MessageActionEnum actionEnum = MessageActionEnum.valueOf(message.getTag());
|
||||
params.put("action", actionEnum.getKey());
|
||||
params.put("account", actionEnum.getAccount());
|
||||
if(actionEnum == null){
|
||||
log.error("根据action获取消息模板失败,action:{}", action);
|
||||
log.error("根据action获取消息模板失败,action:{}", message.getTag());
|
||||
return false;
|
||||
}
|
||||
|
||||
SysMessageTemplate template = templateService.getTemplateByAction(actionEnum.getCode());
|
||||
|
||||
if (template == null) {
|
||||
log.error("根据action获取消息模板失败,action:{}", action);
|
||||
log.error("根据action获取消息模板失败,action:{}", message.getTag());
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -61,7 +63,7 @@ public class MQMessageHandleServiceImpl implements IMQMessageHandleService {
|
||||
try {
|
||||
// 消息发送者可能是系统或管理员,这里使用action对应的账号发送
|
||||
String fromUserId = actionEnum.getAccount();
|
||||
String toUserId = ""; // 接收者是事件中的用户ID
|
||||
String toUserId = message.getToUserId()+""; // 接收者是事件中的用户ID
|
||||
String content = template.getContent(); // 只取content字段
|
||||
|
||||
// 处理消息变量替换(如果有)
|
||||
@ -76,7 +78,6 @@ public class MQMessageHandleServiceImpl implements IMQMessageHandleService {
|
||||
desc = processMessageVariables(desc, params);
|
||||
content = processMessageVariables(content, params);
|
||||
ext = processMessageVariables(ext, params);
|
||||
toUserId = String.valueOf(params.get("toUserId"));
|
||||
}
|
||||
|
||||
String pushType = null;
|
||||
|
@ -20,6 +20,7 @@ import org.dromara.common.core.constant.GlobalConstants;
|
||||
import org.dromara.common.core.enums.YesOrNo;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mq.domain.MQMessage;
|
||||
import org.dromara.common.mq.enums.MQMessageType;
|
||||
import org.dromara.common.mq.enums.MessageActionEnum;
|
||||
import org.dromara.common.mq.utils.MqUtil;
|
||||
import org.dromara.common.redis.redis.RedisCache;
|
||||
@ -85,11 +86,11 @@ public class FansServiceImpl extends ServiceImpl<FansMapper, Fans> implements IF
|
||||
params.put("userId", follower.getId());
|
||||
params.put("nickname", follower.getNickname() == null ? "" : follower.getNickname());
|
||||
params.put("faceUrl", vlogger.getAvatar() );
|
||||
params.put("action", MessageActionEnum.NEW_FOUCS.getAccount());
|
||||
params.put("toUserId", vlogger.getId());
|
||||
MQMessage message = MQMessage.builder()
|
||||
.messageType("follow")
|
||||
.messageType(MQMessageType.IM)
|
||||
.data(params)
|
||||
.tag(MessageActionEnum.NEW_FOUCS.name())
|
||||
.toUserId(vlogger.getId())
|
||||
.source("member")
|
||||
.build();
|
||||
return message;
|
||||
|
@ -22,6 +22,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.dromara.common.core.domain.model.LoginUser;
|
||||
import org.dromara.common.mq.domain.MQMessage;
|
||||
import org.dromara.common.mq.enums.MQMessageType;
|
||||
import org.dromara.common.mq.enums.MessageActionEnum;
|
||||
import org.dromara.common.mq.utils.MqUtil;
|
||||
import org.dromara.common.redis.redis.RedisCache;
|
||||
@ -112,11 +113,11 @@ public class FeedbackServiceImpl extends ServiceImpl<FeedbackMapper, Feedback> i
|
||||
params.put("userId", loginUser.getUserId());
|
||||
params.put("nickname", loginUser.getNickname() == null ? "" : loginUser.getNickname());
|
||||
params.put("faceUrl", loginUser.getAvatar() );
|
||||
params.put("action", MessageActionEnum.INTERACTION_LIKE.getAccount());
|
||||
params.put("toUserId",aim.getMemberId());
|
||||
|
||||
MQMessage mqMessage = new MQMessage();
|
||||
mqMessage.setTag(MessageActionEnum.INTERACTION_LIKE.getAccount());
|
||||
mqMessage.setMessageType(MQMessageType.IM);
|
||||
mqMessage.setTag(MessageActionEnum.INTERACTION_LIKE.name());
|
||||
mqMessage.setToUserId(aim.getMemberId());
|
||||
mqMessage.setData(params);
|
||||
return mqMessage;
|
||||
}
|
||||
|
@ -16,6 +16,8 @@ import com.wzj.soopin.order.service.VerificationCodeService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.web.core.BusinessImpl;
|
||||
import org.dromara.system.domain.vo.SysTenantVo;
|
||||
import org.dromara.system.service.ISysTenantService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.Serializable;
|
||||
@ -30,10 +32,15 @@ public class OrderBusinessImpl extends BusinessImpl<OrderService, OrderConvert,
|
||||
private final OrderItemService orderItemService;
|
||||
private final OrderItemConvert orderItemConvert;
|
||||
private final VerificationCodeService verificationCodeService;
|
||||
private final ISysTenantService tenantService;
|
||||
|
||||
@Override
|
||||
public OrderVO info(Serializable id) {
|
||||
OrderVO vo= super.info(id);
|
||||
|
||||
//设置租户信息
|
||||
|
||||
|
||||
Member member = memberService.getById(vo.getMemberId());
|
||||
vo.setMemberNickname(member.getNickname());
|
||||
vo.setMemberPhoneEncrypted(member.getPhoneHidden());
|
||||
@ -42,6 +49,10 @@ public class OrderBusinessImpl extends BusinessImpl<OrderService, OrderConvert,
|
||||
List<OrderItem> orderItemList = orderItemService.findByOrderId(vo.getId());
|
||||
List<OrderItemVO> itemVOList = orderItemList.stream().map(item -> {
|
||||
OrderItemVO itemVO=orderItemConvert.toVO(item);
|
||||
if (itemVO.getTenantId() != null) {
|
||||
SysTenantVo tenant = tenantService.queryByTenantId(vo.getTenantId());
|
||||
itemVO.setTenantName(tenant.getShopName());
|
||||
}
|
||||
//赋值
|
||||
return itemVO;
|
||||
}).collect(Collectors.toList());
|
||||
|
@ -94,4 +94,5 @@ public class OrderItem extends BaseAudit {
|
||||
@Schema(description = "租户名称")
|
||||
@Excel(name = "租户名称")
|
||||
private String tenantName;
|
||||
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.dromara.common.core.domain.model.BaseAudit;
|
||||
import org.dromara.common.excel.annotation.Excel;
|
||||
import org.dromara.system.domain.vo.SysTenantVo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
@ -36,6 +37,8 @@ public class OrderVO extends BaseAudit {
|
||||
@Schema(description ="租户id")
|
||||
private String tenantId;
|
||||
|
||||
private SysTenantVo tenant;
|
||||
|
||||
@Schema(description ="用户帐号")
|
||||
@Excel(name = "用户帐号")
|
||||
private String memberUsername;
|
||||
|
@ -48,5 +48,6 @@ public interface OrderService extends IService<Order> {
|
||||
|
||||
void refund(RefundBO refundBO);
|
||||
|
||||
void sendMessage(Long orderId);
|
||||
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ import org.dromara.common.core.domain.event.Constants;
|
||||
import org.dromara.common.core.enums.AftersaleStatus;
|
||||
import org.dromara.common.core.enums.OrderRefundStatus;
|
||||
import org.dromara.common.mq.domain.MQMessage;
|
||||
import org.dromara.common.mq.enums.MQMessageType;
|
||||
import org.dromara.common.mq.enums.MessageActionEnum;
|
||||
import org.dromara.common.mq.utils.MqUtil;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
@ -247,9 +248,10 @@ public class AftersaleServiceImpl extends ServiceImpl<AftersaleMapper, Aftersale
|
||||
|
||||
// params.put("receiver", memberService.getMemberInfo(o.getMemberId()));
|
||||
params.put("object", o);
|
||||
params.put("action", actionEnum.getAccount());
|
||||
MQMessage mqMessage = new MQMessage();
|
||||
mqMessage.setTag(actionEnum.getAccount());
|
||||
mqMessage.setTag(actionEnum.name());
|
||||
mqMessage.setMessageType(MQMessageType.IM);
|
||||
mqMessage.setToUserId(o.getMemberId());
|
||||
mqMessage.setData(params);
|
||||
return mqMessage;
|
||||
}
|
||||
|
@ -40,6 +40,10 @@ import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.domain.event.Constants;
|
||||
import org.dromara.common.core.domain.model.LoginUser;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.mq.domain.MQMessage;
|
||||
import org.dromara.common.mq.enums.MQMessageType;
|
||||
import org.dromara.common.mq.enums.MessageActionEnum;
|
||||
import org.dromara.common.mq.utils.MqUtil;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.common.tenant.helper.TenantHelper;
|
||||
import org.dromara.system.domain.SysTenant;
|
||||
@ -288,7 +292,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
// 更新售后记录
|
||||
Aftersale aftersale = aftersaleMapper.selectOne(Wrappers.lambdaQuery(Aftersale.class)
|
||||
.eq(Aftersale::getOrderId, orderId).last("limit 1"));
|
||||
if(aftersale == null){
|
||||
if (aftersale == null) {
|
||||
aftersale = new Aftersale();
|
||||
aftersale.setMemberId(order.getMemberId());
|
||||
aftersale.setOrderId(orderId);
|
||||
@ -300,7 +304,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
aftersale.setReason(refundReason);
|
||||
aftersale.setAuthFlag(2);
|
||||
aftersaleMapper.insert(aftersale);
|
||||
}else{
|
||||
} else {
|
||||
aftersale.setReturnAmount(refundBO.getTotalRefundAmount());
|
||||
aftersale.setOrgTrace(refundBO.getOrgTrace());
|
||||
aftersale.setStatus(AftersaleStatus.PAID.getCode());
|
||||
@ -415,13 +419,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
|
||||
/**
|
||||
* 商户所属订单列表
|
||||
*
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<OrderVO> merchantOrderList(OrderBo query) {
|
||||
Assert.isTrue(query.getCurrent() != null && query.getSize() != null, "分页参数不能为空");
|
||||
if(StrUtil.isBlank(query.getTenantId())){
|
||||
Assert.isTrue(query.getCurrent() != null && query.getSize() != null, "分页参数不能为空");
|
||||
if (StrUtil.isBlank(query.getTenantId())) {
|
||||
query.setTenantId(TenantHelper.getTenantId());
|
||||
}
|
||||
IPage<OrderVO> resultPage = TenantHelper.ignore(() -> orderMapper.getListByOrderItemTenant(Page.of(query.getCurrent(), query.getSize()), query));
|
||||
@ -431,13 +436,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
|
||||
/**
|
||||
* 团长所属订单列表
|
||||
*
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<OrderVO> referenceMemberOrderList(OrderBo query) {
|
||||
Assert.isTrue(query.getCurrent() != null && query.getSize() != null, "分页参数不能为空");
|
||||
if(StrUtil.isBlank(query.getTenantId())){
|
||||
Assert.isTrue(query.getCurrent() != null && query.getSize() != null, "分页参数不能为空");
|
||||
if (StrUtil.isBlank(query.getTenantId())) {
|
||||
query.setTenantId(TenantHelper.getTenantId());
|
||||
}
|
||||
IPage<OrderVO> resultPage = TenantHelper.ignore(() -> orderMapper.getListByOrderTenant(Page.of(query.getCurrent(), query.getSize()), query));
|
||||
@ -493,34 +499,36 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Order getByNo(String orderNo) {
|
||||
return baseMapper.selectOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, orderNo));
|
||||
}
|
||||
|
||||
// public void sendMessage(Order order) {
|
||||
// Long memberId = order.getMemberId();
|
||||
// Long orderId = order.getId();
|
||||
// // 订单创建成功模板ID
|
||||
// Long templateId =1940586928850100226L;
|
||||
// // 查询模板信息
|
||||
// SysMessageTemplateVo template = templateService.selectTemplateById(templateId);
|
||||
// log.info("模板信息为: {}", template);
|
||||
//
|
||||
// if (template != null) {
|
||||
// Map<String, Object> params = new HashMap<>();
|
||||
// params.put("orderSn", order.getOrderSn());
|
||||
// params.put("productName", orderItemMapper.getName(orderId));
|
||||
// SysMessageBo messageBo = new SysMessageBo();
|
||||
// messageBo.setTemplateType(org.dromara.system.domain.MessageTemplateType.ORDER_NOTICE);
|
||||
// messageBo.setTemplateParams(params);
|
||||
// messageBo.setSenderId(memberId);
|
||||
// messageBo.setTitle(template.getTitle());
|
||||
// sysMessageService.sendMessageToUser(messageBo, memberId);
|
||||
// }
|
||||
// }
|
||||
public void sendMessage(Long orderId) {
|
||||
Order order = this.getById(orderId);
|
||||
if (order != null) {
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("orderID", order.getId());
|
||||
params.put("amount", order.getPayAmount());
|
||||
|
||||
//取订单的第一个商品
|
||||
List<OrderItem> orderItems = orderItemMapper.findByOrderId(order.getId());
|
||||
if (CollectionUtil.isNotEmpty(orderItems)) {
|
||||
params.put("name", orderItems.get(0).getProductName());
|
||||
params.put("pic", orderItems.get(0).getPic());
|
||||
params.put("price", orderItems.get(0).getSalePrice());
|
||||
params.put("amount", orderItems.get(0).getQuantity());
|
||||
// params.put("describe", orderItems.get(0).get());
|
||||
}
|
||||
params.put("account", MessageActionEnum.ORDER_PAY.getAccount());
|
||||
MQMessage mqMessage = new MQMessage();
|
||||
mqMessage.setTag(MessageActionEnum.ORDER_PAY.name());
|
||||
mqMessage.setMessageType(MQMessageType.IM);
|
||||
mqMessage.setToUserId(order.getMemberId());
|
||||
mqMessage.setData(params);
|
||||
MqUtil.sendIMMessage(mqMessage);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -15,10 +15,18 @@ import com.wzj.soopin.transaction.service.IChargeService;
|
||||
import com.wzj.soopin.transaction.util.SnowFlake;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.core.domain.model.LoginUser;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.mq.domain.MQMessage;
|
||||
import org.dromara.common.mq.enums.MQMessageType;
|
||||
import org.dromara.common.mq.enums.MessageActionEnum;
|
||||
import org.dromara.common.mq.utils.MqUtil;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 会员封禁
|
||||
@ -41,30 +49,35 @@ public class ChargeServiceImpl extends ServiceImpl<ChargeMapper, Charge> impleme
|
||||
boolean chargeSuccess = true;
|
||||
//充值成功后更新会员账户余额
|
||||
if (chargeSuccess) {
|
||||
//更新会员账户余额
|
||||
MemberAccount memberAccount = memberAccountService.getById(charge.getMemberId());
|
||||
memberAccount.setWallet(memberAccount.getWallet().add(charge.getMoney()));
|
||||
memberAccountService.updateById(memberAccount);
|
||||
//生成充值记录
|
||||
AccountBill accountBill = AccountBill.builder()
|
||||
.accountId(charge.getMemberId())
|
||||
.changeAmount(charge.getMoney())
|
||||
.changeType(AccountBillChangeTypeEnum.IN.getCode())
|
||||
.changeDesc("充值")
|
||||
.source(AccountBillSourceEnum.RECHARGE.getCode())
|
||||
.build();
|
||||
accountBillService.save(accountBill);
|
||||
return true;
|
||||
accountBillService.addMoney(charge.getActualMoney(), charge.getMemberId(), AccountBillSourceEnum.RECHARGE, "充值");
|
||||
}
|
||||
//生成充值记录
|
||||
//获取账号金额
|
||||
MemberAccount memberAccount = memberAccountService.getById(charge.getMemberId());
|
||||
MqUtil.sendIMMessage(buildMessage(charge,memberAccount));
|
||||
return false;
|
||||
}
|
||||
|
||||
private MQMessage buildMessage(Charge charge,MemberAccount memberAccount) {
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
MQMessage mqMessage = new MQMessage();
|
||||
mqMessage.setTag(MessageActionEnum.ORDER_RECHARGE.name());
|
||||
mqMessage.setMessageType(MQMessageType.IM);
|
||||
// 评论视频,通知视频作者
|
||||
params.put("orderID", charge.getId());
|
||||
params.put("amount", charge.getMoney());
|
||||
params.put("totalAmount", memberAccount.getWallet());
|
||||
mqMessage.setToUserId(Long.valueOf(charge.getMemberId()));
|
||||
mqMessage.setData(params);
|
||||
return mqMessage;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean charge(Charge charge) {
|
||||
//判断充值金额不能为零
|
||||
if (charge.getMoney()==null||charge.getMoney().compareTo(BigDecimal.ZERO) == 0) {
|
||||
if (charge.getMoney() == null || charge.getMoney().compareTo(BigDecimal.ZERO) == 0) {
|
||||
throw new ServiceException("充值金额不能为零");
|
||||
}
|
||||
//状态为待充值
|
||||
@ -93,17 +106,22 @@ public class ChargeServiceImpl extends ServiceImpl<ChargeMapper, Charge> impleme
|
||||
@Override
|
||||
public boolean paySuccess(String code, String payNo, Integer method) {
|
||||
Charge charge = getByCode(code);
|
||||
if(charge==null){
|
||||
log.error("充值记录不存在,code:{}",code);
|
||||
if (charge == null) {
|
||||
log.error("充值记录不存在,code:{}", code);
|
||||
return false;
|
||||
}
|
||||
charge.setStatus(ChargeStatus.SUCCESS.getCode());
|
||||
charge.setPayNo(payNo);
|
||||
charge.setMethod(method);
|
||||
boolean result= updateById(charge);
|
||||
if (result){
|
||||
accountBillService.addMoney(charge.getActualMoney(),charge.getMemberId(),AccountBillSourceEnum.RECHARGE,"充值");
|
||||
boolean result = updateById(charge);
|
||||
if (result) {
|
||||
accountBillService.addMoney(charge.getActualMoney(), charge.getMemberId(), AccountBillSourceEnum.RECHARGE, "充值");
|
||||
//生成充值记录
|
||||
//获取账号金额
|
||||
MemberAccount memberAccount = memberAccountService.getById(charge.getMemberId());
|
||||
MqUtil.sendIMMessage(buildMessage(charge,memberAccount));
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package com.wzj.soopin.transaction.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
@ -21,6 +22,7 @@ import com.wzj.soopin.order.domain.bo.RefundBO;
|
||||
import com.wzj.soopin.order.domain.entity.Aftersale;
|
||||
import com.wzj.soopin.order.domain.entity.Order;
|
||||
import com.wzj.soopin.order.domain.entity.OrderItem;
|
||||
import com.wzj.soopin.order.domain.vo.OrderVO;
|
||||
import com.wzj.soopin.order.emum.OrderStatusEnum;
|
||||
import com.wzj.soopin.order.service.AftersaleService;
|
||||
import com.wzj.soopin.order.service.OrderItemService;
|
||||
@ -77,6 +79,10 @@ import org.dromara.common.core.enums.TenantType;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.DateUtils;
|
||||
import org.dromara.common.core.utils.ServletUtils;
|
||||
import org.dromara.common.mq.domain.MQMessage;
|
||||
import org.dromara.common.mq.enums.MQMessageType;
|
||||
import org.dromara.common.mq.enums.MessageActionEnum;
|
||||
import org.dromara.common.mq.utils.MqUtil;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@ -90,6 +96,7 @@ import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.wzj.soopin.transaction.constans.EasypayConstants.*;
|
||||
import static net.sf.jsqlparser.parser.feature.Feature.comment;
|
||||
|
||||
/**
|
||||
* 会员封禁
|
||||
@ -521,6 +528,29 @@ public class EasypayServiceImpl implements IEasypayService {
|
||||
.paymentTime(LocalDateTimeUtil.parse(StrBuilder.create(respOrderInfo.getDateEnd()).append(respOrderInfo.getTimeEnd()).toString(), "yyyyMMddHHmmss"))
|
||||
.payType(PayType.getByValue(payOrder.getPayType()).getChannel())
|
||||
.build());
|
||||
|
||||
//发出消息
|
||||
MqUtil.sendIMMessage(buildMQMessage(order));
|
||||
}
|
||||
private MQMessage buildMQMessage(Order order) {
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("orderID", order.getId());
|
||||
params.put("amount", order.getPayAmount());
|
||||
|
||||
//取订单的第一个商品
|
||||
List<OrderItem> orderItems = orderItemService.findByOrderId(order.getId());
|
||||
if (CollectionUtil.isNotEmpty(orderItems)) {
|
||||
params.put("name", orderItems.get(0).getProductName());
|
||||
params.put("pic", orderItems.get(0).getPic());
|
||||
params.put("price", orderItems.get(0).getSalePrice());
|
||||
params.put("amount", orderItems.get(0).getQuantity());
|
||||
}
|
||||
MQMessage mqMessage = new MQMessage();
|
||||
mqMessage.setTag(MessageActionEnum.ORDER_PAY.name());
|
||||
mqMessage.setMessageType(MQMessageType.IM);
|
||||
mqMessage.setToUserId(order.getMemberId());
|
||||
mqMessage.setData(params);
|
||||
return mqMessage;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -84,7 +84,7 @@ public class RedPacketServiceImpl extends ServiceImpl<RedPacketMapper, RedPacket
|
||||
redPacketMapper.insert(redPacket);
|
||||
Long packetId = redPacket.getId();
|
||||
// 扣减发送者余额并记录变动
|
||||
accountBillService.reduceMoney(balance, memberId, AccountBillSourceEnum.RED_PACKAGE_SEND, "红包发放");
|
||||
accountBillService.reduceMoney(request.getTotalAmount(), memberId, AccountBillSourceEnum.RED_PACKAGE_SEND, "红包发放");
|
||||
|
||||
// 返回结果
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
|
@ -104,9 +104,9 @@ public class WithdrawServiceImpl extends ServiceImpl<WithdrawMapper, Withdraw> i
|
||||
params.put("sender", sender);
|
||||
params.put("receiver", memberService.getMemberInfo(o.getMemberId()));
|
||||
params.put("object", o);
|
||||
params.put("action", actionEnum.getAccount());
|
||||
params.put("account", actionEnum.getAccount());
|
||||
MQMessage mqMessage = new MQMessage();
|
||||
mqMessage.setTag(actionEnum.getAccount());
|
||||
mqMessage.setTag(actionEnum.name());
|
||||
mqMessage.setData(params);
|
||||
return mqMessage;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user