|
|
@@ -225,22 +225,7 @@ async function tryToExecCompositeTask(taskId, taskInfo = {}) {
|
|
|
let tmpJsonStr = JSON.stringify(finalGroups, null, 2);
|
|
|
lk.log(`详情如下:\n${tmpJsonStr}`);
|
|
|
if (isExecFinalComposite()) {
|
|
|
- let retOrderLst = [];
|
|
|
- for (let i = 0; i < finalGroups.length; i++) {
|
|
|
- let ret = await confirmCompositeV2(taskInfo.id, taskInfo, finalGroups[i]);
|
|
|
- if (ret) {
|
|
|
- retOrderLst.push(retOrderLst);
|
|
|
- }
|
|
|
- }
|
|
|
- if (retOrderLst.length > 0) {
|
|
|
- lk.log(`合成成功${retOrderLst.length},订单为${retOrderLst.join(",")}`);
|
|
|
- for (let i = 0; i < retOrderLst.length; i++) {
|
|
|
- let ret = await checkCompositeResult(retOrderLst[i]);
|
|
|
- }
|
|
|
- lk.setVal(GandartConstKey.CompositeTaskFinalList, '{}');
|
|
|
- } else {
|
|
|
- lk.log('合成成功0');
|
|
|
- }
|
|
|
+ await doExecFinalComposite(taskInfo.id, taskInfo, finalGroups);
|
|
|
}
|
|
|
}
|
|
|
return;
|
|
|
@@ -285,34 +270,9 @@ async function tryToExecCompositeTask(taskId, taskInfo = {}) {
|
|
|
lk.appendNotifyInfo('⚠️暂无可行的合成组合');
|
|
|
return;
|
|
|
}
|
|
|
- let retOrderLst = [];
|
|
|
- for (let i = 0; i < finalGroups.length; i++) {
|
|
|
- let ret = await confirmCompositeV2(taskId, taskInfo, finalGroups[i]);
|
|
|
- if (ret) {
|
|
|
- retOrderLst.push(retOrderLst);
|
|
|
- }
|
|
|
- }
|
|
|
- if (retOrderLst.length > 0) {
|
|
|
- lk.log(`合成成功${retOrderLst.length},订单为${retOrderLst.join(",")}`);
|
|
|
- for (let i = 0; i < retOrderLst.length; i++) {
|
|
|
- let ret = await checkCompositeResult(retOrderLst[i]);
|
|
|
- }
|
|
|
- lk.setVal(GandartConstKey.CompositeTaskFinalList, '{}');
|
|
|
- } else {
|
|
|
- lk.log('合成成功0');
|
|
|
- }
|
|
|
+ await doExecFinalComposite(taskId, taskInfo, finalGroups);
|
|
|
} else {
|
|
|
- let simpleInfo = {
|
|
|
- id: taskInfo.id,
|
|
|
- compositeLabel: taskInfo.compositeLabel,
|
|
|
- compositeTaskName: taskInfo.compositeTaskName,
|
|
|
- surplus: taskInfo.surplus,
|
|
|
- }
|
|
|
- let finalCacheData = {
|
|
|
- taskInfo: simpleInfo,
|
|
|
- finalGroups: finalGroups,
|
|
|
- };
|
|
|
- lk.setVal(GandartConstKey.CompositeTaskFinalList, JSON.stringify(finalCacheData, null, 2));
|
|
|
+ setCompositeTaskFinalList(taskInfo, finalGroups);
|
|
|
}
|
|
|
} else {
|
|
|
lk.execFail();
|
|
|
@@ -322,6 +282,50 @@ async function tryToExecCompositeTask(taskId, taskInfo = {}) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+async function doExecFinalComposite(taskId, taskInfo, finalGroups) {
|
|
|
+ let retOrderLst = [];
|
|
|
+ let retWillDelLst = [];
|
|
|
+ for (let i = 0; i < finalGroups.length; i++) {
|
|
|
+ let idx = i;
|
|
|
+ let ret = await confirmCompositeV2(taskId, taskInfo, finalGroups[i]);
|
|
|
+ if (ret) {
|
|
|
+ retWillDelLst.push(idx);
|
|
|
+ retOrderLst.push(ret);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (retOrderLst.length > 0) {
|
|
|
+ lk.log(`合成成功${retOrderLst.length}}`);
|
|
|
+ for (let i = 0; i < retOrderLst.length; i++) {
|
|
|
+ const orderNum = retOrderLst[i];
|
|
|
+ if (orderNum && orderNum.indexOf('#') == -1) {
|
|
|
+ await checkCompositeResult(orderNum);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 从高的序号删除
|
|
|
+ for (let i = retWillDelLst.length - 1; i >= 0; i--) {
|
|
|
+ let idx = retWillDelLst[i];
|
|
|
+ finalGroups.splice(idx, 1);
|
|
|
+ }
|
|
|
+ setCompositeTaskFinalList(taskInfo, finalGroups);
|
|
|
+ } else {
|
|
|
+ lk.log('合成成功0');
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+function setCompositeTaskFinalList(taskInfo, finalGroups) {
|
|
|
+ let simpleInfo = {
|
|
|
+ id: taskInfo.id,
|
|
|
+ compositeLabel: taskInfo.compositeLabel,
|
|
|
+ compositeTaskName: taskInfo.compositeTaskName,
|
|
|
+ surplus: taskInfo.surplus,
|
|
|
+ }
|
|
|
+ let finalCacheData = {
|
|
|
+ taskInfo: simpleInfo,
|
|
|
+ finalGroups: finalGroups,
|
|
|
+ };
|
|
|
+ lk.setVal(GandartConstKey.CompositeTaskFinalList, JSON.stringify(finalCacheData, null, 2));
|
|
|
+}
|
|
|
+
|
|
|
function getCompositeCountDict() {
|
|
|
let str = lk.getVal(GandartConstKey.CompositeCountArray, '0#1');
|
|
|
let arr1 = str.split(',');
|
|
|
@@ -681,31 +685,39 @@ async function confirmCompositeV2(taskId, taskInfo, materialDetailList) {
|
|
|
};
|
|
|
let taskName = taskInfo.compositeTaskName || ''; //合成标题
|
|
|
lk.log(`请求合成任务[${taskName}#${taskId}]:\n${body}`);
|
|
|
- lk.post(url, async (error, _response, data) => {
|
|
|
- let retOrder;
|
|
|
- try {
|
|
|
- if (error) {
|
|
|
- lk.log(`合成发生错误`);
|
|
|
- lk.execFail();
|
|
|
- lk.appendNotifyInfo(`❌合成失败,请稍后再试`);
|
|
|
- } else {
|
|
|
- let ret = JSON.parse(data);
|
|
|
- if (ret.success) {
|
|
|
- retOrder = ret.obj;
|
|
|
- lk.appendNotifyInfo(`🎉合成任务[${taskId}]成功,订单号:${obj}`);
|
|
|
- } else {
|
|
|
- lk.log(`合成失败,响应:${data}`);
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (e) {
|
|
|
- lk.log(`合成发生错误`);
|
|
|
- lk.logErr(e);
|
|
|
- lk.execFail();
|
|
|
- } finally {
|
|
|
- resolve(retOrder);
|
|
|
- }
|
|
|
- });
|
|
|
- resolve();
|
|
|
+ // lk.post(url, async (error, _response, data) => {
|
|
|
+ // let retOrder;
|
|
|
+ // try {
|
|
|
+ // if (error) {
|
|
|
+ // lk.log(`合成发生错误`);
|
|
|
+ // lk.execFail();
|
|
|
+ // lk.appendNotifyInfo(`❌合成失败,请稍后再试`);
|
|
|
+ // } else {
|
|
|
+ // let ret = JSON.parse(data);
|
|
|
+ // if (ret.success) {
|
|
|
+ // retOrder = ret.obj;
|
|
|
+ // let dismsg = `合成任务[${taskId}]成功,订单号:${obj}`;
|
|
|
+ // lk.log(dismsg);
|
|
|
+ // lk.appendNotifyInfo(`🎉${dismsg}`);
|
|
|
+ // } else {
|
|
|
+ // let respMsg = ret.msg;
|
|
|
+ // if (respMsg && (respMsg.indexOf('合成中') || respMsg.indexOf('已合成'))) {
|
|
|
+ // lk.appendNotifyInfo(`🎉${respMsg}`);
|
|
|
+ // retOrder = '#HC123456789';
|
|
|
+ // } else {
|
|
|
+ // lk.log(`合成失败,响应:${data}`);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // } catch (e) {
|
|
|
+ // lk.log(`合成发生错误`);
|
|
|
+ // lk.logErr(e);
|
|
|
+ // lk.execFail();
|
|
|
+ // } finally {
|
|
|
+ // resolve(retOrder);
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ resolve('#retOrder');
|
|
|
} catch (e) {
|
|
|
lk.log(`合成发生错误`);
|
|
|
lk.logErr(e);
|