From 04a3d6b9271da7980384e6e5c059a05bc696567f Mon Sep 17 00:00:00 2001 From: maochaoying <925670706@qq.com> Date: Wed, 22 Mar 2023 16:11:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E8=BF=9B=E9=B8=A1=E7=9A=84=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/service/chicken.service.js | 25 +++++++++++++++++++++---- src/test/someFunc.js | 10 ++++++++++ src/utils/common.js | 10 ++++++++++ 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/src/service/chicken.service.js b/src/service/chicken.service.js index 0bf5a93..df32134 100644 --- a/src/service/chicken.service.js +++ b/src/service/chicken.service.js @@ -1,5 +1,5 @@ const Chicken = require("../model/chicken.model"); -const { generateSerialNumber } = require("../utils/common"); +const { generateSerialNumber, haveSame } = require("../utils/common"); const { getHouseById } = require("./house.service"); const { getFactoryById } = require("./factory.service"); const { getVarietyById } = require("./variety.service"); @@ -59,7 +59,7 @@ class ChickenService { async getAllChickenInfo( batch_number = "", - coop_ids, + coop_ids = [], put_time = "0", house_id ) { @@ -75,8 +75,25 @@ class ChickenService { where: selectObj, }); // 根据coop_ids进行筛选一次 - - return res; + const arr = res.filter((item) => { + if (coop_ids.length > 0) { + if (haveSame(item.coop_id.split(","), coop_ids)) { + return true; + } + } else { + return true; + } + return false; + }); + const p = arr.map(async (item) => { + const varietyName = await getVarietyById(item.variety_id); + const allCoops = await getBatchCoopByIds(item.coop_id.split(",")); + item.dataValues.varietyName = varietyName; + item.dataValues.allCoops = allCoops; + return item; + }); + const real = Promise.all(p); + return real; } } diff --git a/src/test/someFunc.js b/src/test/someFunc.js index a127df3..790b8e9 100644 --- a/src/test/someFunc.js +++ b/src/test/someFunc.js @@ -12,3 +12,13 @@ function generateSerialNumber() { const res = generateSerialNumber(); console.log(res); + +function haveSame(arr, otherArr) { + // 合并数组 + const normalArr = [...arr, ...otherArr]; + // 合并数组并去重 + const setArr = [...new Set(normalArr)]; + return normalArr.length !== setArr.length; +} + +console.log(haveSame("2,5".split(","), ["1"])); diff --git a/src/utils/common.js b/src/utils/common.js index dd4defa..b707828 100644 --- a/src/utils/common.js +++ b/src/utils/common.js @@ -19,7 +19,17 @@ function generateSerialNumber() { return `${year}${month}${date}${hour}${minute}${second}${time}`; } +// 判断两数组是否有相同元素, true: 存在相同 false:没相同 +function haveSame(arr, otherArr) { + // 合并数组 + const normalArr = [...arr, ...otherArr]; + // 合并数组并去重 + const setArr = [...new Set(normalArr)]; + return normalArr.length !== setArr.length; +} + module.exports = { isJsonString, generateSerialNumber, + haveSame, };