| | |
| | | package com.matrix.system.shopXcx.api.action; |
| | | |
| | | import com.matrix.component.asyncmessage.AsyncMessageManager; |
| | | import com.matrix.component.rabbitmq.RabiitMqTemplate; |
| | | import com.matrix.component.wechat.externalInterface.common.Signature; |
| | | import com.matrix.component.wechat.externalInterface.common.Util; |
| | | import com.matrix.component.wechat.externalInterface.protocol.queryProtocol.NotifyData; |
| | | import com.matrix.config.RabbitMqConfig; |
| | | import com.matrix.core.pojo.AjaxResult; |
| | | import com.matrix.core.tools.LogUtil; |
| | | import com.matrix.system.common.bean.BusParameterSettings; |
| | |
| | | import com.matrix.system.shopXcx.dao.ShopActivitiesGroupJoinUserDao; |
| | | import com.matrix.system.shopXcx.dao.ShopOrderDao; |
| | | import com.matrix.system.shopXcx.dao.ShopPayLogDao; |
| | | import com.matrix.system.shopXcx.mqTask.MQTaskRouting; |
| | | import com.matrix.system.shopXcx.mqTask.AsyncMessageRouting; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | |
| | | @Autowired |
| | | ScoreVipDetailService scoreVipDetailService; |
| | | |
| | | @Autowired |
| | | AsyncMessageManager asyncMessageManager; |
| | | |
| | | |
| | | @Value("${evn}") |
| | |
| | | //设置支付状态为支付成功 |
| | | modifyMap.put("payStatus", ShopOrder.ORDER_PAY_STATUS_SUCCESS); |
| | | //设置订单状态 |
| | | if (ShopOrder.ORDER_TYPE_GOODS == order.getOrderType()) { |
| | | if (ShopOrder.SHIPPING_METHOD_WL == order.getShippingMethod()) { |
| | | //如果是商品订单则进入待发货 |
| | | modifyMap.put("orderStatus", ShopOrder.ORDER_STATUS_WAIT_SEND); |
| | | } else { |
| | | //如果是服务订单则进入待评价 |
| | | modifyMap.put("orderStatus", ShopOrder.ORDER_STATUS_WAIT_REMARK); |
| | | } else if (ShopOrder.SHIPPING_METHOD_MDZT == order.getShippingMethod()) { |
| | | //如果是门店自提则进入待收款 |
| | | modifyMap.put("orderStatus", ShopOrder.ORDER_STATUS_WAIT_RECEIVE); |
| | | } |
| | | shopOrderDao.updateByMap(modifyMap); |
| | | |
| | |
| | | } |
| | | shopActivitiesGroupJoinDao.updateByModel(groupJoin); |
| | | |
| | | SysVipInfo sysVipInfo = sysVipInfoDao.selectByPhone(order.getUserTel()); |
| | | SysVipInfo sysVipInfo = sysVipInfoDao.selectByPhone(order.getUserTel(), order.getCompanyId()); |
| | | if(sysVipInfo!=null){ |
| | | sysVipInfo.setIsDeal(SysVipInfo.DEAL_VIP); |
| | | sysVipInfoDao.update(sysVipInfo); |
| | |
| | | } |
| | | |
| | | // 根据订单类型创建不同的处理任务 |
| | | rabiitMqTemplate.sendTopicMsg(RabbitMqConfig.MQ_EXCHANGE_TOPIC +evn, MQTaskRouting.CREATE_ORDER+evn, orderId); |
| | | |
| | | asyncMessageManager.sendMsg(AsyncMessageRouting.CREATE_ORDER,"orderId=%s",orderId); |
| | | |
| | | |
| | | threadResult.putInMap("status", "success"); |
| | | resXml = AppConstance.RESULT_XML_SUCCESS; |
| | | |
| | | //支付记录 |
| | | recordPayLog(Integer.valueOf(orderId), 1, order.getOrderNo(), payMoney, payLog, "支付成功", ShopOrder.ORDER_PAY_STATUS_SUCCESS); |
| | | recordPayLog(Integer.valueOf(orderId), 1, order.getOrderNo(), payMoney, "支付成功", ShopOrder.ORDER_PAY_STATUS_SUCCESS); |
| | | |
| | | |
| | | } else { |
| | |
| | | BigDecimal.ROUND_HALF_DOWN).doubleValue(); |
| | | |
| | | if (moneyCardUseFlow.getCarUseId()==null) { |
| | | ShopPayLog payLog = new ShopPayLog(); |
| | | if(payMoney==moneyCardUseFlow.getTotal()){ |
| | | |
| | | if(payMoney.equals(moneyCardUseFlow.getTotal())){ |
| | | threadResult.putInMap("status", "success"); |
| | | resXml = AppConstance.RESULT_XML_SUCCESS; |
| | | MoneyCardUse moneyCardUse = moneyCardUseDao.selectVipCard(user.getId()); |
| | | moneyCardUseFlow.setCarUseId(moneyCardUse.getId()); |
| | | moneyCardUseFlow.setCardName(moneyCardUse.getCardName()); |
| | | moneyCardUseFlow.setBalance(moneyCardUse.getGiftMoney() + moneyCardUse.getRealMoney()); |
| | | Double balance=moneyCardUse.getGiftMoney() + moneyCardUse.getRealMoney(); |
| | | moneyCardUseFlow.setBalance(balance==null?0:balance); |
| | | moneyCardUseFlowDao.update(moneyCardUseFlow); |
| | | |
| | | moneyCardUse.setRealMoney(moneyCardUse.getRealMoney()+payMoney.doubleValue()); |
| | | moneyCardUseDao.update(moneyCardUse); |
| | | |
| | | //充值记录 |
| | | recordPayLog(Integer.valueOf(moneyCardUseFlowId),2,moneyCardUseFlow.getPayNo(),new BigDecimal(payMoney), payLog, "充值成功", ShopOrder.ORDER_PAY_STATUS_SUCCESS); |
| | | recordPayLog(Integer.valueOf(moneyCardUseFlowId),2,moneyCardUseFlow.getPayNo(),new BigDecimal(payMoney), "充值成功", ShopOrder.ORDER_PAY_STATUS_SUCCESS); |
| | | }else{ |
| | | LogUtil.debug("支付金额不一致,检查支付金额payMoney={},order.getPayMoney()={}", payMoney, moneyCardUseFlow.getTotal()); |
| | | threadResult.putInMap("status", "err"); |
| | |
| | | |
| | | |
| | | |
| | | private void recordPayLog(Integer orderId, Integer type,String orderNo, BigDecimal payMoney, ShopPayLog payLog, String payRemark, int payStatus) { |
| | | private void recordPayLog(Integer orderId, Integer type,String orderNo, BigDecimal payMoney, String payRemark, int payStatus) { |
| | | //设置支付类型为收款 |
| | | ShopPayLog payLog=new ShopPayLog(); |
| | | payLog.setPayType(type); |
| | | payLog.setJoinId(orderId); |
| | | payLog.setPayMoney(payMoney); |