Browse Source

feeding

master
maochaoying 2 years ago
parent
commit
ab0bbd6763
  1. 18
      src/controller/feeding.controller.js
  2. 12
      src/router/feeding.route.js
  3. 48
      src/service/feeding.service.js

18
src/controller/feeding.controller.js

@ -0,0 +1,18 @@
const { getAllFeeding, addFeeding } = require("../service/feeding.service");
const Response = require("../utils/response");
class FeedingController {
async list(ctx, next) {
const { coop_id } = ctx.request.query;
const res = await getAllFeeding(coop_id);
ctx.body = Response(0, "获取饲喂记录成功", res);
}
async add(ctx, next) {
const { coop_id, feeding, water_intake } = ctx.request.body;
const res = await addFeeding(coop_id, feeding, water_intake);
ctx.body = Response(0, "增加饲喂记录成功", res);
}
}
module.exports = new FeedingController();

12
src/router/feeding.route.js

@ -0,0 +1,12 @@
const Router = require("koa-router");
const router = new Router({ prefix: "/feeding" });
const { auth } = require("../middleware/auth.middleware");
const { list, add } = require("../controller/feeding.controller");
router.get("/list", auth, list);
router.post("/add", auth, add);
module.exports = router;

48
src/service/feeding.service.js

@ -0,0 +1,48 @@
const moment = require("moment");
const Feeding = require("../model/feeding.model");
class FeedingService {
async getAllFeeding(coop_id) {
const res = await Feeding.findAll({
where: {
coop_id,
},
});
const arr = res.map((item) => item.dataValues);
// 进行归类 根据时间
let obj = {};
arr.map((item) => {
const time = moment(item.createdAt).format("YYYY-MM-DD");
if (obj[time]) {
// 需要添加进list
obj[time] = {
feedingList: obj[time].feedingList + parseInt(item.feeding),
waterIntakeList:
obj[time].waterIntakeList + parseInt(item.water_intake),
};
} else {
obj[time] = {
feedingList: parseInt(item.feeding),
waterIntakeList: parseInt(item.water_intake),
};
}
});
return {
list: arr,
echarts: {
xData: Object.keys(obj),
yData: Object.values(obj),
},
};
}
async addFeeding(coop_id, feeding, water_intake) {
const res = await Feeding.create({
coop_id,
feeding,
water_intake,
});
return res ? res.dataValues : null;
}
}
module.exports = new FeedingService();
Loading…
Cancel
Save