提交 12c1baaf 作者: zhenjie

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

上级 e73a9520
...@@ -2,6 +2,7 @@ package com.mmc.oms.controller.uav; ...@@ -2,6 +2,7 @@ package com.mmc.oms.controller.uav;
import com.mmc.oms.common.result.ResultBody; import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.controller.BaseController; 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.UavOrderDTO;
import com.mmc.oms.model.dto.uav.UavOrderStatusDTO; import com.mmc.oms.model.dto.uav.UavOrderStatusDTO;
import com.mmc.oms.model.qo.uav.UavOrderQO; import com.mmc.oms.model.qo.uav.UavOrderQO;
...@@ -125,8 +126,6 @@ public class UavOrderController extends BaseController { ...@@ -125,8 +126,6 @@ public class UavOrderController extends BaseController {
return uavOrderService.confirmOrder(uavOrderVO, this.getCurrentAccount(request)); return uavOrderService.confirmOrder(uavOrderVO, this.getCurrentAccount(request));
} }
// TODO 签署完成(修改订单状态)
// 设置订单抽成比例 // 设置订单抽成比例
// 微信完成回调-修改订单状态 // 微信完成回调-修改订单状态
......
...@@ -34,4 +34,6 @@ public interface UavPODao { ...@@ -34,4 +34,6 @@ public interface UavPODao {
void updateUavPOrderPay(UavPurchaseOrderPayDO uavOrderPayDO); void updateUavPOrderPay(UavPurchaseOrderPayDO uavOrderPayDO);
UavPurchaseOrderDO getUavPOrderByUavOId(Integer uavOrderId); UavPurchaseOrderDO getUavPOrderByUavOId(Integer uavOrderId);
UavPurchaseOrderDO getUavPOrderByNo(String orderNo);
} }
...@@ -39,7 +39,7 @@ public class AuthSignatureFilter implements AuthFilter { ...@@ -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"}; private static final String[] USE_KEY = {"/oms/account/loginByUsbKey"};
......
...@@ -10,4 +10,6 @@ public class RabbitmqConstant { ...@@ -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 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; package com.mmc.oms.mq.listener;
import com.alibaba.fastjson.JSONObject; 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.dao.topup.TopUpOrderDao;
import com.mmc.oms.entity.topup.TopUpOrderDO; 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.model.vo.wallet.TopUpOrderVO;
import com.mmc.oms.mq.constant.RabbitmqConstant; import com.mmc.oms.mq.constant.RabbitmqConstant;
import com.mmc.oms.service.uav.UavOrderService; import com.mmc.oms.service.uav.UavOrderService;
import com.mmc.oms.service.uav.UavPOService;
import com.rabbitmq.client.Channel; import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message; import org.springframework.amqp.core.Message;
...@@ -28,6 +32,9 @@ public class MqConsumer { ...@@ -28,6 +32,9 @@ public class MqConsumer {
@Resource @Resource
private UavOrderService uavOrderService; private UavOrderService uavOrderService;
@Resource
private UavPOService uavPOService;
@RabbitListener(queues = RabbitmqConstant.USER_TOP_UP_DIRECT_QUEUE) @RabbitListener(queues = RabbitmqConstant.USER_TOP_UP_DIRECT_QUEUE)
public void subscribeDirectQueue(@Payload String topUpOrder, Channel channel, Message message) { public void subscribeDirectQueue(@Payload String topUpOrder, Channel channel, Message message) {
TopUpOrderVO topUpOrderVO = JSONObject.parseObject(topUpOrder, TopUpOrderVO.class); TopUpOrderVO topUpOrderVO = JSONObject.parseObject(topUpOrder, TopUpOrderVO.class);
...@@ -49,4 +56,18 @@ public class MqConsumer { ...@@ -49,4 +56,18 @@ public class MqConsumer {
uavOrderService.payUavOrder(topUpOrderVO); uavOrderService.payUavOrder(topUpOrderVO);
log.info("<==========商城支付消息消费结束==========>"); 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; package com.mmc.oms.service.uav;
import com.mmc.oms.common.result.ResultBody; 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.dto.user.BaseAccountDTO;
import com.mmc.oms.model.qo.uav.UavOrderQO; import com.mmc.oms.model.qo.uav.UavOrderQO;
import com.mmc.oms.model.vo.uav.*; import com.mmc.oms.model.vo.uav.*;
...@@ -44,4 +45,6 @@ public interface UavOrderService { ...@@ -44,4 +45,6 @@ public interface UavOrderService {
ResultBody confirmOrder(UavOrderVO uavOrderVO, BaseAccountDTO currentAccount); ResultBody confirmOrder(UavOrderVO uavOrderVO, BaseAccountDTO currentAccount);
ResultBody checkNoReceive(); ResultBody checkNoReceive();
ResultBody uavOrderFinishSign(String orderNo);
} }
...@@ -23,4 +23,6 @@ public interface UavPOService { ...@@ -23,4 +23,6 @@ public interface UavPOService {
ResultBody checkPay(UavOrderPayVO uavOrderPayVO); ResultBody checkPay(UavOrderPayVO uavOrderPayVO);
ResultBody send(UavOrderExpressVO param); ResultBody send(UavOrderExpressVO param);
ResultBody uavPOFinishSign(String orderNo);
} }
...@@ -32,6 +32,7 @@ import com.mmc.oms.model.vo.uav.*; ...@@ -32,6 +32,7 @@ import com.mmc.oms.model.vo.uav.*;
import com.mmc.oms.model.vo.wallet.TopUpOrderVO; import com.mmc.oms.model.vo.wallet.TopUpOrderVO;
import com.mmc.oms.service.demand.DemandReleaseOrderService; import com.mmc.oms.service.demand.DemandReleaseOrderService;
import com.mmc.oms.service.uav.UavOrderService; import com.mmc.oms.service.uav.UavOrderService;
import com.mmc.oms.service.uav.UavPOService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -67,6 +68,9 @@ public class UavOrderServiceImpl implements UavOrderService { ...@@ -67,6 +68,9 @@ public class UavOrderServiceImpl implements UavOrderService {
private DemandReleaseOrderService demandReleaseOrderService; private DemandReleaseOrderService demandReleaseOrderService;
@Autowired @Autowired
private UavPOService uavPOService;
@Autowired
private UserAppApi userAppApi; private UserAppApi userAppApi;
@Autowired @Autowired
...@@ -540,4 +544,17 @@ public class UavOrderServiceImpl implements UavOrderService { ...@@ -540,4 +544,17 @@ public class UavOrderServiceImpl implements UavOrderService {
} }
return ResultBody.success(); 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; 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.PageResult;
import com.mmc.oms.common.result.ResultBody; import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.dao.uav.UavOrderExpressDao; import com.mmc.oms.dao.uav.UavOrderExpressDao;
...@@ -169,4 +170,17 @@ public class UavPOServiceImpl implements UavPOService { ...@@ -169,4 +170,17 @@ public class UavPOServiceImpl implements UavPOService {
this.updateUavPOrderStatus(uavPOrder.getId(), UavOrderStatus.WAITING_DELIVER_GOODS); this.updateUavPOrderStatus(uavPOrder.getId(), UavOrderStatus.WAITING_DELIVER_GOODS);
return ResultBody.success(); 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 @@ ...@@ -156,4 +156,9 @@
select <include refid="uav_purchase_order_column"/> select <include refid="uav_purchase_order_column"/>
from uav_purchase_order where uav_order_id = #{uavOrderId} from uav_purchase_order where uav_order_id = #{uavOrderId}
</select> </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> </mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论