maochaoying 2 years ago
parent
commit
97c80d5fa9
  1. 11
      src/controller/account.controller.js
  2. 24
      src/controller/house.controller.js
  3. 8
      src/router/account.route.js
  4. 16
      src/service/account.service.js
  5. 3
      src/service/coop.service.js
  6. 30
      src/service/house.service.js

11
src/controller/account.controller.js

@ -1,5 +1,9 @@
const jwt = require("jsonwebtoken");
const { createAccount, getAccountInfo } = require("../service/account.service");
const {
createAccount,
getAccountInfo,
getAllPerson,
} = require("../service/account.service");
const Response = require("../utils/response");
const { JWT_SECRET } = require("../config/config.default");
@ -38,6 +42,11 @@ class AccountController {
ctx.app.emit("error", userLoginError, ctx);
}
}
async allAccount(ctx, next) {
const res = await getAllPerson();
ctx.body = Response(0, "获取所有用户信息成功", res);
}
}
module.exports = new AccountController();

24
src/controller/house.controller.js

@ -2,27 +2,27 @@ const {
getHouseListById,
createHouse,
updateHouse,
} = require('../service/house.service')
const Response = require('../utils/response')
} = require("../service/house.service");
const Response = require("../utils/response");
class HouseController {
async list(ctx, next) {
const { id: belong } = ctx.state.user
const res = await getHouseListById(belong)
ctx.body = Response(0, '查询鸡厂列表成功', res)
const { id: belong, role } = ctx.state.user;
const res = await getHouseListById(belong, role);
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)
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)
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()
module.exports = new HouseController();

8
src/router/account.route.js

@ -2,7 +2,11 @@ const Router = require("koa-router");
const router = new Router({ prefix: "/account" });
const { register, login } = require("../controller/account.controller");
const {
register,
login,
allAccount,
} = require("../controller/account.controller");
const { auth, hasAdminPermission } = require("../middleware/auth.middleware");
const {
accountValidator,
@ -25,4 +29,6 @@ router.post(
// 登录接口
router.post("/login", accountValidator, verifyLogin, login);
router.get("/all", auth, hasAdminPermission, allAccount);
module.exports = router;

16
src/service/account.service.js

@ -9,18 +9,28 @@ class AccountService {
return res.dataValues;
}
async getAccountInfo({ id, username, password, role }) {
async getAccountInfo({ id, username, role }) {
const whereOpt = {};
id && Object.assign(whereOpt, { id });
username && Object.assign(whereOpt, { username });
password && Object.assign(whereOpt, { password });
role && Object.assign(whereOpt, { role });
const res = await Account.findOne({
attributes: ["id", "username", "password", "role"],
attributes: ["id", "username", "role", "name"],
where: whereOpt,
});
return res ? res.dataValues : null;
}
async getAllPerson() {
const res = await Account.findAll({
attributes: ["id", "username", "name"],
where: {
role: 0,
},
});
const arr = res?.map((item) => item.dataValues);
return arr;
}
}
module.exports = new AccountService();

3
src/service/coop.service.js

@ -7,8 +7,7 @@ class CoopService {
house_id,
},
});
const arr = res.map((item) => item.dataValues);
// 根据belong 查询用户信息并拼接
const arr = res?.map((item) => item.dataValues);
return arr;
}

30
src/service/house.service.js

@ -1,15 +1,33 @@
const House = require("../model/house.model");
const Coop = require("../model/coop.model");
const { getAccountInfo } = require("./account.service");
class HouseService {
async getHouseListById(belong) {
const res = await House.findAll({
async getHouseListById(belong, role) {
let res = null;
if (role == 1) {
res = await House.findAll();
} else {
res = await House.findAll({
where: {
belong,
},
});
const arr = res.map((item) => item.dataValues);
// 根据belong 查询用户信息并拼接
return arr;
}
const arr = res?.map(async (item) => {
const personInfo = await getAccountInfo({ id: item.dataValues.belong });
const coopList = await Coop.findAll({
where: {
house_id: item.dataValues.id,
},
});
const coopRes = coopList?.map((item) => item.dataValues);
item.dataValues.coopList = coopRes;
item.dataValues.name = personInfo.name;
item.dataValues.phonenumber = personInfo.username;
return item.dataValues;
});
const real = Promise.all(arr);
return real;
}
async createHouse(belong, house_name, area) {

Loading…
Cancel
Save