|
@@ -3,9 +3,36 @@ import { InjectEntityModel } from '@midwayjs/typegoose';
|
|
|
import { ReturnModelType } from '@typegoose/typegoose';
|
|
|
import { BaseService } from 'free-midway-component';
|
|
|
import { Opinion } from '../../entity/core/opinion.entity';
|
|
|
+import { Teacher } from '../../entity/core/teacher.entity';
|
|
|
+import { Student } from '../../entity/core/student.entity';
|
|
|
type modelType = ReturnModelType<typeof Opinion>;
|
|
|
@Provide()
|
|
|
export class OpinionService extends BaseService<modelType> {
|
|
|
@InjectEntityModel(Opinion)
|
|
|
model: modelType;
|
|
|
+ @InjectEntityModel(Teacher)
|
|
|
+ tModel: ReturnModelType<typeof Teacher>;
|
|
|
+
|
|
|
+ @InjectEntityModel(Student)
|
|
|
+ sModel: ReturnModelType<typeof Student>;
|
|
|
+
|
|
|
+ async list(data) {
|
|
|
+ for (const val of data) {
|
|
|
+ const { userType, user } = val;
|
|
|
+ let userInfo;
|
|
|
+ if (userType === '0') userInfo = await this.tModel.findById(user).lean();
|
|
|
+ if (userType === '1') userInfo = await this.sModel.findById(user).lean();
|
|
|
+ if (userInfo && userInfo._id) val.user_name = userInfo.nick_name;
|
|
|
+ }
|
|
|
+ return data;
|
|
|
+ }
|
|
|
+
|
|
|
+ async detail(data) {
|
|
|
+ const { userType, user } = data;
|
|
|
+ let userInfo;
|
|
|
+ if (userType === '0') userInfo = await this.tModel.findById(user).lean();
|
|
|
+ if (userType === '1') userInfo = await this.sModel.findById(user).lean();
|
|
|
+ if (userInfo && userInfo._id) data.user_name = userInfo.nick_name;
|
|
|
+ return data;
|
|
|
+ }
|
|
|
}
|