wuxw 3 lat temu
rodzic
commit
b8d1f25f4f

+ 20 - 0
java110-core/src/main/java/com/java110/core/factory/CallApiServiceFactory.java

@@ -54,6 +54,26 @@ public class CallApiServiceFactory {
         return null;
     }
 
+    /**
+     * 查询
+     *
+     * @param param       传入对象
+     * @param serviceCode 服务编码
+     * @param t           返回类
+     * @param <T>
+     * @return
+     */
+    public static <T> T getForApi(String appId, T param, String serviceCode, Class<T> t,String userId) {
+
+        IPageData pd = PageData.newInstance().builder(userId, "未知", "", "", "", "", "", "", appId);
+
+        List<T> list = getForApis(pd, param, serviceCode, t);
+        if (list != null && list.size() > 0) {
+            return list.get(0);
+        }
+        return null;
+    }
+
     /**
      * 查询
      *

+ 4 - 1
service-acct/src/main/java/com/java110/acct/cmd/payment/UnifiedPaymentCmd.java

@@ -101,8 +101,11 @@ public class UnifiedPaymentCmd extends Cmd{
 
         logger.debug(">>>>>>>>>>>>>>>>支付业务下单返回,{}",JSONObject.toJSONString(paymentOrderDto));
 
+        String env = MappingCache.getValue("HC_ENV");
+
         // 3.0 如果支付金额为0 直接调用 支付完通知接口
-        if (paymentOrderDto.getMoney() <= 0) {
+        // 这里 演示环境不向微信下单
+        if (paymentOrderDto.getMoney() <= 0 || "DEV".equals(env) || "TEST".equals(env)) {
             paymentBusiness.notifyPayment(paymentOrderDto,reqJson);
             JSONObject param = new JSONObject();
             param.put("code", "100");

+ 55 - 0
service-acct/src/main/java/com/java110/acct/payment/business/goods/BuyGroupGoodsBusiness.java

@@ -0,0 +1,55 @@
+package com.java110.acct.payment.business.goods;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.acct.payment.IPaymentBusiness;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.factory.CallApiServiceFactory;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.payment.PaymentOrderDto;
+import org.springframework.stereotype.Service;
+
+@Service("buyGroupGoods")
+public class BuyGroupGoodsBusiness implements IPaymentBusiness {
+    @Override
+    public PaymentOrderDto unified(ICmdDataFlowContext context, JSONObject reqJson) {
+
+        String appId = context.getReqHeaders().get("app-id");
+        String userId = context.getReqHeaders().get("user-id");
+
+        /**
+         * ?page=1&row=1&shopId=502022081626050001&cartType=3306
+         * &productId=902022120101840004&valueId=912022120139430012&goodsNum=1&groupId=102022122018530001
+         */
+
+        JSONObject paramIn = new JSONObject();
+        paramIn.put("page",1);
+        paramIn.put("row",1);
+        paramIn.put("shopId",reqJson.getString("shopId"));
+        paramIn.put("cartType","3306");
+        paramIn.put("productId",reqJson.getString("productId"));
+        paramIn.put("valueId",reqJson.getString("valueId"));
+        paramIn.put("goodsNum",reqJson.getString("goodsNum"));
+        paramIn.put("groupId",reqJson.getString("groupId"));
+        JSONObject orderInfo = CallApiServiceFactory.getForApi(appId, reqJson, "/app/storeOrder.computeGroupProductPrice",
+                JSONObject.class);
+        String orderId = GenerateCodeFactory.getGeneratorId("11");
+        String feeName = "购买商品";
+        double money = Double.parseDouble(orderInfo.getString("payPrice"));
+
+        PaymentOrderDto paymentOrderDto = new PaymentOrderDto();
+        paymentOrderDto.setOrderId(orderId);
+        paymentOrderDto.setMoney(money);
+        paymentOrderDto.setName(feeName);
+        return paymentOrderDto;
+    }
+
+    @Override
+    public void notifyPayment(PaymentOrderDto paymentOrderDto, JSONObject reqJson) {
+
+        JSONObject paramIn = new JSONObject();
+        paramIn.put("orderId", paymentOrderDto.getOrderId());
+        paramIn.put("payOrderId",paymentOrderDto.getTransactionId());
+        JSONObject paramOut = CallApiServiceFactory.postForApi(paymentOrderDto.getAppId(), reqJson, "/app/cart.unifiedGroupProductOrder", JSONObject.class, "-1");
+
+    }
+}