gongfuzhu 1 vuosi sitten
vanhempi
commit
b727ce2d87

+ 1 - 0
SpringBatchServiceClient/src/main/java/com/zswl/cloud/springBatch/client/model/request/XiaoJuQueryNewOrderModel.java

@@ -12,6 +12,7 @@ import java.util.List;
 @NoArgsConstructor
 public class XiaoJuQueryNewOrderModel {
 
+    private String epId;
     private String storeId;
     private long itemId;
     private String gunNo;

+ 64 - 4
SpringBatchServiceServer/src/main/java/com/zswl/cloud/springBtach/server/core/service/XiaoJuService.java

@@ -3,6 +3,7 @@ package com.zswl.cloud.springBtach.server.core.service;
 
 import cn.hutool.core.lang.Snowflake;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.github.microservice.auth.client.content.ResultContent;
 import com.github.microservice.auth.client.content.ResultState;
@@ -18,8 +19,15 @@ import com.xiaoju.open.oil.interfaces.request.*;
 import com.xiaoju.open.oil.interfaces.request.miniprogram.MiniCancelOrderStatusRequest;
 import com.xiaoju.open.oil.interfaces.response.*;
 import com.xiaoju.open.oil.security.secret.SecurityService;
+import com.zhongshu.payment.client.model.order.v2.CreatOrderResultModel;
+import com.zhongshu.payment.client.model.order.v2.CreateOrder2Model;
+import com.zhongshu.payment.client.service.v2.OrderService2;
+import com.zhongshu.payment.client.type.JobFlowMap;
+import com.zhongshu.payment.client.type.TransferOwner;
+import com.zhongshu.payment.client.type.TransferType;
 import com.zswl.cloud.shop.client.dto.life.TripartiteShopDto;
 import com.zswl.cloud.shop.client.service.ShopService;
+import com.zswl.cloud.shop.client.vo.life.ShopDetailVo;
 import com.zswl.cloud.springBatch.client.model.request.*;
 import com.zswl.cloud.springBtach.server.core.dao.ApiLogDao;
 import com.zswl.cloud.springBtach.server.core.dao.XiaoJuOrderDao;
@@ -32,8 +40,10 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Optional;
 
 @Log4j2
 @Service
@@ -60,6 +70,8 @@ public class XiaoJuService {
 
     @Autowired
     private ShopService shopService;
+    @Autowired
+    private OrderService2 orderService2;
 
     // 查询加油站详情
     public ResponseDTO notificationPushStoreInfoRequest(OilRequest oilRequest) {
@@ -79,13 +91,16 @@ public class XiaoJuService {
         tripartiteShopDto.setKey("加油");
         tripartiteShopDto.setTripartiteId(xiaoJuStore.getStoreId());
         tripartiteShopDto.setShopName(xiaoJuStore.getStoreName());
+        tripartiteShopDto.setShopMenuId("4");
         tripartiteShopDto.setProvince(xiaoJuStore.getProvinceName());
         tripartiteShopDto.setCity(xiaoJuStore.getCityName());
         tripartiteShopDto.setAddress(xiaoJuStore.getAddress());
         tripartiteShopDto.setMapLon(String.valueOf(xiaoJuStore.getLon()));
         tripartiteShopDto.setMapLat(String.valueOf(xiaoJuStore.getLat()));
         tripartiteShopDto.setLogoPath(xiaoJuStore.getLogo());
-        tripartiteShopDto.setDetailImg(xiaoJuStore.getPicList().get(0));
+        if (xiaoJuStore.getPicList().size()>0){
+            tripartiteShopDto.setDetailImg(xiaoJuStore.getPicList().get(0));
+        }
 
 
         com.zswl.cloud.shop.client.ret.ResultContent resultContent = shopService.tripartiteShop(tripartiteShopDto);
@@ -93,7 +108,6 @@ public class XiaoJuService {
 
 
 
-
         XiaoJuStore byStoreId = xiaoJuStoreDao.findByStoreId(xiaoJuStore.getStoreId());
         if (byStoreId != null) {
             BeanUtils.copyProperties(byStoreId, xiaoJuStore, "id", "updateTime");
@@ -322,6 +336,13 @@ public class XiaoJuService {
 
     // 创建订单
     public ResultContent<QueryNewOrderResponse> queryNewOrder(XiaoJuQueryNewOrderModel xiaoJuQueryNewOrderModel) {
+
+//        com.zswl.cloud.shop.client.ret.ResultContent<ShopDetailVo> detail = shopService.detail(xiaoJuQueryNewOrderModel.getEpId());
+//        if (ObjectUtil.isNotEmpty(detail.getContent().getAuthAccount())) {
+//            throw new RuntimeException("分账账户未配置");
+//        }
+
+
         AuthDetails currentUser = authHelper.getCurrentUser();
         String phone = currentUser.getPhone();
         String userId = currentUser.getUserId();
@@ -361,11 +382,50 @@ public class XiaoJuService {
             BeanUtils.copyProperties(queryNewOrderRequest, xiaoJuOrder);
 
             xiaoJuOrderDao.save(xiaoJuOrder);
-
-
             apiLog.setResponse(JSONUtil.toJsonStr(queryNewOrderResponse));
             apiLogDao.save(apiLog);
 
+            // 平台订单
+
+            CreateOrder2Model createOrder2Model = new CreateOrder2Model();
+            createOrder2Model.setShopId(xiaoJuQueryNewOrderModel.getEpId());
+            createOrder2Model.setUserId(userId);
+
+            JSONObject shopInfo = JSONUtil.parseObj(byStoreId);
+            shopInfo.put("shopName", byStoreId.getStoreName());
+
+            createOrder2Model.setShopInfo(shopInfo);
+
+            BigDecimal total = BigDecimal.valueOf(xiaoJuQueryNewOrderModel.getOriginalAmount()).divide(BigDecimal.valueOf(100));
+            BigDecimal payment = BigDecimal.valueOf(xiaoJuQueryNewOrderModel.getPaymentAmount()).divide(BigDecimal.valueOf(100));
+
+            createOrder2Model.setTotalAmount(total);
+            createOrder2Model.setPayAmount(payment);
+            createOrder2Model.setDiscountAmount(total.subtract(payment));
+            createOrder2Model.setAccesserUserId("");
+
+            CreateOrder2Model.Goods goods = new CreateOrder2Model.Goods();
+            goods.setGoodsId(outOrderId);
+            goods.setJobFlowMap(JobFlowMap.XiaoJu);
+            JSONObject goodsInfo = JSONUtil.parseObj(queryNewOrderRequest);
+            goodsInfo.put("goodsName",byStoreId.getStoreName());
+            goodsInfo.put("goodsPath",byStoreId.getLogo());
+            goods.setGoodsInfo(goodsInfo);
+            goods.setPayAmount(payment);
+            goods.setTransferType(TransferType.RATIO);
+            CreateOrder2Model.Owner shop = new CreateOrder2Model.Owner();
+            shop.setOwner(TransferOwner.BUY_SHOP);
+            shop.setShopId(xiaoJuQueryNewOrderModel.getEpId());
+            shop.setValue(BigDecimal.valueOf(100));
+            goods.setTransferRrule(List.of(shop));
+            goods.setExtend(JSONUtil.toJsonStr(queryNewOrderResponse));
+
+            createOrder2Model.setGoodsList(List.of(goods));
+
+            ResultContent<CreatOrderResultModel> creat = orderService2.creat(createOrder2Model);
+            log.info("创建订单结果:{}", JSONUtil.toJsonStr(creat.getContent()));
+            // 平台订单结束
+
             return ResultContent.buildContent(queryNewOrderResponse);
         } catch (Exception e) {