From c1f6ac1c2cfd76ad09a184f7da66be3f447fff6d Mon Sep 17 00:00:00 2001 From: js199000131 <2728757160@qq.com> Date: Fri, 26 May 2023 14:26:15 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=95=86=E5=93=81=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/product/StoreProductController.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/controller/admin/product/StoreProductController.java b/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/controller/admin/product/StoreProductController.java index ee8b57293..f47d25f78 100644 --- a/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/controller/admin/product/StoreProductController.java +++ b/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/controller/admin/product/StoreProductController.java @@ -52,7 +52,7 @@ public class StoreProductController { * @param request 搜索条件 * @param pageParamRequest 分页参数 */ -// @PreAuthorize("@ss.hasPermission('admin:product:list')") + @PreAuthorize("@ss.hasPermission('admin:product:list')") @Operation(summary = "分页列表") //配合swagger使用 @RequestMapping(value = "/list", method = RequestMethod.GET) public CommonResult> getList(@Validated StoreProductSearchRequest request, @@ -64,7 +64,7 @@ public class StoreProductController { * 新增商品 * @param request 新增参数 */ -// @PreAuthorize("@ss.hasPermission('admin:product:save')") + @PreAuthorize("@ss.hasPermission('admin:product:save')") @Operation(summary = "新增商品") @RequestMapping(value = "/save", method = RequestMethod.POST) public CommonResult save(@RequestBody @Validated StoreProductAddRequest request) { @@ -79,7 +79,7 @@ public class StoreProductController { * 删除商品表 * @param id Integer */ -// @PreAuthorize("@ss.hasPermission('admin:product:delete')") + @PreAuthorize("@ss.hasPermission('admin:product:delete')") @Operation(summary = "删除") @RequestMapping(value = "/delete/{id}", method = RequestMethod.GET) public CommonResult delete(@RequestBody @PathVariable Integer id, @RequestParam(value = "type", required = false, defaultValue = "recycle")String type) { @@ -99,7 +99,7 @@ public class StoreProductController { * 恢复已删除商品表 * @param id Integer */ -// @PreAuthorize("@ss.hasPermission('admin:product:restore')") + @PreAuthorize("@ss.hasPermission('admin:product:restore')") @Operation(summary = "恢复商品") @RequestMapping(value = "/restore/{id}", method = RequestMethod.GET) public CommonResult restore(@RequestBody @PathVariable Integer id) { @@ -114,7 +114,7 @@ public class StoreProductController { * 商品修改 * @param storeProductRequest 商品参数 */ -// @PreAuthorize("@ss.hasPermission('admin:product:update')") + @PreAuthorize("@ss.hasPermission('admin:product:update')") @Operation(summary = "商品修改") @RequestMapping(value = "/update", method = RequestMethod.POST) public CommonResult update(@RequestBody @Validated StoreProductAddRequest storeProductRequest) { @@ -129,7 +129,7 @@ public class StoreProductController { * 商品详情 * @param id 商品id */ -// @PreAuthorize("@ss.hasPermission('admin:product:info')") + @PreAuthorize("@ss.hasPermission('admin:product:info')") @Operation(summary = "商品详情") @RequestMapping(value = "/info/{id}", method = RequestMethod.GET) public CommonResult info(@PathVariable Integer id) { @@ -139,7 +139,7 @@ public class StoreProductController { /** * 商品tabs表头数据 */ -// @PreAuthorize("@ss.hasPermission('admin:product:tabs:headers')") + @PreAuthorize("@ss.hasPermission('admin:product:tabs:headers')") @Operation(summary = "商品表头数量") @RequestMapping(value = "/tabs/headers", method = RequestMethod.GET) public CommonResult> getTabsHeader() { @@ -149,7 +149,7 @@ public class StoreProductController { /** * 上架 */ -// @PreAuthorize("@ss.hasPermission('admin:product:up')") + @PreAuthorize("@ss.hasPermission('admin:product:up')") @Operation(summary = "上架") @RequestMapping(value = "/putOnShell/{id}", method = RequestMethod.GET) public CommonResult putOn(@PathVariable Integer id) { @@ -163,7 +163,7 @@ public class StoreProductController { /** * 下架 */ -// @PreAuthorize("@ss.hasPermission('admin:product:down')") + @PreAuthorize("@ss.hasPermission('admin:product:down')") @Operation(summary = "下架") @RequestMapping(value = "/offShell/{id}", method = RequestMethod.GET) public CommonResult offShell(@PathVariable Integer id) { From 76c248f8659821066ac22a87d7ae03942ce5c7b1 Mon Sep 17 00:00:00 2001 From: tangqian Date: Fri, 26 May 2023 14:37:52 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20=E5=95=86=E5=9F=8E=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E8=BF=94=E5=9B=9Ejsapi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/impl/OrderPayServiceImpl.java | 38 ++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderPayServiceImpl.java b/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderPayServiceImpl.java index 6de13cf77..69bad5794 100644 --- a/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderPayServiceImpl.java +++ b/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderPayServiceImpl.java @@ -245,25 +245,28 @@ public class OrderPayServiceImpl implements OrderPayService { // 微信支付,调用微信预下单,返回拉起微信支付需要的信息 if (storeOrder.getPayType().equals(PayConstants.PAY_TYPE_WE_CHAT)) { // 预下单 - Map unifiedorder = unifiedorder(storeOrder, ip, orderPayRequest.getOpenid()); + WxPayUnifiedOrderV3Result wxPayUnifiedOrderV3Result = unifiedorder(storeOrder, ip, orderPayRequest.getOpenid()); + WxPayService wxPayService = wxPayOneAutoConfiguration.wxPayOneService(); + WxPayUnifiedOrderV3Result.JsapiResult jsapiResult = wxPayUnifiedOrderV3Result.getPayInfo(TradeTypeEnum.JSAPI, payProperties.getAppId(), payProperties.getMchId(), wxPayService.getConfig().getPrivateKey()); response.setStatus(true); WxPayJsResultVo vo = new WxPayJsResultVo(); - vo.setAppId(unifiedorder.get("appId")); - vo.setNonceStr(unifiedorder.get("nonceStr")); - vo.setPackages(unifiedorder.get("package")); - vo.setSignType(unifiedorder.get("signType")); - vo.setTimeStamp(unifiedorder.get("timeStamp")); - vo.setPaySign(unifiedorder.get("paySign")); + + vo.setAppId(/*unifiedorder.get("appId")*/jsapiResult.getAppId()); + vo.setNonceStr(/*unifiedorder.get("nonceStr")*/jsapiResult.getNonceStr()); +// vo.setPackages(unifiedorder.get("package")); + vo.setSignType(/*unifiedorder.get("signType")*/jsapiResult.getSignType()); + vo.setTimeStamp(/*unifiedorder.get("timeStamp")*/jsapiResult.getTimeStamp()); + vo.setPaySign(/*unifiedorder.get("paySign")*/jsapiResult.getPaySign()); if (storeOrder.getIsChannel() == 2) { - vo.setMwebUrl(unifiedorder.get("mweb_url")); + vo.setMwebUrl(wxPayUnifiedOrderV3Result.getH5Url()); response.setPayType(PayConstants.PAY_CHANNEL_WE_CHAT_H5); } - if (storeOrder.getIsChannel() == 4 || storeOrder.getIsChannel() == 5) { - vo.setPartnerid(unifiedorder.get("partnerid")); - } +// if (storeOrder.getIsChannel() == 4 || storeOrder.getIsChannel() == 5) { +// vo.setPartnerid(unifiedorder.get("partnerid")); +// } // 更新商户订单号 - storeOrder.setOutTradeNo(unifiedorder.get("outTradeNo")); - storeOrderService.updateById(storeOrder); +// storeOrder.setOutTradeNo(unifiedorder.get("outTradeNo")); +// storeOrderService.updateById(storeOrder); response.setJsConfig(vo); return response; } @@ -287,7 +290,7 @@ public class OrderPayServiceImpl implements OrderPayService { * @param ip ip * @return 预下单返回对象 */ - private Map unifiedorder(StoreOrder storeOrder, String ip,String openid) { + private WxPayUnifiedOrderV3Result unifiedorder(StoreOrder storeOrder, String ip,String openid) { // 获取用户openId // 根据订单支付类型来判断获取公众号openId还是小程序openId @@ -316,7 +319,7 @@ public class OrderPayServiceImpl implements OrderPayService { // 预下单(统一下单) //CreateOrderResponseVo responseVo = wechatNewService.payUnifiedorder(unifiedorderVo); // 组装前端预下单参数 - Map map = new HashMap<>(); +// Map map = new HashMap<>(); // map.put("appId", unifiedorderVo.getAppid()); // map.put("nonceStr", unifiedorderVo.getAppid()); // map.put("package", "prepay_id=".concat(responseVo.getPrepayId())); @@ -348,11 +351,12 @@ public class OrderPayServiceImpl implements OrderPayService { wxPayRequest.setTimeExpire(formatLocalDateTime(LocalDateTime.now().plusMinutes(30), "yyyyMMddHHmmss")); try { WxPayUnifiedOrderV3Result wxPayUnifiedOrderV3Result = wxPayService.unifiedOrderV3(TradeTypeEnum.JSAPI, wxPayRequest); - map.put("mweb_url",wxPayUnifiedOrderV3Result.getH5Url()); +// map.put("mweb_url",wxPayUnifiedOrderV3Result.getH5Url()); + return wxPayUnifiedOrderV3Result; } catch (Exception e) { e.getMessage(); } - return map; + return null; } public static String formatLocalDateTime(LocalDateTime localDateTime, String pattern) { return localDateTime.format(DateTimeFormatter.ofPattern(pattern)); From 43dc44f495010c143908f5741e18125094393e34 Mon Sep 17 00:00:00 2001 From: tangqian Date: Fri, 26 May 2023 14:39:02 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=E5=95=86=E5=9F=8E=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E8=BF=94=E5=9B=9Ejsapi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/iocoder/yudao/module/shop/vo/order/WxPayJsResultVo.java | 2 ++ .../module/shop/service/order/impl/OrderPayServiceImpl.java | 1 + 2 files changed, 3 insertions(+) diff --git a/yudao-module-mall/yudao-module-shop-api/src/main/java/cn/iocoder/yudao/module/shop/vo/order/WxPayJsResultVo.java b/yudao-module-mall/yudao-module-shop-api/src/main/java/cn/iocoder/yudao/module/shop/vo/order/WxPayJsResultVo.java index 60b2a1793..7ea745ff4 100644 --- a/yudao-module-mall/yudao-module-shop-api/src/main/java/cn/iocoder/yudao/module/shop/vo/order/WxPayJsResultVo.java +++ b/yudao-module-mall/yudao-module-shop-api/src/main/java/cn/iocoder/yudao/module/shop/vo/order/WxPayJsResultVo.java @@ -49,4 +49,6 @@ public class WxPayJsResultVo { @Schema(description = "拉起收银台的ticket", required = true) private String ticket; + @Schema(description = "", required = true) + private String packageValue; } diff --git a/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderPayServiceImpl.java b/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderPayServiceImpl.java index 69bad5794..20fff088c 100644 --- a/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderPayServiceImpl.java +++ b/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderPayServiceImpl.java @@ -254,6 +254,7 @@ public class OrderPayServiceImpl implements OrderPayService { vo.setAppId(/*unifiedorder.get("appId")*/jsapiResult.getAppId()); vo.setNonceStr(/*unifiedorder.get("nonceStr")*/jsapiResult.getNonceStr()); // vo.setPackages(unifiedorder.get("package")); + vo.setPackageValue(jsapiResult.getPackageValue()); vo.setSignType(/*unifiedorder.get("signType")*/jsapiResult.getSignType()); vo.setTimeStamp(/*unifiedorder.get("timeStamp")*/jsapiResult.getTimeStamp()); vo.setPaySign(/*unifiedorder.get("paySign")*/jsapiResult.getPaySign());