Commit 391df626 authored by 任国军's avatar 任国军

fix v1

parent af89058a
Pipeline #16575 passed with stage
in 50 seconds
...@@ -18,22 +18,22 @@ class InstitutionService extends Service { ...@@ -18,22 +18,22 @@ class InstitutionService extends Service {
const where_institutions = input.institutions; const where_institutions = input.institutions;
// 保存定位记录 // 保存定位记录
if (address && lat && lng) { if (address && lat && lng) {
ctx.classModel.CourseLogUserGps.add({ user_uuid, address, lat, lng }); ctx.classModel.v1.CourseLogUserGps.add({ user_uuid, address, lat, lng });
} }
// 处理条件过滤条件 // 处理条件过滤条件
const where = { status: 1, is_deleted: 0 }; const where = { status: 1, is_deleted: 0 };
if (Number(cats)) { if (Number(cats)) {
const cat_ret = await ctx.classModel.CourseCat.one({ where: { id: cats } }); const cat_ret = await ctx.classModel.v1.CourseCat.one({ where: { id: cats } });
const cat_id = cat_ret.id; const cat_id = cat_ret.id;
const cat_level = cat_ret.level; const cat_level = cat_ret.level;
const next_level = cat_level + 1; const next_level = cat_level + 1;
const next_next_level = cat_level + 2; const next_next_level = cat_level + 2;
const next_cat = await ctx.classModel.CourseCat.all({ where: { level: next_level, parent_id: cat_id } }); const next_cat = await ctx.classModel.v1.CourseCat.all({ where: { level: next_level, parent_id: cat_id } });
const next_next_cat = await ctx.classModel.CourseCat.all({ where: { level: next_next_level, first_id: cat_id } }); const next_next_cat = await ctx.classModel.v1.CourseCat.all({ where: { level: next_next_level, first_id: cat_id } });
let cat_ids = [ cat_id ]; let cat_ids = [ cat_id ];
cat_ids = cat_ids.concat(R.pluck('id', next_cat)).concat(R.pluck('id', next_next_cat)); cat_ids = cat_ids.concat(R.pluck('id', next_cat)).concat(R.pluck('id', next_next_cat));
const institutions = await ctx.classModel.CourseInstitutionToCat.all({ where: { cat_id: { $in: cat_ids } } }); const institutions = await ctx.classModel.v1.CourseInstitutionToCat.all({ where: { cat_id: { $in: cat_ids } } });
const institutions_ids = Array.from(new Set(R.pluck('institution_id', institutions))); const institutions_ids = Array.from(new Set(R.pluck('institution_id', institutions)));
institutions_ids.length !== 0 ? where.id = { $in: institutions_ids } : []; institutions_ids.length !== 0 ? where.id = { $in: institutions_ids } : [];
} }
...@@ -46,9 +46,9 @@ class InstitutionService extends Service { ...@@ -46,9 +46,9 @@ class InstitutionService extends Service {
} }
// 关联校区表查找信息 // 关联校区表查找信息
const include = [{ model: ctx.classModel.CourseArea, where: { status: 1, is_deleted: 0 }, attributes: [ 'id', 'institution_id', 'name', 'address', 'lat', 'lng' ] }]; const include = [{ model: ctx.classModel.v1.CourseArea, where: { status: 1, is_deleted: 0 }, attributes: [ 'id', 'institution_id', 'name', 'address', 'lat', 'lng' ] }];
const attributes = [ 'id', 'name', 'type', 'establishment_time', 'class_type', 'teacher_count', 'teacher_experience', 'corner', 'min_age', 'max_age', 'price', 'characteristic' ]; const attributes = [ 'id', 'name', 'type', 'establishment_time', 'class_type', 'teacher_count', 'teacher_experience', 'corner', 'min_age', 'max_age', 'price', 'characteristic' ];
const institutions = await ctx.classModel.CourseInstitution.findAll({ attributes, include, where }); const institutions = await ctx.classModel.v1.CourseInstitution.findAll({ attributes, include, where });
const institution_area_list = await this.getInstitutionAreaList(institutions);// 将校区表处理成数组 const institution_area_list = await this.getInstitutionAreaList(institutions);// 将校区表处理成数组
...@@ -87,14 +87,14 @@ class InstitutionService extends Service { ...@@ -87,14 +87,14 @@ class InstitutionService extends Service {
const { institution_id, area_id } = input; const { institution_id, area_id } = input;
const lat = ctx.isEmpty(input.lat) ? 0 : input.lat; const lat = ctx.isEmpty(input.lat) ? 0 : input.lat;
const lng = ctx.isEmpty(input.lng) ? 0 : input.lng; const lng = ctx.isEmpty(input.lng) ? 0 : input.lng;
const institution = await ctx.classModel.CourseInstitution.one({ where: { id: institution_id } }); const institution = await ctx.classModel.v1.CourseInstitution.one({ where: { id: institution_id } });
const teachers = await this.getTeachers({ institution_id, limit: 6 }); const teachers = await this.getTeachers({ institution_id, limit: 6 });
const classes = await this.getClasses({ institution_id, limit: 4 }); const classes = await this.getClasses({ institution_id, limit: 4 });
const institution_images = await ctx.classModel.CourseImages.all({ where: { type: 1, type_id: institution_id } });// 图片 const institution_images = await ctx.classModel.v1.CourseImages.all({ where: { type: 1, type_id: institution_id } });// 图片
// 处理详情页信息 // 处理详情页信息
const current_area = await ctx.classModel.CourseArea.one({ where: { id: area_id } }); const current_area = await ctx.classModel.v1.CourseArea.one({ where: { id: area_id } });
let institution_detail = await this.formatInstitutions([ institution ]); let institution_detail = await this.formatInstitutions([ institution ]);
institution_detail = institution_detail[0]; institution_detail = institution_detail[0];
institution_detail.address = current_area.address; institution_detail.address = current_area.address;
...@@ -145,7 +145,7 @@ class InstitutionService extends Service { ...@@ -145,7 +145,7 @@ class InstitutionService extends Service {
areas = _.orderBy(areas, [ 'distance' ], [ 'asc' ]); areas = _.orderBy(areas, [ 'distance' ], [ 'asc' ]);
// 是否收藏过 // 是否收藏过
const collection_ret = await ctx.classModel.CourseUserCollection.one({ where: { user_uuid, institution_id, is_deleted: 0 } }); const collection_ret = await ctx.classModel.v1.CourseUserCollection.one({ where: { user_uuid, institution_id, is_deleted: 0 } });
if (collection_ret && collection_ret.id) { if (collection_ret && collection_ret.id) {
institution_detail.is_collect = 1; institution_detail.is_collect = 1;
} }
...@@ -184,11 +184,11 @@ class InstitutionService extends Service { ...@@ -184,11 +184,11 @@ class InstitutionService extends Service {
const { ctx } = this; const { ctx } = this;
const where = { id: teacher_id }; const where = { id: teacher_id };
const teacher = await ctx.classModel.CourseTeacher.one({ where }); const teacher = await ctx.classModel.v1.CourseTeacher.one({ where });
teacher.dataValues.point_tags = teacher.point ? teacher.point.split(',') : []; teacher.dataValues.point_tags = teacher.point ? teacher.point.split(',') : [];
teacher.dataValues.work_experience_tags = teacher.work_experience ? teacher.work_experience.split(';') : []; teacher.dataValues.work_experience_tags = teacher.work_experience ? teacher.work_experience.split(';') : [];
const institution = await ctx.classModel.CourseInstitution.find({ where: { id: teacher.institution_id } }); const institution = await ctx.classModel.v1.CourseInstitution.find({ where: { id: teacher.institution_id } });
teacher.dataValues.institution_name = institution.name; teacher.dataValues.institution_name = institution.name;
return teacher; return teacher;
...@@ -198,10 +198,10 @@ class InstitutionService extends Service { ...@@ -198,10 +198,10 @@ class InstitutionService extends Service {
const { ctx } = this; const { ctx } = this;
const where = { id: class_id }; const where = { id: class_id };
const classs = await ctx.classModel.CourseClass.one({ where }); const classs = await ctx.classModel.v1.CourseClass.one({ where });
classs.dataValues.age_text = Number(classs.max_age) > 0 ? `${classs.min_age}-${classs.max_age}岁` : ''; classs.dataValues.age_text = Number(classs.max_age) > 0 ? `${classs.min_age}-${classs.max_age}岁` : '';
classs.dataValues.point_tags = classs.point ? classs.point.split(',') : []; classs.dataValues.point_tags = classs.point ? classs.point.split(',') : [];
const class_images = await ctx.classModel.CourseImages.findAll({ where: { type: 2, type_id: classs.id } }); const class_images = await ctx.classModel.v1.CourseImages.findAll({ where: { type: 2, type_id: classs.id } });
// 处理图片 // 处理图片
const photo_album = []; const photo_album = [];
const photo_check = []; // 去重 const photo_check = []; // 去重
...@@ -238,7 +238,7 @@ class InstitutionService extends Service { ...@@ -238,7 +238,7 @@ class InstitutionService extends Service {
const attributes = [ 'id', 'institution_id', 'name', 'avatar', 'teacher_experience', 'lesson', 'educational_background', 'certificate' ]; const attributes = [ 'id', 'institution_id', 'name', 'avatar', 'teacher_experience', 'lesson', 'educational_background', 'certificate' ];
const { institution_id, page, limit } = input; const { institution_id, page, limit } = input;
const where = { institution_id }; const where = { institution_id };
const teachers = await ctx.classModel.CourseTeacher.list({ attributes, page, limit, where }); const teachers = await ctx.classModel.v1.CourseTeacher.list({ attributes, page, limit, where });
const ret = []; const ret = [];
for (const i in teachers.rows) { for (const i in teachers.rows) {
...@@ -265,13 +265,13 @@ class InstitutionService extends Service { ...@@ -265,13 +265,13 @@ class InstitutionService extends Service {
const attributes = [ 'id', 'institution_id', 'name', 'type', 'price' ]; const attributes = [ 'id', 'institution_id', 'name', 'type', 'price' ];
const { institution_id, page, limit } = input; const { institution_id, page, limit } = input;
const where = { institution_id }; const where = { institution_id };
const classes = await ctx.classModel.CourseClass.list({ attributes, page, limit, where }); const classes = await ctx.classModel.v1.CourseClass.list({ attributes, page, limit, where });
const p_class_images = []; const p_class_images = [];
// 获取图片信息 // 获取图片信息
for (const j in classes.rows) { for (const j in classes.rows) {
const classs = classes.rows[j]; const classs = classes.rows[j];
p_class_images[j] = ctx.classModel.CourseImages.one({ where: { type: 2, type_id: classs.id, is_video: 0 } }); p_class_images[j] = ctx.classModel.v1.CourseImages.one({ where: { type: 2, type_id: classs.id, is_video: 0 } });
} }
const class_images = await Promise.all(p_class_images).then(result => { // 等待所有异步内容获取完成 const class_images = await Promise.all(p_class_images).then(result => { // 等待所有异步内容获取完成
return result; return result;
...@@ -299,7 +299,7 @@ class InstitutionService extends Service { ...@@ -299,7 +299,7 @@ class InstitutionService extends Service {
const attributes = [ 'id', 'institution_id', 'name', 'address', 'phone', 'lat', 'lng' ]; const attributes = [ 'id', 'institution_id', 'name', 'address', 'phone', 'lat', 'lng' ];
const { institution_id, page, limit } = input; const { institution_id, page, limit } = input;
const where = { institution_id }; const where = { institution_id };
const areas = await ctx.classModel.CourseArea.list({ attributes, page, limit, where }); const areas = await ctx.classModel.v1.CourseArea.list({ attributes, page, limit, where });
return areas; return areas;
...@@ -527,7 +527,7 @@ class InstitutionService extends Service { ...@@ -527,7 +527,7 @@ class InstitutionService extends Service {
const p_institution_images = []; const p_institution_images = [];
for (const j in institutions) { for (const j in institutions) {
const institution = institutions[j]; const institution = institutions[j];
p_institution_images[j] = ctx.classModel.CourseImages.one({ where: { type: 1, type_id: institution.id, is_cover: 1, is_video: 0 } }); p_institution_images[j] = ctx.classModel.v1.CourseImages.one({ where: { type: 1, type_id: institution.id, is_cover: 1, is_video: 0 } });
} }
const institution_images = await Promise.all(p_institution_images).then(result => { // 等待所有异步内容获取完成 const institution_images = await Promise.all(p_institution_images).then(result => { // 等待所有异步内容获取完成
return result; return result;
...@@ -535,7 +535,7 @@ class InstitutionService extends Service { ...@@ -535,7 +535,7 @@ class InstitutionService extends Service {
ctx.failed(error); ctx.failed(error);
}); });
const userCollect = await ctx.classModel.CourseUserCollection.findAll({ where: { user_uuid: ctx.userUuid, is_deleted: 0 } }); const userCollect = await ctx.classModel.v1.CourseUserCollection.findAll({ where: { user_uuid: ctx.userUuid, is_deleted: 0 } });
const ids = R.pluck('institution_id', userCollect); const ids = R.pluck('institution_id', userCollect);
let ret = []; let ret = [];
...@@ -561,7 +561,7 @@ class InstitutionService extends Service { ...@@ -561,7 +561,7 @@ class InstitutionService extends Service {
let image = institution_images[i] ? institution_images[i].image_url : ''; let image = institution_images[i] ? institution_images[i].image_url : '';
// 取不到封面图就从详情图列表里选一张 // 取不到封面图就从详情图列表里选一张
if (ctx.isEmpty(image)) { if (ctx.isEmpty(image)) {
const tmpImage = await ctx.classModel.CourseImages.one({ where: { type: 1, type_id: institution.id, is_cover: 0, is_video: 0 } }); const tmpImage = await ctx.classModel.v1.CourseImages.one({ where: { type: 1, type_id: institution.id, is_cover: 0, is_video: 0 } });
image = ctx.isEmpty(tmpImage) ? '' : tmpImage.image_url; image = ctx.isEmpty(tmpImage) ? '' : tmpImage.image_url;
} }
......
...@@ -41,7 +41,7 @@ class OptionService extends Service { ...@@ -41,7 +41,7 @@ class OptionService extends Service {
async getOptions() { async getOptions() {
const { ctx } = this; const { ctx } = this;
const cats = await ctx.classModel.CourseCat.all({ where: { status: 1, is_deleted: 0 } }); const cats = await ctx.classModel.v1.CourseCat.all({ where: { status: 1, is_deleted: 0 } });
const tree_cats = this.getTrees(cats, 0); const tree_cats = this.getTrees(cats, 0);
const options = { const options = {
...@@ -77,12 +77,12 @@ class OptionService extends Service { ...@@ -77,12 +77,12 @@ class OptionService extends Service {
async getBanners(alias) { async getBanners(alias) {
const { ctx } = this; const { ctx } = this;
const bannerType = await ctx.classModel.CourseBannerType.findOne({ where: { alias, status: 'online', is_deleted: 0 }, row: true }); const bannerType = await ctx.classModel.v1.CourseBannerType.findOne({ where: { alias, status: 'online', is_deleted: 0 }, row: true });
if (ctx.isEmpty(bannerType)) { if (ctx.isEmpty(bannerType)) {
ctx.failed('数据不存在'); ctx.failed('数据不存在');
} }
const banners = await ctx.classModel.CourseBanner.findAll({ where: { type_id: bannerType.id, status: 'online', is_deleted: 0 }, order: [[ 'sort', 'asc' ]], row: true }); const banners = await ctx.classModel.v1.CourseBanner.findAll({ where: { type_id: bannerType.id, status: 'online', is_deleted: 0 }, order: [[ 'sort', 'asc' ]], row: true });
const ret = { const ret = {
results: banners, results: banners,
count: banners.length, count: banners.length,
......
...@@ -17,7 +17,7 @@ class UserService extends Service { ...@@ -17,7 +17,7 @@ class UserService extends Service {
const { ctx } = this; const { ctx } = this;
const user_uuid = ctx.userUuid; const user_uuid = ctx.userUuid;
const where = { user_uuid, is_deleted: 0 }; const where = { user_uuid, is_deleted: 0 };
const babys_info = await ctx.classModel.CourseUserBaby.all({ where, order: [[ 'id', 'desc' ]] }); const babys_info = await ctx.classModel.v1.CourseUserBaby.all({ where, order: [[ 'id', 'desc' ]] });
const babys = []; const babys = [];
for (const i in babys_info) { for (const i in babys_info) {
const baby_info = babys_info[i]; const baby_info = babys_info[i];
...@@ -47,9 +47,9 @@ class UserService extends Service { ...@@ -47,9 +47,9 @@ class UserService extends Service {
const { id, gender, birth, address, lat, lng } = input; const { id, gender, birth, address, lat, lng } = input;
const where = { id, user_uuid, is_deleted: 0 }; const where = { id, user_uuid, is_deleted: 0 };
if (id) { if (id) {
await ctx.classModel.CourseUserBaby.edit({ params: { gender, birth, address, lat, lng }, where }); await ctx.classModel.v1.CourseUserBaby.edit({ params: { gender, birth, address, lat, lng }, where });
} else { } else {
await ctx.classModel.CourseUserBaby.add({ user_uuid, gender, birth, address, lat, lng }); await ctx.classModel.v1.CourseUserBaby.add({ user_uuid, gender, birth, address, lat, lng });
} }
return true; return true;
...@@ -59,7 +59,7 @@ class UserService extends Service { ...@@ -59,7 +59,7 @@ class UserService extends Service {
const { ctx } = this; const { ctx } = this;
const user_uuid = ctx.userUuid; const user_uuid = ctx.userUuid;
await ctx.classModel.CourseUserBaby.edit({ params: { is_deleted: 1 }, where: { user_uuid } }); await ctx.classModel.v1.CourseUserBaby.edit({ params: { is_deleted: 1 }, where: { user_uuid } });
return true; return true;
} }
...@@ -69,11 +69,11 @@ class UserService extends Service { ...@@ -69,11 +69,11 @@ class UserService extends Service {
const { ctx } = this; const { ctx } = this;
const user_uuid = ctx.userUuid; const user_uuid = ctx.userUuid;
const where = { user_uuid, is_deleted: 0, institution_id }; const where = { user_uuid, is_deleted: 0, institution_id };
let ret = await ctx.classModel.CourseUserCollection.one({ where }); let ret = await ctx.classModel.v1.CourseUserCollection.one({ where });
if (ret && ret.id) { if (ret && ret.id) {
return ret.id; return ret.id;
} }
ret = await await ctx.classModel.CourseUserCollection.add({ user_uuid, institution_id }); ret = await await ctx.classModel.v1.CourseUserCollection.add({ user_uuid, institution_id });
return ret; return ret;
} }
...@@ -83,11 +83,11 @@ class UserService extends Service { ...@@ -83,11 +83,11 @@ class UserService extends Service {
const { ctx } = this; const { ctx } = this;
const user_uuid = ctx.userUuid; const user_uuid = ctx.userUuid;
const where = { user_uuid, is_deleted: 0, institution_id }; const where = { user_uuid, is_deleted: 0, institution_id };
let ret = await ctx.classModel.CourseUserCollection.one({ where }); let ret = await ctx.classModel.v1.CourseUserCollection.one({ where });
if (!ret || !ret.id) { if (!ret || !ret.id) {
return true; return true;
} }
ret = await await ctx.classModel.CourseUserCollection.edit({ params: { is_deleted: 1 }, where }); ret = await await ctx.classModel.v1.CourseUserCollection.edit({ params: { is_deleted: 1 }, where });
return true; return true;
} }
...@@ -99,14 +99,14 @@ class UserService extends Service { ...@@ -99,14 +99,14 @@ class UserService extends Service {
const lat = ctx.isEmpty(input.lat) ? 0 : input.lat; const lat = ctx.isEmpty(input.lat) ? 0 : input.lat;
const lng = ctx.isEmpty(input.lng) ? 0 : input.lng; const lng = ctx.isEmpty(input.lng) ? 0 : input.lng;
const where = { user_uuid, is_deleted: 0 }; const where = { user_uuid, is_deleted: 0 };
const collect_institution_rows = await ctx.classModel.CourseUserCollection.list({ page, limit, where }); const collect_institution_rows = await ctx.classModel.v1.CourseUserCollection.list({ page, limit, where });
const institution_ids = R.pluck('institution_id', collect_institution_rows.rows); const institution_ids = R.pluck('institution_id', collect_institution_rows.rows);
if (institution_ids.length === 0) { if (institution_ids.length === 0) {
return { page: collect_institution_rows.page, count: collect_institution_rows.count, rows: [] }; return { page: collect_institution_rows.page, count: collect_institution_rows.count, rows: [] };
} }
const include = [{ model: ctx.classModel.CourseArea, where: { status: 1, is_deleted: 0 }, attributes: [ 'id', 'institution_id', 'name', 'address', 'lat', 'lng' ] }]; const include = [{ model: ctx.classModel.v1.CourseArea, where: { status: 1, is_deleted: 0 }, attributes: [ 'id', 'institution_id', 'name', 'address', 'lat', 'lng' ] }];
const attributes = [ 'id', 'name', 'type', 'establishment_time', 'class_type', 'teacher_count', 'teacher_experience', 'corner', 'min_age', 'max_age', 'price', 'characteristic' ]; const attributes = [ 'id', 'name', 'type', 'establishment_time', 'class_type', 'teacher_count', 'teacher_experience', 'corner', 'min_age', 'max_age', 'price', 'characteristic' ];
const institutions = await ctx.classModel.CourseInstitution.findAll({ attributes, include, where: { id: { $in: institution_ids }, status: 1, is_deleted: 0 } }); const institutions = await ctx.classModel.v1.CourseInstitution.findAll({ attributes, include, where: { id: { $in: institution_ids }, status: 1, is_deleted: 0 } });
const institution_area_list = await ctx.service.course.institution.getInstitutionAreaList(institutions); const institution_area_list = await ctx.service.course.institution.getInstitutionAreaList(institutions);
const area_lbs = (lat > 0 || lng > 0) ? await ctx.service.course.institution.computeDistance(institution_area_list, { lat, lng }) : [];// 计算距离 const area_lbs = (lat > 0 || lng > 0) ? await ctx.service.course.institution.computeDistance(institution_area_list, { lat, lng }) : [];// 计算距离
const institution_areas = await ctx.service.course.institution.findShortestDistanceAreas(institution_area_list, area_lbs); const institution_areas = await ctx.service.course.institution.findShortestDistanceAreas(institution_area_list, area_lbs);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment