Veronique 5 mēneši atpakaļ
vecāks
revīzija
eba35a6a3c

+ 0 - 1
conf/script/1000/callThird/BE_Call_RequestPay.groovy

@@ -8,7 +8,6 @@ import com.yinjie.heating.common.datas.ESKeys
 import com.yinjie.heating.common.datas.HeatingAppInvokerCode
 import com.yinjie.heating.common.entity.base.ProcessMapItem
 import com.yinjie.heating.common.entity.callthird.BaseResponse
-import com.yinjie.heating.common.entity.callthird.QueryFeeResponse
 import com.yinjie.heating.common.entity.heating.HeatingApp
 import com.yinjie.heating.common.entity.heating.HeatingAppInvoker
 import com.yinjie.heating.common.entity.heating.PayRequestRecord

+ 33 - 9
conf/script/1000/init/Time_3_D_0_1_0_0_SavePayRequestRecord.groovy

@@ -2,13 +2,16 @@ import com.dySweetFishPlugin.elasticsearch.ESClient
 import com.sweetfish.convert.json.JsonConvert
 import com.sweetfish.source.PageFlipper
 import com.yinjie.heating.common.api.NoSqlKeysService
+import com.yinjie.heating.common.api.SortBuilderExecutor
 import com.yinjie.heating.common.datas.ESKeys
 import com.yinjie.heating.common.entity.heating.PayRequestRecord
 import com.yinjie.heating.common.tool.ERPUtils
 import org.apache.logging.log4j.Logger
+import org.elasticsearch.action.search.SearchRequestBuilder
 import org.elasticsearch.index.query.BoolQueryBuilder
 import org.elasticsearch.index.query.QueryBuilders
 import org.elasticsearch.index.reindex.DeleteByQueryAction
+import org.elasticsearch.search.SearchHits
 
 import java.nio.charset.StandardCharsets
 import java.nio.file.Files
@@ -36,15 +39,36 @@ static def createRunnable(String appHome, ESClient esClient, NoSqlKeysService ke
                 .must(QueryBuilders.rangeQuery("createTimeLong").lt(ERPUtils.dayStartTimeMilliseconds))
 
         Ignore_ExecPageFlipper.execute(1000, { PageFlipper p ->
-            List<PayRequestRecord> payRequestRecordList = ESList.<PayRequestRecord> getESList()
-                    .esClient(esClient)
-                    .jsonConvert(jsonConvert)
-                    .clazz(PayRequestRecord.class)
-                    .queryBuilder({
-                        return qb
-                    })
-                    .index(keysService.getESKey(ESKeys.ES_ERP_PAY_REQUEST_RECORD_INDEX, supplierCode))
-                    .executePage(p)
+
+            //init 中无法使用ESList,原始方法写吧
+//            List<PayRequestRecord> payRequestRecordList = ESList.<PayRequestRecord> getESList()
+//                    .esClient(esClient)
+//                    .jsonConvert(jsonConvert)
+//                    .clazz(PayRequestRecord.class)
+//                    .queryBuilder({
+//                        return qb
+//                    })
+//                    .index(keysService.getESKey(ESKeys.ES_ERP_PAY_REQUEST_RECORD_INDEX, supplierCode))
+//                    .executePage(p)
+
+
+            SearchRequestBuilder requestBuilder = esClient.getClient().prepareSearch(keysService.getESKey(ESKeys.ES_ERP_PAY_REQUEST_RECORD_INDEX, supplierCode)).setQuery(qb)
+
+            requestBuilder = requestBuilder.setSize(p.getPageSize())
+                    .setFrom(p.getPageSize() * (p.getPageIndex() - 1))
+
+
+            SearchHits searchHits = requestBuilder.execute().actionGet().getHits()
+
+            List<PayRequestRecord> payRequestRecordList = new ArrayList<>()
+            searchHits.each { x ->
+                String json = x.getSourceAsString()
+                PayRequestRecord result = jsonConvert.convertFrom(PayRequestRecord.class, json)
+                payRequestRecordList.add(result)
+            }
+
+//            p.setTotal(searchHits.getTotalHits())
+
 
             String saveContent = ""
             payRequestRecordList.each {

+ 21 - 16
yjBusiness/src/main/java/com/yinjie/heating/business/service/SupplierInitImpl.java

@@ -1,21 +1,5 @@
 package com.yinjie.heating.business.service;
 
-import com.yinjie.heating.business.dao.*;
-import com.yinjie.heating.common.api.*;
-import com.yinjie.heating.common.base.BaseService;
-import com.yinjie.heating.common.datas.ERPModule;
-import com.yinjie.heating.common.datas.ESKeys;
-import com.yinjie.heating.common.datas.HttpCode;
-import com.yinjie.heating.common.datas.RedisKeys;
-import com.yinjie.heating.common.entity.base.BusinessBookPeriod;
-import com.yinjie.heating.common.entity.base.DataBaseMultiItemEx;
-import com.yinjie.heating.common.entity.base.ProcessMapItem;
-import com.yinjie.heating.common.entity.doc.BusinessScript;
-import com.yinjie.heating.common.entity.site.ERPTokenUser;
-import com.yinjie.heating.common.entity.system.ConfigValue;
-import com.yinjie.heating.common.entity.system.KeyValuePair;
-import com.yinjie.heating.common.tool.ERPUtils;
-import com.yinjie.heating.common.tool.ParticularTimeTasker;
 import com.dySweetFishPlugin.elasticsearch.ESClient;
 import com.dySweetFishPlugin.redis.RedisService;
 import com.dySweetFishPlugin.sql.DBService;
@@ -31,6 +15,24 @@ import com.sweetfish.util.AnyValue;
 import com.sweetfish.util.AutoLoad;
 import com.sweetfish.util.ResourceType;
 import com.sweetfish.util.Utility;
+import com.yinjie.heating.business.dao.DocDao;
+import com.yinjie.heating.business.dao.HeatingDocDao;
+import com.yinjie.heating.business.dao.SystemDao;
+import com.yinjie.heating.common.api.*;
+import com.yinjie.heating.common.base.BaseService;
+import com.yinjie.heating.common.datas.ERPModule;
+import com.yinjie.heating.common.datas.ESKeys;
+import com.yinjie.heating.common.datas.HttpCode;
+import com.yinjie.heating.common.datas.RedisKeys;
+import com.yinjie.heating.common.entity.base.BusinessBookPeriod;
+import com.yinjie.heating.common.entity.base.DataBaseMultiItemEx;
+import com.yinjie.heating.common.entity.base.ProcessMapItem;
+import com.yinjie.heating.common.entity.doc.BusinessScript;
+import com.yinjie.heating.common.entity.site.ERPTokenUser;
+import com.yinjie.heating.common.entity.system.ConfigValue;
+import com.yinjie.heating.common.entity.system.KeyValuePair;
+import com.yinjie.heating.common.tool.ERPUtils;
+import com.yinjie.heating.common.tool.ParticularTimeTasker;
 import groovy.lang.Binding;
 import groovy.util.GroovyScriptEngine;
 import groovy.util.ResourceException;
@@ -369,6 +371,8 @@ public class SupplierInitImpl extends BaseService implements SupplierInitService
             GroovyScriptEngine gse;
             try {
                 gse = new GroovyScriptEngine(initScriptRoot, this.getClass().getClassLoader());
+                gse.getGroovyClassLoader().addClasspath(businessScriptRoot + File.separator +
+                        supplierCode + File.separator + "commons");
 
                 //region 0、语言扩展方法,先执行,比如扩展一些Groovy方法
                 //SupplierInitImpl是不允许运行脚本的,因为它本身需要初始化脚本代码,所以这里执行扩展主要是为了下面的初始化脚本使用
@@ -684,6 +688,7 @@ public class SupplierInitImpl extends BaseService implements SupplierInitService
      * 获取文件内网下载地址
      * 由于直接存入拼接好的下载地址不利于后期修改地址,而且存储字段过长,改为实时获取下载地址
      * 下面链接未做跨域处理,如需跨域,可参考 <a href="https://note.youdao.com/s/3WoWIIj3">...</a>
+     *
      * @param bucketFileName 文件名,包含目录,比如 productImage/abc.jpg
      * @param srcFileName    原文件名,比如订单的文件名,用于下载文件时可以更方便的命名
      * @param dataSourceId   分库

+ 5 - 4
yjWebCore/src/main/java/com/yinjie/heating/webcore/servlet/ThirdInvokeServlet.java

@@ -1,6 +1,5 @@
 package com.yinjie.heating.webcore.servlet;
 
-import com.dySweetFishPlugin.tool.lang.DateUtil;
 import com.fasterxml.jackson.dataformat.xml.XmlMapper;
 import com.sweetfish.net.http.*;
 import com.sweetfish.util.AnyValue;
@@ -187,9 +186,10 @@ public class ThirdInvokeServlet extends ERPAdminHttpServlet {
             //三方返回 customerName 用户名称
             frame.put("customerName", orderResult.getCustomerName());
             //三方返回 balance 用户余额(分)
-            frame.put("balance", CommonUtils.money(Long.parseLong(orderResult.getBalance())));
+            frame.put("balance", CommonUtils.money((long) Math.floor(Double.parseDouble(orderResult.getBalance()))));
             //三方返回 payAmount 用户欠款(分)
-            frame.put("payAmount", CommonUtils.money(Long.parseLong(orderResult.getPayAmount())));
+            frame.put("payAmount", CommonUtils.money((long) Math.floor(Double.parseDouble(orderResult.getPayAmount()))));
+
 
             respBody.put("Frame", frame);
         }
@@ -252,7 +252,8 @@ public class ThirdInvokeServlet extends ERPAdminHttpServlet {
 
             return respBody;
         }
-        BigDecimal debtMoney = CommonUtils.money(Long.parseLong(orderResult.getPayAmount()));
+
+        BigDecimal debtMoney = CommonUtils.money((long) Math.floor(Double.parseDouble(orderResult.getPayAmount())));
 
         if (chargeMoney.compareTo(debtMoney) != 0) {
             respBody.put("ErrorCode", "DEF0013");