liuyu 4 years ago
parent
commit
44ccaabd9e
3 changed files with 112 additions and 32 deletions
  1. 43 2
      app/controller/.lookuser.js
  2. 11 3
      app/model/lookuser.js
  3. 58 27
      app/service/lookuser.js

+ 43 - 2
app/controller/.lookuser.js

@@ -1,6 +1,26 @@
 module.exports = {
   create: {
-    requestBody: ["roomid", "roomname", "userid","username","phone","switchrole","isxf","createtime","hosname","deptname","level","major","isonline"],
+    requestBody: ["roomid", 
+    "roomname", 
+    "userid",
+    "username",
+    "phone",
+    "switchrole",
+    "createtime",
+    "isonline", 
+    "hosname",
+    "deptname",
+    "level",
+    "title",
+    "remark",
+    "age",
+    "gender",
+    "idnumber",
+    "major",
+    "isjc",
+    "isxf",
+    "address",
+  ],
   },
   destroy: {
     params: ["!id"],
@@ -8,7 +28,28 @@ module.exports = {
   },
   update: {
     params: ["!id"],
-    requestBody: ["roomid", "roomname", "userid","username","phone","switchrole","isxf","createtime","hosname","deptname","level","major","isonline"],
+    requestBody: [
+      "roomid", 
+      "roomname", 
+      "userid",
+      "username",
+      "phone",
+      "switchrole",
+      "createtime",
+      "isonline", 
+      "hosname",
+      "deptname",
+      "level",
+      "title",
+      "remark",
+      "age",
+      "gender",
+      "idnumber",
+      "major",
+      "isjc",
+      "isxf",
+      "address",
+    ],
   },
   show: {
     parameters: {

+ 11 - 3
app/model/lookuser.js

@@ -10,12 +10,20 @@ const LookuserSchema = {
   phone: { type: String, required: false, maxLength: 200 }, // 手机号
   switchrole: { type: String, required: false }, // 直播身份  ‘anchor’ 主播  ‘audience’ 观众
   createtime: { type: String, required: false, maxLength: 200 }, // 创建时间
-  isxf: { type: String, required: false, maxLength: 200 }, // 申请学分
+  isonline: { type: String, required: false, maxLength: 200, default: '0' }, // 是否在线0、不在线 1、在线
+  age: { type: String, required: false, maxLength: 64 }, // 年龄
+  gender: { type: String, required: false, maxLength: 64 }, // 性别
+  idnumber: { type: String, required: false, maxLength: 64 }, // 身份证号
+  major: { type: String, required: false }, // 专业
+  isjc: { type: Boolean, required: false }, // 是否基层
+  isxf: { type: String, required: false }, // 是否授予学分
+  address: { type: String, required: false, maxLength: 200 }, // 单位所在地
+  role: { type: String, required: false }, // 3-主播 4、房间用户
   hosname: { type: String, required: false }, // 医院名称
   deptname: { type: String, required: false }, // 机构名称
   level: { type: String, required: false }, // 职务
-  major: { type: String, required: false }, // 专业
-  isonline: { type: String, required: false, maxLength: 200, default: '0' }, // 是否在线0、不在线 1、在线
+  title: { type: String, required: false }, // 个人简介
+  remark: { type: String, required: false }, // 备注
 };
 
 const schema = new Schema(LookuserSchema, { toJSON: { virtuals: true } });

+ 58 - 27
app/service/lookuser.js

@@ -75,16 +75,47 @@ class LookuserService extends CrudService {
   }
 
   async updatexf(data) {
-    const { roomid, isxf, userid, hosname, deptname, level, major } = data;
+    const { roomid, userid } = data;
     const lookuser = await this.model.findOne({ roomid, userid });
     if (!lookuser) {
       throw new BusinessError(ErrorCode.DATA_NOT_EXIST);
     }
-    lookuser.isxf = isxf;
-    lookuser.hosname = hosname;
-    lookuser.deptname = deptname;
-    lookuser.level = level;
-    lookuser.major = major;
+    if (data.hosname) {
+      lookuser.hosname = data.hosname;
+    }
+    if (data.deptname) {
+      lookuser.deptname = data.deptname;
+    }
+    if (data.level) {
+      lookuser.level = data.level;
+    }
+    if (data.title) {
+      lookuser.title = data.title;
+    }
+    if (data.remark) {
+      lookuser.remark = data.remark;
+    }
+    if (data.age) {
+      lookuser.age = data.age;
+    }
+    if (data.gender) {
+      lookuser.gender = data.gender;
+    }
+    if (data.idnumber) {
+      lookuser.idnumber = data.idnumber;
+    }
+    if (data.major) {
+      lookuser.major = data.major;
+    }
+    if (data.isjc) {
+      lookuser.isjc = data.isjc;
+    }
+    if (data.isxf) {
+      lookuser.isxf = data.isxf;
+    }
+    if (data.address) {
+      lookuser.address = data.address;
+    }
     const res = await lookuser.save();
     return res;
   }
@@ -98,27 +129,27 @@ class LookuserService extends CrudService {
     const data = [];
     for (const _luser of lusers) {
       const luser = _.cloneDeep(JSON.parse(JSON.stringify(_luser)));
-      const user = await this.umodel.findById(_luser.userid);
-      if (user) {
-        luser.idnumber = user.number;
-        luser.isjc = user.isjc;
-        luser.isxf = user.isxf;
-        luser.address = user.address;
-        luser.age = user.age;
-        luser.gender = user.gender;
-        if (user.hosname) {
-          luser.hosname = user.hosname;
-        }
-        if (user.deptname) {
-          luser.deptname = user.deptname;
-        }
-        if (user.level) {
-          luser.level = user.level;
-        }
-        if (user.major) {
-          luser.major = user.major;
-        }
-      }
+      // const user = await this.umodel.findById(_luser.userid);
+      // if (user) {
+      //   luser.idnumber = user.number;
+      //   luser.isjc = user.isjc;
+      //   luser.isxf = user.isxf;
+      //   luser.address = user.address;
+      //   luser.age = user.age;
+      //   luser.gender = user.gender;
+      //   if (user.hosname) {
+      //     luser.hosname = user.hosname;
+      //   }
+      //   if (user.deptname) {
+      //     luser.deptname = user.deptname;
+      //   }
+      //   if (user.level) {
+      //     luser.level = user.level;
+      //   }
+      //   if (user.major) {
+      //     luser.major = user.major;
+      //   }
+      // }
       const lrecords = await this.rmodel.find({ roomid: _luser.roomid, userid: _luser.userid }).sort({ createtime: -1 }).limit(1);
       if (lrecords.length > 0) {
         const lrecord = lrecords[0];