Browse Source

house

master
maochaoying 2 years ago
parent
commit
d186f2029c
  1. 1
      src/constant/err.type.js
  2. 8
      src/controller/account.controller.js
  3. 28
      src/controller/house.controller.js
  4. 15
      src/middleware/house.middleware.js
  5. 16
      src/router/house.route.js
  6. 50
      src/service/house.service.js

1
src/constant/err.type.js

@ -11,4 +11,5 @@ module.exports = {
tokenExpiredError: Response("40001", "token已经过期"),
noAuthorization: Response("40002", "Authorization头部为空"),
noAdminPermission: Response("40003", "没有超级管理员权限"),
houseNameAlreadyExisted: Response("50001", "鸡厂名称已存在"),
};

8
src/controller/account.controller.js

@ -10,9 +10,13 @@ const {
class AccountController {
async register(ctx, next) {
const { username, password } = ctx.request.body;
const { username, password, role } = ctx.request.body;
try {
const res = await createAccount(username, password, 0);
const res = await createAccount(
username,
password,
role == "1" ? role : "0"
);
ctx.body = Response(0, "用户注册成功", {
id: res.id,
username: res.username,

28
src/controller/house.controller.js

@ -0,0 +1,28 @@
const {
getHouseListById,
createHouse,
updateHouse,
} = require("../service/house.service");
const Response = require("../utils/response");
class HouseController {
async list(ctx, next) {
const { belong } = ctx.request.query;
const res = await getHouseListById(belong);
ctx.body = Response(0, "查询鸡厂列表成功", res);
}
async create(ctx, next) {
const { belong, house_name, area } = ctx.request.body;
const res = await createHouse(belong, house_name, area);
ctx.body = Response(0, "新增鸡厂成功", res);
}
async update(ctx, next) {
const { belong, house_name, area, id } = ctx.request.body;
const res = await updateHouse(belong, house_name, area, id);
ctx.body = Response(0, "更新鸡厂信息成功", res);
}
}
module.exports = new HouseController();

15
src/middleware/house.middleware.js

@ -0,0 +1,15 @@
const { getHouseByName } = require("../service/house.service");
const { houseNameAlreadyExisted } = require("../constant/err.type");
const verifyHouseExisted = async (ctx, next) => {
const { house_name } = ctx.request.body;
if (await getHouseByName(house_name)) {
ctx.app.emit("error", houseNameAlreadyExisted, ctx);
return;
}
await next();
};
module.exports = {
verifyHouseExisted,
};

16
src/router/house.route.js

@ -0,0 +1,16 @@
const Router = require("koa-router");
const router = new Router({ prefix: "/house" });
const { auth, hasAdminPermission } = require("../middleware/auth.middleware");
const { verifyHouseExisted } = require("../middleware/house.middleware");
const { list, create, update } = require("../controller/house.controller");
// 查询某厂主的鸡场信息
router.get("/list", auth, list);
router.post("/create", auth, hasAdminPermission, verifyHouseExisted, create);
router.post("/update", auth, hasAdminPermission, update);
module.exports = router;

50
src/service/house.service.js

@ -0,0 +1,50 @@
const House = require("../model/house.model");
class HouseService {
async getHouseListById(belong) {
const res = await House.findAll({
where: {
belong,
},
});
const arr = res.map((item) => item.dataValues);
// 根据belong 查询用户信息并拼接
return arr;
}
async createHouse(belong, house_name, area) {
const res = await House.create({
belong,
house_name,
area,
});
return res ? res.dataValues : null;
}
async getHouseByName(house_name) {
const whereOpt = {};
house_name && Object.assign(whereOpt, { house_name });
const res = await House.findOne({
where: whereOpt,
});
return res ? res.dataValues : null;
}
async updateHouse(belong, house_name, area, id) {
const res = await House.update(
{
belong,
house_name,
area,
},
{
where: {
id,
},
}
);
return res;
}
}
module.exports = new HouseService();
Loading…
Cancel
Save