问题:
微信支付需要公司提供相应的东西,我们没有,但希望自己的可以功能完备地走下去。
解决:
找到对应文件,在pages下的index.js的第226行,将上面的框里面的注释掉,下面的取消注释。
操作后的样子。
在OrderServiceImpl.java中注释掉图片中的内容。如图所示
在“return vo;”的上面添加代码(代码在图片后面)
JSONObject jsonObject = new JSONObject();
jsonObject.put("code", "ORDERPAID");
OrderPaymentVO vo = jsonObject.toJavaObject(OrderPaymentVO.class);
vo.setPackageStr(jsonObject.getString("package"));
//为替代微信支付成功后的数据库订单状态更新,多定义一个方法进行修改
Integer OrderPaidStatus = Orders.PAID; //支付状态,已支付
Integer OrderStatus = Orders.TO_BE_CONFIRMED; //订单状态,待接单
//发现没有将支付时间 check_out属性赋值,所以在这里更新
LocalDateTime check_out_time = LocalDateTime.now();
//获取订单号码
String orderNumber = ordersPaymentDTO.getOrderNumber();
log.info("调用updateStatus,用于替换微信支付更新数据库状态的问题");
orderMapper.updateStatus(OrderStatus, OrderPaidStatus, check_out_time, orderNumber);
在OrderMapper中添加对应的代码。(代码在后面)
@Update("update orders set status = #{orderStatus},pay_status = #{orderPaidStatus} ,checkout_time = #{check_out_time} " +
"where number = #{orderNumber}")
void updateStatus(Integer orderStatus, Integer orderPaidStatus, LocalDateTime check_out_time, String orderNumber);
效果展示:支付成功