提交 12c1baaf 作者: zhenjie

用户合同签署完成后同步订单状态

上级 e73a9520
......@@ -2,6 +2,7 @@ package com.mmc.oms.controller.uav;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.controller.BaseController;
import com.mmc.oms.model.dto.ContractInfoDTO;
import com.mmc.oms.model.dto.uav.UavOrderDTO;
import com.mmc.oms.model.dto.uav.UavOrderStatusDTO;
import com.mmc.oms.model.qo.uav.UavOrderQO;
......@@ -125,8 +126,6 @@ public class UavOrderController extends BaseController {
return uavOrderService.confirmOrder(uavOrderVO, this.getCurrentAccount(request));
}
// TODO 签署完成(修改订单状态)
// 设置订单抽成比例
// 微信完成回调-修改订单状态
......
......@@ -34,4 +34,6 @@ public interface UavPODao {
void updateUavPOrderPay(UavPurchaseOrderPayDO uavOrderPayDO);
UavPurchaseOrderDO getUavPOrderByUavOId(Integer uavOrderId);
UavPurchaseOrderDO getUavPOrderByNo(String orderNo);
}
......@@ -39,7 +39,7 @@ public class AuthSignatureFilter implements AuthFilter {
/**
* 无需登录白名单
*/
private static final String[] IGNORE_URLS = {"/oms/swagger-resources", "/oms/v2/api-docs", "/oms/doc.html", "/oms/mallorder/listStatus","/oms/actuator/health/readiness"};
private static final String[] IGNORE_URLS = {"/oms/swagger-resources", "/oms/v2/api-docs", "/oms/doc.html", "/oms/mallorder/listStatus","/oms/actuator/health/readiness", "/oms/uav-order/finishSign", "/oms/uav-order/statusList"};
/*无需加密狗无需登录白名单*/
private static final String[] USE_KEY = {"/oms/account/loginByUsbKey"};
......
......@@ -10,4 +10,6 @@ public class RabbitmqConstant {
public final static String PAY_UAV_ORDER_SUCCESS_QUEUE = "PAY_UAV_ORDER_SUCCESS_QUEUE";
public final static String ORDER_SIGN_FINISH_QUEUE = "ORDER_SIGN_FINISH_QUEUE";
}
package com.mmc.oms.mq.listener;
import com.alibaba.fastjson.JSONObject;
import com.mmc.oms.common.ResultEnum;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.dao.topup.TopUpOrderDao;
import com.mmc.oms.entity.topup.TopUpOrderDO;
import com.mmc.oms.model.dto.ContractInfoDTO;
import com.mmc.oms.model.vo.wallet.TopUpOrderVO;
import com.mmc.oms.mq.constant.RabbitmqConstant;
import com.mmc.oms.service.uav.UavOrderService;
import com.mmc.oms.service.uav.UavPOService;
import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
......@@ -28,6 +32,9 @@ public class MqConsumer {
@Resource
private UavOrderService uavOrderService;
@Resource
private UavPOService uavPOService;
@RabbitListener(queues = RabbitmqConstant.USER_TOP_UP_DIRECT_QUEUE)
public void subscribeDirectQueue(@Payload String topUpOrder, Channel channel, Message message) {
TopUpOrderVO topUpOrderVO = JSONObject.parseObject(topUpOrder, TopUpOrderVO.class);
......@@ -49,4 +56,18 @@ public class MqConsumer {
uavOrderService.payUavOrder(topUpOrderVO);
log.info("<==========商城支付消息消费结束==========>");
}
@RabbitListener(queues = RabbitmqConstant.ORDER_SIGN_FINISH_QUEUE)
public void finishOrderSign(@Payload String contractInfoDTO, Channel channel, Message message) {
ContractInfoDTO contract = JSONObject.parseObject(contractInfoDTO, ContractInfoDTO.class);
log.info("<==========合同签署完成:信息是---->{}==========>", contract);
// 根据支付消息修改订单状态
String orderNo = contract.getOrderNo();
if (orderNo.startsWith("UD")) {
uavOrderService.uavOrderFinishSign(orderNo);
} else if (orderNo.startsWith("UP")) {
uavPOService.uavPOFinishSign(orderNo);
}
log.info("<==========合同签署完成,消息消费结束==========>");
}
}
package com.mmc.oms.service.uav;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.model.dto.ContractInfoDTO;
import com.mmc.oms.model.dto.user.BaseAccountDTO;
import com.mmc.oms.model.qo.uav.UavOrderQO;
import com.mmc.oms.model.vo.uav.*;
......@@ -44,4 +45,6 @@ public interface UavOrderService {
ResultBody confirmOrder(UavOrderVO uavOrderVO, BaseAccountDTO currentAccount);
ResultBody checkNoReceive();
ResultBody uavOrderFinishSign(String orderNo);
}
......@@ -23,4 +23,6 @@ public interface UavPOService {
ResultBody checkPay(UavOrderPayVO uavOrderPayVO);
ResultBody send(UavOrderExpressVO param);
ResultBody uavPOFinishSign(String orderNo);
}
......@@ -32,6 +32,7 @@ import com.mmc.oms.model.vo.uav.*;
import com.mmc.oms.model.vo.wallet.TopUpOrderVO;
import com.mmc.oms.service.demand.DemandReleaseOrderService;
import com.mmc.oms.service.uav.UavOrderService;
import com.mmc.oms.service.uav.UavPOService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -67,6 +68,9 @@ public class UavOrderServiceImpl implements UavOrderService {
private DemandReleaseOrderService demandReleaseOrderService;
@Autowired
private UavPOService uavPOService;
@Autowired
private UserAppApi userAppApi;
@Autowired
......@@ -540,4 +544,17 @@ public class UavOrderServiceImpl implements UavOrderService {
}
return ResultBody.success();
}
@Override
public ResultBody uavOrderFinishSign(String orderNo) {
UavOrderDO uavOrderDO = uavOrderDao.detailByNo(orderNo);
if (uavOrderDO == null) {
return ResultBody.error(ResultEnum.NOT_FOUND);
}
if (!uavOrderDO.getStatusCode().toString().equals(UavOrderStatus.SIGN.getCode().toString())) {
return ResultBody.error("操作有误,请重试!");
}
this.updateUavOrderStatus(uavOrderDO.getId(), UavOrderStatus.SIGN);
return ResultBody.success();
}
}
package com.mmc.oms.service.uav.impl;
import com.mmc.oms.common.ResultEnum;
import com.mmc.oms.common.result.PageResult;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.dao.uav.UavOrderExpressDao;
......@@ -169,4 +170,17 @@ public class UavPOServiceImpl implements UavPOService {
this.updateUavPOrderStatus(uavPOrder.getId(), UavOrderStatus.WAITING_DELIVER_GOODS);
return ResultBody.success();
}
@Override
public ResultBody uavPOFinishSign(String orderNo) {
UavPurchaseOrderDO uavPOrder = uavPODao.getUavPOrderByNo(orderNo);
if (uavPOrder == null) {
return ResultBody.error(ResultEnum.NOT_FOUND);
}
if (!uavPOrder.getStatusCode().toString().equals(UavOrderStatus.SIGN.getCode().toString())) {
return ResultBody.error("操作有误,请重试!");
}
this.updateUavPOrderStatus(uavPOrder.getId(), UavOrderStatus.SIGN);
return ResultBody.success();
}
}
......@@ -156,4 +156,9 @@
select <include refid="uav_purchase_order_column"/>
from uav_purchase_order where uav_order_id = #{uavOrderId}
</select>
<select id="getUavPOrderByNo" resultType="com.mmc.oms.entity.uav.UavPurchaseOrderDO">
select <include refid="uav_purchase_order_column"/>
from uav_purchase_order where order_no = #{orderNo}
</select>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论