maochaoying 2 years ago
parent
commit
58739ebd06
  1. 11
      src/controller/overview.controller.js
  2. 4
      src/router/overview.route.js
  3. 33
      src/service/overview.service.js

11
src/controller/overview.controller.js

@ -1,4 +1,7 @@
const { getAllOverViewList } = require("../service/overview.service");
const {
getAllOverViewList,
getOverViewDetail,
} = require("../service/overview.service");
const Response = require("../utils/response");
class OverviewController {
@ -7,6 +10,12 @@ class OverviewController {
const res = await getAllOverViewList(house_id, coop_ids, batch_ids);
ctx.body = Response(0, "获取总览列表数据成功", res);
}
async detail(ctx, next) {
const { id } = ctx.request.query;
const res = await getOverViewDetail(id);
ctx.body = Response(0, "获取列表详情数据成功", res);
}
}
module.exports = new OverviewController();

4
src/router/overview.route.js

@ -3,8 +3,10 @@ const Router = require("koa-router");
const router = new Router({ prefix: "/overview" });
const { auth } = require("../middleware/auth.middleware");
const { list } = require("../controller/overview.controller");
const { list, detail } = require("../controller/overview.controller");
router.post("/list", auth, list);
router.get("/detail", auth, detail);
module.exports = router;

33
src/service/overview.service.js

@ -1,6 +1,7 @@
const Chicken = require("../model/chicken.model");
const { getDayLife, haveSame } = require("../utils/common");
const { getDieTotal } = require("./die.service");
const { getEnvironmentByCoopId } = require("./environment.service");
const {
getBatchCoopByIds,
getEmptyCoopList,
@ -87,6 +88,38 @@ class OverviewService {
coopNum: hasCoopCount,
};
}
async getOverViewDetail(id) {
const res = await Chicken.findOne({
where: {
id,
},
});
const info = res.dataValues;
const ids = info.coop_id.split(",");
const allCoops = await getBatchCoopByIds(ids);
info.allCoops = allCoops
.map((item) => {
return item.coop_name;
})
.join(",");
// 获取该鸡舍的环境数据
const p = allCoops.map(async (item) => {
const coop_id = item.id;
const house_id = info.house_id;
const environment = await getEnvironmentByCoopId(house_id, coop_id);
item.environment = environment;
return item;
});
const real = await Promise.all(p);
info.coopInfo = real;
// 需要减去死淘
const dieNumber = await getDieTotal(ids, info.house_id);
info.now_number = info.chicken_number - dieNumber;
info.day_life = getDayLife(new Date(), info.real_life_init_time);
return info;
}
}
module.exports = new OverviewService();
Loading…
Cancel
Save