新零售支付全家桶


主动查询支付结果

<h3>编写UpdateOrderStatusForm.java</h3> <pre><code class="language-java">@Data @ApiModel(value = "更新订单状态的表单") public class UpdateOrderStatusForm { @ApiModelProperty(value = "订单ID") @Min(1) private Integer orderId; }</code></pre> <h3>编写WxCtroller.java</h3> <pre><code class="language-java">@Login @PostMapping("/updateOrderStatus") @ApiOperation("更新商品订单状态") public R updateOrderStatus(@RequestBody UpdateOrderStatusForm form, @RequestHeader HashMap header) { ValidatorUtils.validateEntity(form); String token = header.get("token").toString(); int userId = Integer.parseInt(jwtUtils.getClaimByToken(token).getSubject()); int orderId = form.getOrderId(); OrderEntity orderEntity = new OrderEntity(); orderEntity.setUserId(userId); orderEntity.setId(orderId); QueryWrapper wrapper = new QueryWrapper(orderEntity); int count = orderService.count(wrapper); if (count == 0) { return R.error("用户与订单不匹配"); } orderEntity = orderService.getOne(wrapper); String code = orderEntity.getCode(); HashMap map = new HashMap(); map.put("appid", appId); map.put("mch_id", mchId); map.put("out_trade_no", code); map.put("nonce_str", WXPayUtil.generateNonceStr()); try { String sign = WXPayUtil.generateSignature(map, key); map.put("sign", sign); WXPay wxPay = new WXPay(myWXPayConfig); Map&lt;String, String&gt; result = wxPay.orderQuery(map); String returnCode = result.get("return_code"); String resultCode = result.get("result_code"); if ("SUCCESS".equals(returnCode) &amp;&amp; "SUCCESS".equals(resultCode)) { String tradeState = result.get("trade_state"); if ("SUCCESS".equals(tradeState)) { UpdateWrapper updateWrapper = new UpdateWrapper(); updateWrapper.eq("code", code); updateWrapper.set("status", 2); updateWrapper.set("payment_type",1); orderService.update(updateWrapper); return R.ok("订单状态已修改"); } else { return R.ok("订单状态未修改"); } } return R.ok("订单状态未修改"); } catch (Exception e) { e.printStackTrace(); return R.error("查询支付订单失败"); } }</code></pre> <h3>编写order.vue</h3> <pre><code class="language-javascript">uni.request({ url:that.url.wx.updateOrderStatus, method:"POST", header:{ "token":uni.getStorageSync("token") }, data:{ "orderId":id }, success:function(resp){ let pages=getCurrentPages() let page=pages[pages.length-1] page.onShow() }, fail:function(){ console.log("更新订单状态失败") } })</code></pre>

页面列表

ITEM_HTML