Commit 0b85829f by chongli

修复小程序赛事下单支付回调无效的问题

parent 8248bb9d
......@@ -126,22 +126,11 @@ public abstract class AbstractNotifyService extends CorePaymentService {
}
public String notifyForWeiXinPay(String xml) throws Exception{
System.out.println(xml);
System.out.println("bbbbbbbbbbbbbbbbbbbbbbbbbbbb__1");
System.out.println("bbbbbbbbbbbbbbbbbbbbbbbbbbbb__1");
System.out.println("bbbbbbbbbbbbbbbbbbbbbbbbbbbb__1");
Map<String,Object> notifyMap = WXUtil.doXMLParse(xml);
if(notifyMap.get("return_code").equals("SUCCESS")){
System.out.println("bbbbbbbbbbbbbbbbbbbbbbbbbbbb__2");
System.out.println("bbbbbbbbbbbbbbbbbbbbbbbbbbbb__2");
System.out.println("bbbbbbbbbbbbbbbbbbbbbbbbbbbb__2");
String orderNo = notifyMap.get("out_trade_no").toString();//商户订单号
Order order = this.orderDao.getAndLockOrderByOrderNo(Long.parseLong(orderNo));
if(notifyMap.get("result_code").equals("SUCCESS")){
System.out.println("bbbbbbbbbbbbbbbbbbbbbbbbbbbb__3");
System.out.println("bbbbbbbbbbbbbbbbbbbbbbbbbbbb__3");
// 4、设置订单的状态:除去扣款失败,增加已扣款状态
order.setProcessStatus(order.getProcessStatus()
& (OrderStatusBitEnum.getSumStatusValue() - OrderStatusBitEnum.DEDUCT_FAILED
......@@ -158,8 +147,9 @@ public abstract class AbstractNotifyService extends CorePaymentService {
handPayException(order, e);
}
}
// 6、更新订单信息(状态)
//6、更新订单信息(状态)
this.orderDao.update(order);
this.doPaySuccess(order);
}else{
if (order.getOrderStatusEnum() == OrderStatusEnum.CHARGING && order.getCancelStatus() == 0) {
......@@ -168,8 +158,10 @@ public abstract class AbstractNotifyService extends CorePaymentService {
order.setProcessStatus(order.getProcessStatus()
| OrderStatusBitEnum.DEDUCT_FAILED.getValue());
}
order.setPayDate(new Date());
this.orderDao.update(order);
}
return null;
}
......
......@@ -201,6 +201,8 @@
read-only="false" isolation="READ_COMMITTED" />
<tx:method name="notify" propagation="REQUIRED" read-only="false"
isolation="READ_COMMITTED" />
<tx:method name="notifyForWeiXinPay" propagation="REQUIRED" read-only="false"
isolation="READ_COMMITTED" />
<tx:method name="SubmitOrderSVC" propagation="REQUIRED"
isolation="READ_COMMITTED" read-only="false" />
<tx:method name="deductFail" propagation="REQUIRED"
......
......@@ -7,6 +7,7 @@ import java.io.InputStreamReader;
import java.util.Date;
import java.util.List;
import com.ctrip.fun.common.core.util.BeanConverter;
import com.ctrip.fun.common.core.util.DateUtil;
import com.ctrip.fun.common.vo.market.EventGameBean;
import com.ctrip.fun.common.vo.market.EventGameGroupBean;
......@@ -17,11 +18,14 @@ import com.ctrip.fun.common.vo.order.OrderStatusBitEnum;
import com.ctrip.fun.golf.dao.market.EventGameDao;
import com.ctrip.fun.golf.dao.market.EventGameGroupDao;
import com.ctrip.fun.golf.dao.market.EventGamePlayerDao;
import com.ctrip.fun.golf.dao.order.OrderDao;
import com.ctrip.fun.golf.domain.market.EventGameGroup;
import com.ctrip.fun.golf.domain.order.Order;
import com.ctrip.fun.golf.service.market.EventGameGroupService;
import com.ctrip.fun.golf.service.market.EventGamePlayerService;
import com.ctrip.fun.golf.service.market.EventGameService;
import com.ctrip.fun.golf.service.order.EventCustomerInfoService;
import com.ctrip.fun.golf.service.payment.EventActivityNotifyService;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -38,6 +42,10 @@ public class UserOrderBehaviourStatisticsDaoTest {
private EventGameGroupService eventGameGroupService;
@Autowired
private EventGamePlayerService eventGamePlayerService;
@Autowired
private OrderDao orderDao;
@Autowired
private EventActivityNotifyService eventActivityNotifyService;
public static void main(String[] args) {
int[] status = new int[]{23,100,20,276824087,19,108,268446996,0,276824083,293601303,16777239,268446999,12,3,96,268444944,4,268444947,16,276824067,99,276831511,5395,293608727,268447076,276835607,276829459,5399,16784663};
......@@ -53,6 +61,15 @@ public class UserOrderBehaviourStatisticsDaoTest {
}
@Test
public void testOrderUpdate() {
String xml = "<xml><appid><![CDATA[wx51a2695abf1a0b12]]></appid><bank_type><![CDATA[CFT]]></bank_type><cash_fee><![CDATA[1]]></cash_fee><fee_type><![CDATA[CNY]]></fee_type><is_subscribe><![CDATA[N]]></is_subscribe><mch_id><![CDATA[1276126201]]></mch_id><nonce_str><![CDATA[b4b7c21fcf674c07bf958ca7277fc8e4]]></nonce_str><openid><![CDATA[orY7M4s7zl49RM76YW406I1pJBtg]]></openid><out_trade_no><![CDATA[15366316128222]]></out_trade_no><result_code><![CDATA[SUCCESS]]></result_code><return_code><![CDATA[SUCCESS]]></return_code><sign><![CDATA[A3B1178255A110BE36755D67DE1521B1]]></sign><time_end><![CDATA[20180911100700]]></time_end><total_fee>1</total_fee><trade_type><![CDATA[JSAPI]]></trade_type><transaction_id><![CDATA[4200000167201809117404876092]]></transaction_id></xml>";
try {
eventActivityNotifyService.notifyForWeiXinPay(xml);
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testListOrderUser() throws Exception {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment