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 e9e2de00..cd08e592 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 @@ -1,6 +1,7 @@ package net.lab1024.smartadmin.module.system.royalcanin.good; +import com.alibaba.fastjson.JSONObject; import com.alipay.api.internal.util.AlipaySignature; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -13,6 +14,7 @@ import net.lab1024.smartadmin.module.system.alipay.alipayModel.AliPayEntity; import net.lab1024.smartadmin.module.system.alipay.conf.AlipayConfig; 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.service.CartService; import net.lab1024.smartadmin.module.system.royalcanin.good.service.OrderService; @@ -168,6 +170,31 @@ public class OrderController { } } + @ApiOperation(value = "重新支付", notes = "重新支付") + @PostMapping("royalcanin/repayOrderWX") + public ResponseDTO repayOrderWX(String orderNo) throws Exception { + OrderEntity ordersEntity = orderService.findByOrderId(orderNo); + if(ordersEntity != null){ + QueryEntity queryEntity = new QueryEntity(); + queryEntity.setOrderNumber(ordersEntity.getOrderNo()); + String orderInfo = orderService.query(queryEntity); + com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(orderInfo); + JSONObject jsonObject = (JSONObject)jsonArray.get(0); + if(jsonObject.getString("status") == "0") { + WxPayEntity wxPayEntity = new WxPayEntity(); + wxPayEntity.setProduct_id(ordersEntity.getProductCode()); + wxPayEntity.setTotal_fee(jsonObject.getString("salesAmount")); + wxPayEntity.setOut_trade_no(ordersEntity.getOrderNo()); + return ResponseDTO.succData(orderInfo, wxpayService.generateQRCode(wxPayEntity)); + }else { + return ResponseDTO.wrap(OrderResponseCodeConst.GENERATE_ORDER_ERROR,orderInfo); + } + }else { + return ResponseDTO.wrap(OrderResponseCodeConst.WITHOUT_ORDER); + } + } + + @ApiOperation(value = "更新订单", notes = "更新订单") diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/constant/OrderResponseCodeConst.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/constant/OrderResponseCodeConst.java index 56f341bc..88a32342 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/constant/OrderResponseCodeConst.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/constant/OrderResponseCodeConst.java @@ -20,6 +20,8 @@ public class OrderResponseCodeConst extends ResponseCodeConst { public static final OrderResponseCodeConst WITHOUT_ORDER = new OrderResponseCodeConst(9007, "没有该订单数据!"); + public static final OrderResponseCodeConst GENERATE_ORDER_ERROR = new OrderResponseCodeConst(9008, "该订单数据有误,请联系管理员!"); + public OrderResponseCodeConst(int code, String msg) { super(code, msg); } diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java index 19ad8bbf..ff69b234 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java @@ -162,7 +162,24 @@ public class OrderService { addOrSaveEntity.setDeliveryType(jsonObject.getString("deliveryType")); addOrSaveEntity.setSalesAmount(jsonObject.getString("salesAmount")); addOrSaveEntity.setOrderDate(jsonObject.getString("orderDate")); + addOrSaveEntity.setAddressCityName(jsonObject.getString("addressCityName")); + addOrSaveEntity.setAddressCountyName(jsonObject.getString("addressCountyName")); + addOrSaveEntity.setAddressDetailInfo(jsonObject.getString("addressDetailInfo")); + addOrSaveEntity.setAddressPhoneNumber(jsonObject.getString("addressPhoneNumber")); + addOrSaveEntity.setAddressProvinceName(jsonObject.getString("addressProvinceName")); + addOrSaveEntity.setAddressUserName(jsonObject.getString("addressUserName")); addOrSaveEntity.setPaymentAmount(totalFee); + if (ordersEntity.getCouponCode() != ""&& null != ordersEntity.getCouponCode()) { + //coupon json化 + OrderCouponEntity orderCouponEntity = new OrderCouponEntity(); + orderCouponEntity.setCouponCode(ordersEntity.getCouponCode()); + orderCouponEntity.setCouponName(ordersEntity.getCouponName()); + orderCouponEntity.setCouponId(ordersEntity.getCouponId()); + Map orderCouponParamMap = MapRemoveNullUtil.setConditionMap(orderCouponEntity); + MapRemoveNullUtil.removeNullEntry(orderCouponParamMap); + net.sf.json.JSONObject orderCouponJson = net.sf.json.JSONObject.fromObject(orderCouponParamMap); + addOrSaveEntity.setOrderCoupon(orderCouponJson.toString()); + } addOrSave(addOrSaveEntity); return ResponseDTO.succ(); }else{ @@ -247,4 +264,9 @@ public class OrderService { } return endTotal; } + + public OrderEntity findByOrderId(String orderNo){ + return ordersDao.findByOrderId(orderNo); + } + }