代码接口,异常规范问题处理。

This commit is contained in:
Chopper 2021-07-29 17:00:15 +08:00
parent f8ae17b360
commit 02327402a8
10 changed files with 71 additions and 31 deletions

View File

@ -18,7 +18,6 @@ import cn.lili.modules.system.entity.enums.SettingEnum;
import cn.lili.modules.system.service.SettingService;
import com.google.gson.Gson;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 会员经验值
@ -26,7 +25,7 @@ import org.springframework.stereotype.Service;
* @author Bulbasaur
* @since: 2021/5/16 11:16 下午
*/
@Service
//@Service
public class MemberExperienceExecute implements MemberRegisterEvent, GoodsCommentCompleteEvent, OrderStatusChangeEvent {
/**

View File

@ -2,6 +2,7 @@ package cn.lili.event.impl;
import cn.lili.common.utils.CurrencyUtil;
import cn.lili.common.utils.StringUtils;
import cn.lili.event.AfterSaleStatusChangeEvent;
import cn.lili.event.GoodsCommentCompleteEvent;
import cn.lili.event.MemberRegisterEvent;
@ -84,9 +85,9 @@ public class MemberPointExecute implements MemberRegisterEvent, GoodsCommentComp
public void orderChange(OrderMessage orderMessage) {
if (orderMessage.getNewStatus().equals(OrderStatusEnum.COMPLETED)) {
//根据订单编号获取订单数据,如果为积分订单则跳回
Order order = orderService.getBySn(orderMessage.getOrderSn());
if (order.getOrderPromotionType().equals(OrderPromotionTypeEnum.POINT.name())) {
//根据订单编号获取订单数据,如果订单促销类型不为空并且订单促销类型为积分订单 则直接返回
if (StringUtils.isNotEmpty(order.getOrderPromotionType()) && order.getOrderPromotionType().equals(OrderPromotionTypeEnum.POINT.name())) {
return;
}
//获取积分设置

View File

@ -95,8 +95,12 @@ public class NoticeMessageExecute implements TradeEvent, OrderStatusChangeEvent,
//添加站内信参数
params.put(NoticeMessageParameterEnum.GOODS.getType(), orderDetailVO.getOrderItems().get(0).getGoodsName());
noticeMessageDTO.setParameter(params);
//保存站内信
noticeMessageService.noticeMessage(noticeMessageDTO);
//如果有消息则发送消息
if (noticeMessageDTO.getNoticeMessageNodeEnum() != null) {
//保存站内信
noticeMessageService.noticeMessage(noticeMessageDTO);
}
}
}

View File

@ -32,22 +32,18 @@ public class AfterSaleMessageListener implements RocketMQListener<MessageExt> {
@Override
public void onMessage(MessageExt messageExt) {
switch (AfterSaleTagsEnum.valueOf(messageExt.getTags())) {
case AFTER_SALE_STATUS_CHANGE:
for (AfterSaleStatusChangeEvent afterSaleStatusChangeEvent : afterSaleStatusChangeEvents) {
try {
AfterSale afterSale = JSONUtil.toBean(new String(messageExt.getBody()), AfterSale.class);
afterSaleStatusChangeEvent.afterSaleStatusChange(afterSale);
} catch (Exception e) {
log.error("售后{},在{}业务中,状态修改事件执行异常",
new String(messageExt.getBody()),
afterSaleStatusChangeEvent.getClass().getName(),
e);
}
if (AfterSaleTagsEnum.valueOf(messageExt.getTags()) == AfterSaleTagsEnum.AFTER_SALE_STATUS_CHANGE) {
for (AfterSaleStatusChangeEvent afterSaleStatusChangeEvent : afterSaleStatusChangeEvents) {
try {
AfterSale afterSale = JSONUtil.toBean(new String(messageExt.getBody()), AfterSale.class);
afterSaleStatusChangeEvent.afterSaleStatusChange(afterSale);
} catch (Exception e) {
log.error("售后{},在{}业务中,状态修改事件执行异常",
new String(messageExt.getBody()),
afterSaleStatusChangeEvent.getClass().getName(),
e);
}
default:
log.error("售后状态修改事件执行异常:", new String(messageExt.getBody()));
break;
}
}
}

View File

@ -40,7 +40,6 @@ public class GlobalControllerExceptionHandler {
@ResponseStatus(value = HttpStatus.BAD_REQUEST)
public ResultMessage<Object> handleServiceException(HttpServletRequest request, final Exception e, HttpServletResponse response) {
log.error("全局异常[ServiceException]:", e);
//如果是自定义异常则获取异常返回自定义错误消息
if (e instanceof ServiceException) {
@ -58,7 +57,13 @@ public class GlobalControllerExceptionHandler {
if (!serviceException.getMsg().equals(ServiceException.DEFAULT_MESSAGE)) {
message += ":" + serviceException.getMsg();
}
log.error("全局异常[ServiceException]:{}-{}", serviceException.getResultCode().code(), serviceException.getResultCode().message(), e);
return ResultUtil.error(code, message);
} else {
log.error("全局异常[ServiceException]:", e);
}
//默认错误消息

View File

@ -166,17 +166,22 @@ public class DistributionOrderServiceImpl extends ServiceImpl<DistributionOrderM
//获取收款分销订单
DistributionOrder distributionOrder = this.getOne(new LambdaQueryWrapper<DistributionOrder>()
.eq(DistributionOrder::getOrderItemSn, storeFlow.getOrderItemSn()));
//分销订单不存在则直接返回
if (distributionOrder == null) {
return;
}
//已提交无法重复提交
//如果未结算则将分销订单取消
//如果已结算则创建退款分销订单
if (distributionOrder.getDistributionOrderStatus().equals(DistributionOrderStatusEnum.CANCEL.name())) {
return;
} else if (distributionOrder.getDistributionOrderStatus().equals(DistributionOrderStatusEnum.WAIT_BILL.name())) {
}
//如果未结算则将分销订单取消
else if (distributionOrder.getDistributionOrderStatus().equals(DistributionOrderStatusEnum.WAIT_BILL.name())) {
this.update(new LambdaUpdateWrapper<DistributionOrder>()
.eq(DistributionOrder::getOrderItemSn, storeFlow.getOrderItemSn())
.set(DistributionOrder::getDistributionOrderStatus, DistributionOrderStatusEnum.CANCEL.name()));
} else {
}
//如果已结算则创建退款分销订单
else {
//修改分销员提成金额
distributionService.subCanRebate(CurrencyUtil.sub(0, storeFlow.getDistributionRebate()), distributionOrder.getDistributionId());
}

View File

@ -51,7 +51,10 @@ public class NoticeMessageServiceImpl extends ServiceImpl<NoticeMessageTemplateM
return;
}
try {
NoticeMessage noticeMessage = this.getOne(new LambdaQueryWrapper<NoticeMessage>().eq(NoticeMessage::getNoticeNode, noticeMessageDTO.getNoticeMessageNodeEnum().getDescription().trim()));
NoticeMessage noticeMessage = this.getOne(
new LambdaQueryWrapper<NoticeMessage>()
.eq(NoticeMessage::getNoticeNode
, noticeMessageDTO.getNoticeMessageNodeEnum().getDescription().trim()));
//如果通知类站内信开启的情况下
if (noticeMessage != null && noticeMessage.getNoticeStatus().equals(SwitchEnum.OPEN.name())) {
MemberMessage memberMessage = new MemberMessage();

View File

@ -76,6 +76,9 @@ public class WechatMessageUtil {
public void wechatMessage(String sn) {
Order order = orderService.getBySn(sn);
if (order == null) {
throw new ServiceException("订单" + sn + "不存在,发送微信公众号消息错误");
}
//获取微信消息
LambdaQueryWrapper<WechatMessage> wechatMessageQueryWrapper = new LambdaQueryWrapper();
wechatMessageQueryWrapper.eq(WechatMessage::getOrderStatus, order.getOrderStatus());
@ -130,8 +133,11 @@ public class WechatMessageUtil {
*/
public void wechatMpMessage(String sn) {
log.error("发送消息订阅");
log.info("发送消息订阅");
Order order = orderService.getBySn(sn);
if (order == null) {
throw new ServiceException("订单" + sn + "不存在,发送订阅消息错误");
}
//获取微信消息
LambdaQueryWrapper<WechatMPMessage> wechatMPMessageQueryWrapper = new LambdaQueryWrapper();
wechatMPMessageQueryWrapper.eq(WechatMPMessage::getOrderStatus, order.getOrderStatus());

View File

@ -157,6 +157,13 @@ public interface OrderService extends IService<Order> {
*/
void complete(String orderSn);
/**
* 系统定时完成订单
*
* @param orderSn 订单编号
*/
void systemComplete(String orderSn);
/**
* 通过trade 获取订单列表
*

View File

@ -407,8 +407,23 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
public void complete(String orderSn) {
//是否可以查询到订单
Order order = OperationalJudgment.judgment(this.getBySn(orderSn));
complete(order, orderSn);
}
//修改订单状态为完成
@Override
@OrderLogPoint(description = "'订单['+#orderSn+']完成'", orderSn = "#orderSn")
public void systemComplete(String orderSn) {
Order order = this.getBySn(orderSn);
complete(order, orderSn);
}
/**
* 完成订单方法封装
*
* @param order 订单
* @param orderSn 订单编号
*/
private void complete(Order order, String orderSn) {//修改订单状态为完成
this.updateStatus(orderSn, OrderStatusEnum.COMPLETED);
//修改订单货物可以进行评价
@ -437,7 +452,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
//发送订单变更mq消息
rocketMQTemplate.asyncSend(destination, JSONUtil.toJsonStr(goodsCompleteMessageList), RocketmqSendCallbackBuilder.commonCallback());
}
}
@Override