From 7ed38ff6fc4f9c3507ef978cc6aa45c4a16a97d8 Mon Sep 17 00:00:00 2001 From: "602090531@qq.com" Date: Fri, 25 Mar 2022 19:49:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=9C=AA=E5=88=B0=E7=94=9F?= =?UTF-8?q?=E6=95=88=E6=97=B6=E9=97=B4=E4=BC=98=E6=83=A0=E5=88=B8=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../royalcanin/good/OrderController.java | 48 ++++++++++++++++--- 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java index 7afbd6ee..ed0e9987 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java @@ -15,10 +15,7 @@ import net.lab1024.smartadmin.module.system.alipay.conf.AlipayConfig; import net.lab1024.smartadmin.module.system.royalcanin.CouponService; import net.lab1024.smartadmin.module.system.royalcanin.coupon.CouponGetAllEntity; import net.lab1024.smartadmin.module.system.royalcanin.good.constant.OrderResponseCodeConst; -import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderAddress; -import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderEntity; -import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrdersEntity; -import net.lab1024.smartadmin.module.system.royalcanin.good.model.ProductMasterQueryEntity; +import net.lab1024.smartadmin.module.system.royalcanin.good.model.*; import net.lab1024.smartadmin.module.system.royalcanin.good.service.CartService; import net.lab1024.smartadmin.module.system.royalcanin.good.service.GoodService; import net.lab1024.smartadmin.module.system.royalcanin.good.service.OrderService; @@ -27,10 +24,10 @@ import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.QueryEntity; import net.lab1024.smartadmin.module.system.wxpay.MyConfig; import net.lab1024.smartadmin.module.system.wxpay.WxpayService; import net.lab1024.smartadmin.module.system.wxpay.wxPayModel.WxPayEntity; -import net.lab1024.smartadmin.util.GenerateSequenceUtil; -import net.lab1024.smartadmin.util.SmartStringUtil; +import net.lab1024.smartadmin.util.*; import net.sf.json.JSONArray; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; @@ -61,6 +58,9 @@ public class OrderController { @Autowired private GoodService goodService; + @Value("${royalcanin.order}") + private String url ; + @ApiOperation(value = "微信支付订单", notes = "生成订单") @PostMapping("royalcanin/generateOrderWX") public ResponseDTO> generateOrderWX(@RequestBody List ordersEntityList){ @@ -73,6 +73,42 @@ public class OrderController { return orderService.createOrderWXH5Info(ordersEntityList); } + @ApiOperation(value = "微信支付", notes = "生成二维码支付订单") + @PostMapping("royalcanin/generateQrCode") + public ResponseDTO> generateQrCode(@RequestBody OrdersEntity ordersEntity) throws Exception { + if(SmartStringUtil.isEmpty(ordersEntity.getOrderNo())){ + return ResponseDTO.wrap(OrderResponseCodeConst.GENERATE_ORDER_ERROR); + } + //校验本地是否 + OrderEntity order = orderService.findByOrderId(ordersEntity.getOrderNo()); + if(null == order){ + return ResponseDTO.wrap(OrderResponseCodeConst.WITHOUT_ORDER); + } + //校验CRM该订单数据是否存在 + QueryEntity queryEntity = new QueryEntity(); + Map paramMap = MapRemoveNullUtil.setConditionMap(queryEntity); + paramMap.put("orderNumber", ordersEntity.getOrderNo()); + MapRemoveNullUtil.removeNullEntry(paramMap); + String result =SmartHttpUtil.sendPostForm(url+"query",paramMap,null); + JSONObject jsonObject = JSONObject.parseObject(result); + if(SmartStringUtil.isEmpty(jsonObject.getString("data"))){ + return ResponseDTO.wrap(OrderResponseCodeConst.WITHOUT_ORDER); + }; + String afterDecodeResult = AESUtil.decryptLinux(jsonObject.getString("data"), AESUtil.KEY); + com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(afterDecodeResult); + JSONObject jsonObjectResult = (JSONObject)jsonArray.get(0); + //JSONObject orderJson = JSONObject.parseObject(afterDecodeResult); + + WxPayEntity wxPayEntity = new WxPayEntity(); + wxPayEntity.setProduct_id(order.getProductCode()); + wxPayEntity.setTotal_fee(StringUtil.toString(jsonObjectResult.getString("salesAmount"))); + wxPayEntity.setOut_trade_no(jsonObjectResult.getString("orderNumber")); + Map returnMap = new HashMap<>(); + returnMap.put("orderNumber", jsonObjectResult.getString("orderNumber")); + returnMap.put("orderAmount", jsonObjectResult.getString("salesAmount")); + return ResponseDTO.succData(returnMap, wxpayService.generateQRCode(wxPayEntity)); + } + //原API /* @ApiOperation(value = "微信支付订单", notes = "生成订单")