Browse Source

Merge remote-tracking branch 'origin/master'

xl37192053 2 years ago
parent
commit
61d691e0b0

+ 18 - 0
conf/esTemplate/storeplatform.json

@@ -7,6 +7,15 @@
       "idStore": {
         "type": "long"
       },
+      "platformStoreId": {
+        "type": "text",
+        "analyzer": "index_ansj",
+        "fields": {
+          "raw": {
+            "type": "keyword"
+          }
+        }
+      },
       "idPlatformInfo": {
         "type": "long"
       },
@@ -30,6 +39,15 @@
           }
         }
       },
+      "platformCode": {
+        "type": "text",
+        "analyzer": "index_ansj",
+        "fields": {
+          "raw": {
+            "type": "keyword"
+          }
+        }
+      },
       "platformType": {
         "type": "integer"
       },

+ 17 - 13
conf/script/1000/orderApi/BE_Order_CreateOrder_Douyin.groovy

@@ -1,16 +1,11 @@
-import com.alibaba.fastjson2.JSON
 import com.dderp.common.api.BusinessExecutor
+import com.dderp.common.api.StoreService
 import com.dderp.common.datas.BusinessOrderStatus
 import com.dderp.common.datas.ERPModule
 import com.dderp.common.entity.base.ProcessStringItem
-import com.dderp.common.entity.express.SFCreateOrderResult
-import com.dderp.common.entity.express.SFOrder
-import com.dderp.common.entity.express.SFOrderDetail
-import com.dderp.common.entity.express.SFOrderProductDetail
-import com.dderp.common.entity.express.SFOrderReceive
 import com.dderp.common.entity.order.BusinessOrder
+import com.dderp.common.entity.order.OrderDeliveryInfo
 import com.dderp.common.entity.order.OrderFinances
-import com.dderp.common.http.HttpTools
 import com.dySweetFishPlugin.sql.TableIdService
 import com.sweetfish.convert.json.JsonConvert
 import com.sweetfish.service.RetResult
@@ -20,13 +15,8 @@ import org.apache.logging.log4j.Logger
 
 import javax.annotation.Resource
 import java.math.RoundingMode
-import java.nio.charset.StandardCharsets
 import java.time.LocalDateTime
 import java.time.ZoneOffset
-import java.util.concurrent.CompletableFuture
-import java.util.concurrent.ExecutionException
-import java.util.concurrent.TimeUnit
-import java.util.concurrent.TimeoutException
 
 @SuppressWarnings("unused")
 class BE_Order_CreateOrder_Douyin implements BusinessExecutor<ProcessStringItem, BusinessOrder> {
@@ -39,6 +29,9 @@ class BE_Order_CreateOrder_Douyin implements BusinessExecutor<ProcessStringItem,
     @Resource
     private TableIdService tableIdService
 
+    @Resource
+    private StoreService storeService
+
     @Override
     String scriptName() {
         return "抖音来客创建订单"
@@ -64,6 +57,7 @@ class BE_Order_CreateOrder_Douyin implements BusinessExecutor<ProcessStringItem,
         businessOrder.setOrderCode(tableIdService.getTableCodeMulti("deBusinessOrder.code", dataSourceId, String.valueOf(supplierCode)))
         businessOrder.setOrderStatus(BusinessOrderStatus.init.value)
         //todo 商户平台需求一个绑定逻辑,用以判断该平台适用于哪一个脚本
+//        storeService.getStorePlatformByInvokeInfo(invokeOrder["poi"]["poi_id"] )
         //businessOrder.setIncomePlatformId(0)
         //businessOrder.setIncomePlatformName("")
         businessOrder.setIncomePlatformOrderCode(invokeOrder["order"]["order_id"] as String)
@@ -88,7 +82,17 @@ class BE_Order_CreateOrder_Douyin implements BusinessExecutor<ProcessStringItem,
 
         //订单金额类信息
         OrderFinances orderFinances = new OrderFinances()
-//        orderFinances.setId(tableIdService.)
+        orderFinances.setId(tableIdService.getTableIdMulti("deBusinessOrder.id", 1, dataSourceId, String.valueOf(supplierCode)))
+        orderFinances.setIdOrder(businessOrder.id)
+        orderFinances.setOrderMoney(new BigDecimal((invokeOrder["amount_info"]["origin_amount"] as int) / 100).setScale(2, RoundingMode.CEILING))
+        orderFinances.setDeliverFee(deliverFee)
+        orderFinances.setCustomerPaid(new BigDecimal((invokeOrder["amount_info"]["pay_amount"] as int) / 100).setScale(2, RoundingMode.CEILING))
+        orderFinances.setStoreRealCollection(new BigDecimal((invokeOrder["amount_info"]["estimated_order_income"] as int) / 100).setScale(2, RoundingMode.CEILING))
+
+        businessOrder.setOrderFinances(orderFinances)
+
+        //订单配送类信息
+        OrderDeliveryInfo orderDeliveryInfo = new OrderDeliveryInfo()
 
 
         return null;

+ 2 - 2
conf/sqlroot/com/dderp/business/dao/StoreDao.dql

@@ -144,10 +144,10 @@ select *
 ;
 
 -- [addStorePlatform]
-insert into $table$ (id, idStore, idPlatformInfo, platformName,
+insert into $table$ (id, idStore, platformStoreId, idPlatformInfo, platformName, platformCode,
 platformType, enableStatue, createBy,
 createTime, createTimeLong, updateBy,
-updateTime, updateTimeLong ) values ( #{id}, #{idstore}, #{idplatforminfo}, #{platformname},
+updateTime, updateTimeLong ) values ( #{id}, #{idstore}, #{platformstoreid}, #{idplatforminfo}, #{platformname}, #{platformcode},
 #{platformtype}, #{enablestatue}, #{createby},
 #{createtime}, #{createtimelong}, #{updateby},
 #{updatetime}, #{updatetimelong} );

+ 5 - 1
conf/初始化业务表.sql

@@ -405,4 +405,8 @@ create table deOrderDetailItem1000_current(
 CREATE OR REPLACE ALGORITHM = UNDEFINED DEFINER = `dbadmin`@`%` SQL SECURITY DEFINER VIEW `v_debusinessorder1000` AS select `debusinessorder1000_current`.`id` AS `id`,`debusinessorder1000_current`.`orderCode` AS `orderCode` from `debusinessorder1000_current` ;
 CREATE OR REPLACE ALGORITHM = UNDEFINED DEFINER = `dbadmin`@`%` SQL SECURITY DEFINER VIEW `v_deorderfinances1000` AS select `deorderfinances1000_current`.`id` AS `id` from `deorderfinances1000_current` ;
 CREATE OR REPLACE ALGORITHM = UNDEFINED DEFINER = `dbadmin`@`%` SQL SECURITY DEFINER VIEW `v_deorderdetailitem1000` AS  select `deorderdetailitem1000_current`.`id` AS `id` from `deorderdetailitem1000_current`;
-CREATE OR REPLACE ALGORITHM = UNDEFINED DEFINER = `dbadmin`@`%` SQL SECURITY DEFINER VIEW `v_deorderdeliveryinfo1000` AS  select `deorderdeliveryinfo1000_currnet`.`id` AS `id` from `deorderdeliveryinfo1000_currnet`;
+CREATE OR REPLACE ALGORITHM = UNDEFINED DEFINER = `dbadmin`@`%` SQL SECURITY DEFINER VIEW `v_deorderdeliveryinfo1000` AS  select `deorderdeliveryinfo1000_currnet`.`id` AS `id` from `deorderdeliveryinfo1000_currnet`;
+
+
+ALTER TABLE `tbstoreplatform1000`
+    ADD COLUMN `platformStoreId` varchar(255) NULL AFTER `idStore`;

+ 20 - 14
ddBusiness/src/main/java/com/dderp/business/service/StoreServiceImpl.java

@@ -2,18 +2,14 @@ package com.dderp.business.service;
 
 import com.dderp.business.dao.StoreDao;
 import com.dderp.common.api.NoSqlKeysService;
-import com.dderp.common.api.PlatformService;
 import com.dderp.common.api.SortBuilderExecutor;
 import com.dderp.common.api.StoreService;
 import com.dderp.common.base.BaseService;
 import com.dderp.common.datas.ESKeys;
-import com.dderp.common.datas.business.PlatformType;
-import com.dderp.common.entity.platform.PlatformInfo;
 import com.dderp.common.entity.site.ERPTokenUser;
 import com.dderp.common.entity.store.*;
 import com.dderp.common.tool.ERPUtils;
 import com.dySweetFishPlugin.elasticsearch.ESClient;
-import com.dySweetFishPlugin.sql.RMapUtils;
 import com.dySweetFishPlugin.sql.TableIdService;
 import com.dySweetFishPlugin.sql.dao.TunaService;
 import com.sweetfish.convert.json.JsonConvert;
@@ -24,11 +20,9 @@ import com.sweetfish.util.AnyValue;
 import com.sweetfish.util.AutoLoad;
 import com.sweetfish.util.ResourceType;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.lucene.search.join.ScoreMode;
 import org.elasticsearch.action.DocWriteResponse;
 import org.elasticsearch.action.bulk.BulkRequestBuilder;
 import org.elasticsearch.action.bulk.BulkResponse;
-import org.elasticsearch.action.index.IndexRequestBuilder;
 import org.elasticsearch.action.index.IndexResponse;
 import org.elasticsearch.action.support.WriteRequest;
 import org.elasticsearch.action.update.UpdateRequest;
@@ -37,14 +31,12 @@ import org.elasticsearch.index.query.BoolQueryBuilder;
 import org.elasticsearch.index.query.Operator;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.elasticsearch.index.reindex.DeleteByQueryAction;
-import org.elasticsearch.join.query.JoinQueryBuilders;
 import org.elasticsearch.search.sort.SortBuilders;
 import org.elasticsearch.search.sort.SortOrder;
 import org.rex.RMap;
 
 import javax.annotation.Resource;
 import java.io.IOException;
-import java.math.BigDecimal;
 import java.util.*;
 import java.util.concurrent.ExecutionException;
 import java.util.stream.Collectors;
@@ -353,7 +345,7 @@ public class StoreServiceImpl extends BaseService implements StoreService {
         );
 
         if (readInvoice) {
-            StoreInvoiceInfo storeInvoiceInfo = this.getStoreInvoiceInfo(idStore,supplierCode);
+            StoreInvoiceInfo storeInvoiceInfo = this.getStoreInvoiceInfo(idStore, supplierCode);
             storeInfo.setInvoiceInfo(storeInvoiceInfo);
         }
 
@@ -362,12 +354,12 @@ public class StoreServiceImpl extends BaseService implements StoreService {
         }
 
         if (readPlatform) {
-            List<StorePlatform> platformList = searchESList(esClient,jsonConvert,StorePlatform.class,
+            List<StorePlatform> platformList = searchESList(esClient, jsonConvert, StorePlatform.class,
                     null,
                     ((sd) -> {
                         BoolQueryBuilder qb = QueryBuilders.boolQuery();
                         qb = qb.must(QueryBuilders.typeQuery(ESKeys.ES_DELIVER_STORE_PLATFORM_TYPE))
-                                .must(QueryBuilders.termQuery("idStore",idStore));
+                                .must(QueryBuilders.termQuery("idStore", idStore));
 
                         return qb;
                     }),
@@ -614,15 +606,29 @@ public class StoreServiceImpl extends BaseService implements StoreService {
 
 
     @Override
-    public StorePlatform getStoreStorePlatformInfo(long id, long supplierCode) {
+    public StorePlatform getStorePlatformInfo(long id, long supplierCode) {
         return this.getESOneInfo(esClient, jsonConvert, StorePlatform.class,
                 String.valueOf(id),
-                keysService.getESKey(ESKeys.ES_DELIVER_PLATFORM_INFO_INDEX, supplierCode),
+                keysService.getESKey(ESKeys.ES_DELIVER_STORE_PLATFORM_INDEX, supplierCode),
                 ESKeys.ES_DELIVER_STORE_PLATFORM_TYPE,
                 null);
     }
 
     @Override
+    public StorePlatform getStorePlatformByInvokeInfo(String platformStoreId, String platformCode, long supplierCode) {
+        return this.getESOneInfo(esClient, jsonConvert, StorePlatform.class,
+                (a) -> {
+                    BoolQueryBuilder qb = QueryBuilders.boolQuery().must(QueryBuilders.typeQuery(ESKeys.ES_DELIVER_STORE_PLATFORM_TYPE));
+                    qb.must(QueryBuilders.termQuery("platformStoreId.raw", platformStoreId))
+                            .must(QueryBuilders.termQuery("platformCode.raw", platformCode));
+
+                    return qb;
+                },
+                keysService.getESKey(ESKeys.ES_DELIVER_STORE_PLATFORM_INDEX, supplierCode),
+                null);
+    }
+
+    @Override
     public RetResult<StorePlatform> addStorePlatform(StorePlatform storePlatform, ERPTokenUser currentUser, String dataSourceId, long supplierCode) {
         StorePlatform esInfo = this.getESOneInfo(esClient, jsonConvert,
                 StorePlatform.class,
@@ -675,7 +681,7 @@ public class StoreServiceImpl extends BaseService implements StoreService {
 
     @Override
     public RetResult<StorePlatform> configStorePlatform(StorePlatform storePlatform, ERPTokenUser currentUser, String dataSourceId, long supplierCode) {
-        StorePlatform esInfo = this.getStoreStorePlatformInfo(storePlatform.getId(), supplierCode);
+        StorePlatform esInfo = this.getStorePlatformInfo(storePlatform.getId(), supplierCode);
         if (esInfo == null) {
             return RetResult.<StorePlatform>errorT().retinfo("未找到此开通平台");
         }

+ 3 - 1
ddCommon/src/main/java/com/dderp/common/api/StoreService.java

@@ -48,7 +48,9 @@ public interface StoreService extends ScriptService {
     /**
      * 获取已开通平台信息
      */
-    StorePlatform getStoreStorePlatformInfo(long id,long supplierCode);
+    StorePlatform getStorePlatformInfo(long id, long supplierCode);
+
+    StorePlatform getStorePlatformByInvokeInfo(String platformStoreId, String platformCode, long supplierCode);
 
     RetResult<StorePlatform> addStorePlatform(StorePlatform storePlatform, ERPTokenUser currentUser, String dataSourceId, long supplierCode);
 

+ 13 - 1
ddCommon/src/main/java/com/dderp/common/entity/store/StorePlatform.java

@@ -15,9 +15,13 @@ public class StorePlatform extends BaseEntity {
     private long id;
 
     @RColumn("idstore")
-    @Comment("门店id")
+    @Comment("系统门店id")
     private long idStore;
 
+    @Comment("绑定的该平台系统中的门店id,由于对接订单时查找对应的绑定门店")
+    @RColumn("platformstoreid")
+    private String platformStoreId;
+
     @RColumn("idplatforminfo")
     @Comment("平台档案id")
     private long idPlatformInfo;
@@ -104,4 +108,12 @@ public class StorePlatform extends BaseEntity {
     public void setRequireList(List<StorePlatformRequire> requireList) {
         this.requireList = requireList;
     }
+
+    public String getPlatformStoreId() {
+        return platformStoreId;
+    }
+
+    public void setPlatformStoreId(String platformStoreId) {
+        this.platformStoreId = platformStoreId;
+    }
 }