Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
5
51business
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
方斌
51business
Commits
b58bc5b8
Commit
b58bc5b8
authored
Sep 25, 2019
by
Hsinli
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of t-git.51gjj.com:fangbin/51business
parents
ccc269e1
3cb2c210
Pipeline
#14171
passed with stage
in 5 seconds
Changes
5
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
73 additions
and
39 deletions
+73
-39
user.js
app/controller/course/user.js
+16
-1
course.js
app/router/course.js
+11
-10
institution.js
app/service/course/institution.js
+17
-14
user.js
app/service/course/user.js
+21
-7
order.js
app/service/credit/order.js
+8
-7
No files found.
app/controller/course/user.js
View file @
b58bc5b8
...
...
@@ -105,7 +105,7 @@ class UserController extends Controller {
}
/**
* 收藏机构
列表
* 收藏机构
*/
async
collectInstitution
()
{
...
...
@@ -119,6 +119,21 @@ class UserController extends Controller {
ctx
.
success
({
result
});
}
/**
* 取消收藏机构
*/
async
delCollectInstitution
()
{
const
{
ctx
}
=
this
;
const
institution_id
=
ctx
.
request
.
body
.
institution_id
;
if
(
!
institution_id
)
{
ctx
.
failed
(
'error institution_id'
);
}
const
result
=
await
ctx
.
service
.
course
.
user
.
delCollectInstitution
(
institution_id
);
ctx
.
success
({
result
});
}
...
...
app/router/course.js
View file @
b58bc5b8
...
...
@@ -3,19 +3,19 @@
module
.
exports
=
app
=>
{
const
router
=
app
.
router
.
namespace
(
app
.
config
.
projectRootPath
+
'/course'
);
const
loginAuth
=
app
.
middleware
.
loginAuth
({
type
:
'new'
});
//登录中间件
const
miniAuth
=
app
.
middleware
.
miniAuth
();
//登录中间件
const
miniAuth
=
app
.
middleware
.
miniAuth
();
//
因为不跟现有的用户中心系统,所以使用单独的
登录中间件
router
.
get
(
'third'
,
'/options'
,
'course.option.getOptions'
);
//筛选项
router
.
post
(
'third'
,
'/address'
,
'course.location.getAddress'
);
//根据经纬度或ip获取地理位置信息
router
.
post
(
'third'
,
'/institutions'
,
'course.institution.institutionList'
);
//机构列表
router
.
get
(
'third'
,
'/institutions'
,
'course.institution.institutionList'
);
//机构列表
router
.
post
(
'third'
,
'/address'
,
miniAuth
,
'course.location.getAddress'
);
//根据经纬度或ip获取地理位置信息
router
.
post
(
'third'
,
'/institutions'
,
miniAuth
,
'course.institution.institutionList'
);
//机构列表
router
.
get
(
'third'
,
'/institutions'
,
miniAuth
,
'course.institution.institutionList'
);
//机构列表
router
.
get
(
'third'
,
'/institution/:institution_id/:area_id'
,
'course.institution.institutionInfo'
);
//机构详情
router
.
post
(
'third'
,
'/classes'
,
'course.institution.classList'
);
//课程列表
router
.
get
(
'third'
,
'/classes'
,
'course.institution.classList'
);
//课程列表
router
.
get
(
'third'
,
'/class/:class_id'
,
'course.institution.classInfo'
);
//课程详情
router
.
post
(
'third'
,
'/teachers'
,
'course.institution.teacherList'
);
//老师列表
router
.
get
(
'third'
,
'/teachers'
,
'course.institution.teacherList'
);
//老师详情
router
.
get
(
'third'
,
'/teacher/:teacher_id'
,
'course.institution.teacherInfo'
);
//老师详情
router
.
post
(
'third'
,
'/classes'
,
miniAuth
,
'course.institution.classList'
);
//课程列表
router
.
get
(
'third'
,
'/classes'
,
miniAuth
,
'course.institution.classList'
);
//课程列表
router
.
get
(
'third'
,
'/class/:class_id'
,
miniAuth
,
'course.institution.classInfo'
);
//课程详情
router
.
post
(
'third'
,
'/teachers'
,
miniAuth
,
'course.institution.teacherList'
);
//老师列表
router
.
get
(
'third'
,
'/teachers'
,
miniAuth
,
'course.institution.teacherList'
);
//老师详情
router
.
get
(
'third'
,
'/teacher/:teacher_id'
,
miniAuth
,
'course.institution.teacherInfo'
);
//老师详情
router
.
post
(
'third'
,
'/user/auth'
,
'course.user.auth'
);
//微信授权登录
router
.
post
(
'third'
,
'/user/register_user'
,
miniAuth
,
'course.user.registerUserInfo'
);
//授权后注册用户
...
...
@@ -26,5 +26,6 @@ module.exports = app => {
router
.
get
(
'third'
,
'/user/collection/institution'
,
miniAuth
,
'course.user.getCollectInstitutions'
);
//收藏的机构列表
router
.
post
(
'third'
,
'/user/collection/institution'
,
miniAuth
,
'course.user.collectInstitution'
);
//收藏机构
router
.
delete
(
'third'
,
'/user/collection/institution'
,
miniAuth
,
'course.user.delCollectInstitution'
);
//取消收藏机构
};
app/service/course/institution.js
View file @
b58bc5b8
...
...
@@ -67,9 +67,22 @@ class InstitutionService extends Service {
const
institution
=
await
ctx
.
classModel
.
CourseInstitution
.
one
({
where
:
{
id
:
institution_id
}
});
const
teachers
=
await
this
.
getTeachers
({
institution_id
,
limit
:
6
});
const
classes
=
await
this
.
getClasses
({
institution_id
,
limit
:
4
});
const
areas_ret
=
await
this
.
getInstitutionAreas
({
institution_id
,
limit
:
1000
});
//校区
const
institution_images
=
await
ctx
.
classModel
.
CourseImages
.
all
({
where
:
{
type
:
1
,
type_id
:
institution_id
}
});
//图片
//处理详情页信息
const
current_area
=
await
ctx
.
classModel
.
CourseArea
.
one
({
id
:
area_id
});
let
institution_detail
=
await
this
.
formatInstitutions
([
institution
]);
institution_detail
=
institution_detail
[
0
];
institution_detail
.
address
=
current_area
.
address
;
institution_detail
.
phone
=
current_area
.
phone
;
institution_detail
.
description
=
institution
.
description
;
institution_detail
.
point
=
institution
.
point
;
institution_detail
.
honor
=
institution
.
honor
;
institution_detail
.
is_collect
=
0
;
//计算校区距离
const
areas_ret
=
await
this
.
getInstitutionAreas
({
institution_id
,
limit
:
1000
});
//校区
const
area_rows
=
areas_ret
.
rows
;
const
area_lbs
=
await
this
.
computeDistance
(
area_rows
,
{
lat
,
lng
});
//计算距离信息
const
areas
=
[];
...
...
@@ -88,6 +101,9 @@ class InstitutionService extends Service {
if
(
distance
===
0
&&
duration
===
0
)
{
travel_tips
=
'暂无法计算出距离'
;
}
if
(
area
.
id
==
area_id
&&
area
.
institution_id
==
institution_id
)
{
institution_detail
.
travel_tips
=
travel_tips
;
}
areas
.
push
({
id
:
area
.
id
,
institution_id
:
area
.
institution_id
,
...
...
@@ -100,19 +116,6 @@ class InstitutionService extends Service {
});
}
const
institution_images
=
await
ctx
.
classModel
.
CourseImages
.
all
({
where
:
{
type
:
1
,
type_id
:
institution_id
}
});
//图片
//处理详情页信息
const
current_area
=
await
ctx
.
classModel
.
CourseArea
.
one
({
id
:
area_id
});
let
institution_detail
=
await
this
.
formatInstitutions
([
institution
]);
institution_detail
=
institution_detail
[
0
];
institution_detail
.
address
=
current_area
.
address
;
institution_detail
.
phone
=
current_area
.
phone
;
institution_detail
.
description
=
institution
.
description
;
institution_detail
.
point
=
institution
.
point
;
institution_detail
.
honor
=
institution
.
honor
;
institution_detail
.
is_collect
=
0
;
//是否收藏过
const
collection_ret
=
await
ctx
.
classModel
.
CourseUserCollection
.
one
({
where
:
{
user_uuid
,
institution_id
,
is_deleted
:
0
}
});
if
(
collection_ret
&&
collection_ret
.
id
)
{
...
...
app/service/course/user.js
View file @
b58bc5b8
...
...
@@ -15,7 +15,7 @@ class UserService extends Service {
async
getBabyInfo
()
{
const
{
ctx
}
=
this
;
const
user_uuid
=
1
;
const
user_uuid
=
ctx
.
userUuid
;
const
where
=
{
user_uuid
,
is_deleted
:
0
};
const
babys_info
=
await
ctx
.
classModel
.
CourseUserBaby
.
all
({
where
,
order
:
[[
'id'
,
'desc'
]]
});
let
babys
=
[];
...
...
@@ -43,7 +43,7 @@ class UserService extends Service {
async
saveBabyInfo
(
input
)
{
const
{
ctx
}
=
this
;
const
user_uuid
=
1
;
const
user_uuid
=
ctx
.
userUuid
;
const
{
id
,
gender
,
birth
,
address
,
lat
,
lng
}
=
input
;
const
where
=
{
id
,
user_uuid
,
is_deleted
:
0
};
if
(
id
)
{
...
...
@@ -58,7 +58,7 @@ class UserService extends Service {
async
delBabyInfo
()
{
const
{
ctx
}
=
this
;
const
user_uuid
=
1
;
const
user_uuid
=
ctx
.
userUuid
;
await
ctx
.
classModel
.
CourseUserBaby
.
edit
({
params
:
{
is_deleted
:
1
,
},
where
:
{
user_uuid
}
});
return
true
;
...
...
@@ -67,8 +67,8 @@ class UserService extends Service {
async
collectInstitution
(
institution_id
)
{
const
{
ctx
}
=
this
;
const
user_uuid
=
1
;
const
where
=
{
user_uuid
,
is_deleted
:
0
};
const
user_uuid
=
ctx
.
userUuid
;
const
where
=
{
user_uuid
,
is_deleted
:
0
,
institution_id
};
let
ret
=
await
ctx
.
classModel
.
CourseUserCollection
.
one
({
where
,
});
if
(
ret
&&
ret
.
id
)
{
return
ret
.
id
;
...
...
@@ -78,10 +78,24 @@ class UserService extends Service {
return
ret
;
}
async
delCollectInstitution
(
institution_id
)
{
const
{
ctx
}
=
this
;
const
user_uuid
=
ctx
.
userUuid
;
const
where
=
{
user_uuid
,
is_deleted
:
0
,
institution_id
};
let
ret
=
await
ctx
.
classModel
.
CourseUserCollection
.
one
({
where
,
});
if
(
!
ret
||
!
ret
.
id
)
{
return
true
;
}
ret
=
await
await
ctx
.
classModel
.
CourseUserCollection
.
edit
({
params
:
{
is_deleted
:
1
},
where
,
});
return
true
;
}
async
getCollectInstitutions
(
input
)
{
const
{
ctx
}
=
this
;
const
user_uuid
=
1
;
const
user_uuid
=
ctx
.
userUuid
;
const
{
page
,
limit
}
=
input
;
const
where
=
{
user_uuid
,
is_deleted
:
0
};
const
collect_institution_rows
=
await
ctx
.
classModel
.
CourseUserCollection
.
list
({
page
,
limit
,
where
});
...
...
@@ -93,7 +107,7 @@ class UserService extends Service {
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
institution_area_list
=
await
ctx
.
service
.
course
.
institution
.
getInstitutionAreaList
(
institutions
);
const
area_lbs
=
await
ctx
.
service
.
course
.
institution
.
computeDistance
(
institution_area_list
);
const
area_lbs
=
await
ctx
.
service
.
course
.
institution
.
computeDistance
(
institution_area_list
);
//计算距离
const
institution_areas
=
await
ctx
.
service
.
course
.
institution
.
findShortestDistanceAreas
(
institution_area_list
,
area_lbs
);
const
ret
=
await
ctx
.
service
.
course
.
institution
.
formatInstitutions
(
institution_areas
);
...
...
app/service/credit/order.js
View file @
b58bc5b8
...
...
@@ -26,7 +26,7 @@ class OrderService extends Service {
const
type
=
TypeConfig
[
order_type
];
// const where = { user_id };
const
order_records
=
await
ctx
.
prometheusModel
.
CreditOrder
.
all
({
where
:
{
user_id
,
type
,
valid
:
1
}
});
const
order_records
=
await
ctx
.
prometheusModel
.
CreditOrder
.
all
({
where
:
{
user_id
,
type
,
valid
:
1
}
,
order
:
[[
'order_time'
,
'desc'
]]
});
const
worth_h
=
[];
const
worth_l
=
[];
...
...
@@ -42,12 +42,12 @@ class OrderService extends Service {
order_no
:
order
.
order_no
,
report_id
:
order
.
report_id
,
type
:
order_type
,
created_time
:
moment
(
order
.
created_at
).
format
(
'YYYY-MM-DD HH:mm'
),
created_time
:
moment
(
order
.
order_time
).
format
(
'YYYY-MM-DD HH:mm'
),
phone
:
order
.
phone
.
replace
(
order
.
phone
.
substring
(
3
,
7
),
"****"
),
state
:
order
.
state
,
state_text
:
order
.
state
===
'已支付'
?
''
:
order
.
state
,
};
if
(
is_expire
)
{
if
(
!
is_expire
)
{
worth_h
.
push
(
item
);
}
else
{
worth_l
.
push
(
item
);
...
...
@@ -133,7 +133,7 @@ class OrderService extends Service {
}
//检查订单报告是否 还在规定的时间内 是否具有高价值 0:高价值 1:低价值-生成时间过长-
//检查订单报告是否 还在规定的时间内 是否具有高价值 0:高价值
;
1:低价值-生成时间过长-
async
checkOrderExpire
(
order
)
{
const
{
ctx
}
=
this
;
...
...
@@ -145,7 +145,8 @@ class OrderService extends Service {
const
worth_time
=
type
===
1
?
15
:
30
;
const
expire_time
=
moment
(
state_time
).
valueOf
()
+
worth_time
*
86400
*
1000
;
const
now_time
=
moment
().
valueOf
();
if
(
pay_status
===
1
&&
state
===
'已支付'
&&
expire_time
>
now_time
)
{
//还在规定的有效期内 高价值报告
const
state_array
=
[
'已支付'
];
if
(
!
state_array
.
includes
(
state
)
||
expire_time
>
now_time
)
{
//还在规定的有效期内 高价值报告
return
0
;
}
...
...
@@ -298,9 +299,9 @@ class OrderService extends Service {
const
expire_time
=
moment
(
order
.
order_time
).
valueOf
()
+
24
*
3600
*
1000
;
const
now_time
=
moment
().
valueOf
();
if
(
expire_time
<
now_time
)
{
ctx
.
failed
(
'
订单已失效'
);
ctx
.
failed
(
'
order_failure'
);
//订单失效,前端会取这个判断跳转
}
ctx
.
logger
.
info
(
'11111111111111111111111111111111111'
);
const
price
=
((
order
.
price
-
order
.
preferential_price
)
*
100
).
toFixed
();
if
(
price
<=
0
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment