Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zhichan
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
蒋勇
zhichan
Commits
e3f2aae3
Commit
e3f2aae3
authored
Jan 09, 2020
by
王昆
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'xggsve-order-dev' of gitlab.gongsibao.com:jiangyong/zhichan into xggsve-order-dev
parents
af6716cd
8a0797f2
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
143 additions
and
147 deletions
+143
-147
xggsve-order/app/base/api/impl/op/action.js
+2
-2
xggsve-order/app/base/db/impl/order/oorderDao.js
+1
-4
xggsve-order/app/base/db/impl/order/oorderdeliverDao.js
+2
-2
xggsve-order/app/base/db/models/order/iborder.js
+2
-32
xggsve-order/app/base/db/models/order/oorder.js
+5
-6
xggsve-order/app/base/db/models/product/oprocess.js
+2
-2
xggsve-order/app/base/service/impl/order/oorderSve.js
+49
-56
xggsve-order/app/base/service/impl/order/oorderdeliverSve.js
+78
-35
xggsve-order/app/base/service/impl/order/paymentSve.js
+2
-8
No files found.
xggsve-order/app/base/api/impl/op/action.js
View file @
e3f2aae3
...
...
@@ -48,7 +48,7 @@ class ActionAPI extends APIBase {
try
{
switch
(
action_type
)
{
case
"orders"
:
//订单
列表
case
"orders"
:
//订单
管理(平台)
opResult
=
await
this
.
oorderSve
.
orders
(
action_body
);
break
;
case
"assignSalesman"
:
//分配业务员
...
...
@@ -57,7 +57,7 @@ class ActionAPI extends APIBase {
case
"assignDeliver"
:
//分配交付商
opResult
=
await
this
.
oorderSve
.
assignDeliver
(
action_body
);
break
;
case
"orderDelivers"
:
//
分配交付商
case
"orderDelivers"
:
//
订单管理(交付商)
opResult
=
await
this
.
oorderdeliverSve
.
orderDelivers
(
action_body
);
break
;
...
...
xggsve-order/app/base/db/impl/order/oorderDao.js
View file @
e3f2aae3
...
...
@@ -24,7 +24,7 @@ class OorderDao extends Dao {
let
sql
=
[];
sql
.
push
(
`SELECT * FROM o_order WHERE 1=1 `
);
this
.
setOrderCount
(
sql
,
params
);
sql
.
push
(
`limit
${
params
.
currentPage
}
,
${
params
.
pageSize
}
`
);
sql
.
push
(
`limit
${
params
.
startRow
}
,
${
params
.
pageSize
}
`
);
return
await
this
.
customQuery
(
sql
.
join
(
" "
),
params
);
}
...
...
@@ -49,9 +49,6 @@ class OorderDao extends Dao {
if
(
params
.
end
)
{
sql
.
push
(
`AND created_at <= :end`
);
}
if
(
params
.
deliver_id
)
{
sql
.
push
(
`AND deliver_id = :deliver_id`
);
}
}
}
...
...
xggsve-order/app/base/db/impl/order/oorderdeliverDao.js
View file @
e3f2aae3
...
...
@@ -14,7 +14,7 @@ class OorderdeliverDao extends Dao {
return
[];
}
let
sql
=
[];
sql
.
push
(
`SELECT * FROM o_order_deliver WHERE id in (:deliverIdList)`
);
sql
.
push
(
`SELECT * FROM o_order_deliver WHERE
deliver_
id in (:deliverIdList)`
);
return
await
this
.
customQuery
(
sql
.
join
(
" "
),
{
deliverIdList
:
ids
});
}
...
...
@@ -23,7 +23,7 @@ class OorderdeliverDao extends Dao {
let
list
=
await
this
.
listByIds
(
params
);
var
result
=
{};
for
(
let
item
of
list
)
{
result
[
item
.
id
]
=
item
;
result
[
item
.
deliver_
id
]
=
item
;
}
return
result
;
}
...
...
xggsve-order/app/base/db/models/order/iborder.js
View file @
e3f2aae3
...
...
@@ -66,37 +66,6 @@ module.exports = (db, DataTypes) => {
//freezeTableName: true,
// define the table's name
tableName
:
'ib_order'
,
validate
:
{},
indexes
:
[
// Create a unique index on email
// {
// unique: true,
// fields: ['email']
// },
//
// // Creates a gin index on data with the jsonb_path_ops operator
// {
// fields: ['data'],
// using: 'gin',
// operator: 'jsonb_path_ops'
// },
//
// // By default index name will be [table]_[fields]
// // Creates a multi column partial index
// {
// name: 'public_by_author',
// fields: ['author', 'status'],
// where: {
// status: 'public'
// }
// },
//
// // A BTREE index with a ordered field
// {
// name: 'title_index',
// method: 'BTREE',
// fields: ['author', {attribute: 'title', collate: 'en_US', order: 'DESC', length: 5}]
// }
]
validate
:
{}
});
}
\ No newline at end of file
xggsve-order/app/base/db/models/order/oorder.js
View file @
e3f2aae3
...
...
@@ -27,12 +27,11 @@ module.exports = function (db, DataTypes) {
deleted_at
:
{
type
:
DataTypes
.
DATE
,
field
:
'deleted_at'
,
allowNull
:
true
}
},
{
timestamps
:
false
,
underscore
:
true
,
paranoid
:
true
,
paranoid
:
true
,
//假的删除
underscored
:
true
,
version
:
true
,
tableName
:
'o_order'
,
comment
:
'订单表
'
,
});
freezeTableName
:
true
,
tableName
:
'o_order
'
,
});
}
xggsve-order/app/base/db/models/product/oprocess.js
View file @
e3f2aae3
...
...
@@ -3,7 +3,7 @@
* 订单流程表
*/
module
.
exports
=
function
(
db
,
DataTypes
)
{
return
db
.
define
(
'o
orderdeliver
'
,
{
return
db
.
define
(
'o
process
'
,
{
name
:
{
type
:
DataTypes
.
STRING
,
field
:
'name'
,
allowNull
:
false
,
defaultValue
:
''
,
comment
:
'流程名称'
},
status
:
{
type
:
DataTypes
.
STRING
,
field
:
'status'
,
allowNull
:
false
,
defaultValue
:
''
,
comment
:
'流程状态'
},
created_at
:
{
type
:
DataTypes
.
DATE
,
field
:
'created_at'
,
allowNull
:
false
,
defaultValue
:
DataTypes
.
NOW
},
...
...
@@ -15,7 +15,7 @@ module.exports = function (db, DataTypes) {
underscore
:
true
,
paranoid
:
true
,
version
:
true
,
tableName
:
'o_
order_deliver
'
,
tableName
:
'o_
process
'
,
comment
:
'订单交付表'
,
});
}
...
...
xggsve-order/app/base/service/impl/order/oorderSve.js
View file @
e3f2aae3
...
...
@@ -39,7 +39,7 @@ class OorderService extends ServiceBase {
order
.
contact_mobile
=
this
.
trim
(
params
.
contact_mobile
);
// 验证订单是否存在
let
exists
=
await
this
.
dao
.
findOne
({
source_id
:
order
.
source_id
,
source_no
:
order
.
source_no
});
let
exists
=
await
this
.
dao
.
findOne
({
source_id
:
order
.
source_id
,
source_no
:
order
.
source_no
});
if
(
exists
)
{
return
system
.
getResult
(
null
,
`订单号
${
order
.
source_no
}
已存在`
);
}
...
...
@@ -146,7 +146,7 @@ class OorderService extends ServiceBase {
if
(
!
nextObj
)
{
continue
;
}
nextStatus
.
push
({
next_status
:
nextObj
.
status
,
next_name
:
nextObj
.
name
});
nextStatus
.
push
({
next_status
:
nextObj
.
status
,
next_name
:
nextObj
.
name
});
}
let
orderProcess
=
{
...
...
@@ -166,7 +166,7 @@ class OorderService extends ServiceBase {
if
(
idx
==
0
&&
orderProcessList
.
length
>
0
)
{
let
lastProcess
=
orderProcessList
[
orderProcessList
.
length
-
1
];
let
nextObj
=
processMap
[
productProcess
.
process_id
];
lastProcess
.
next_status
=
JSON
.
stringify
([{
next_status
:
nextObj
.
status
,
next_name
:
nextObj
.
name
}]);
lastProcess
.
next_status
=
JSON
.
stringify
([{
next_status
:
nextObj
.
status
,
next_name
:
nextObj
.
name
}]);
}
orderProcessList
.
push
(
orderProcess
);
}
...
...
@@ -183,38 +183,32 @@ class OorderService extends ServiceBase {
if
(
params
.
id
)
{
where
.
id
=
this
.
trim
(
params
.
id
);
}
if
(
params
.
status
)
{
if
(
params
.
status
)
{
where
.
status
=
this
.
trim
(
params
.
status
);
}
if
(
params
.
beginDate
&&
params
.
endDate
)
{
where
.
beginDate
=
this
.
trim
(
params
.
beginDate
);
where
.
endDate
=
this
.
trim
(
params
.
endDate
);
}
if
(
params
.
deliver_id
)
{
where
.
deliver_id
=
this
.
trim
(
params
.
deliver_id
);
}
where
.
currentPage
=
Number
(
params
.
currentPage
||
1
);
where
.
pageSize
=
Number
(
params
.
pageSize
||
10
);
var
currentPage
=
Number
(
params
.
currentPage
||
1
);
var
pageSize
=
Number
(
params
.
pageSize
||
10
);
var
orderby
=
[
[
"id"
,
'desc'
]
];
this
.
addWhereTime
(
where
,
'created_at'
,
params
.
beginDate
,
params
.
endDate
);
where
.
startRow
=
(
where
.
currentPage
-
1
)
*
where
.
pageSize
;
try
{
let
ordersCountRes
=
await
this
.
dao
.
ordersCount
(
where
);
let
count
=
ordersCountRes
[
0
][
'orderCount'
];
let
rows
=
await
this
.
dao
.
findAll
(
where
);
var
page
=
await
this
.
getPageList
(
currentPage
,
pageSize
,
where
,
orderby
,
null
);
//格式化订单来源
this
.
formateSource
(
rows
);
await
this
.
formateSource
(
page
.
rows
);
//格式化订单产品
this
.
formateProduct
(
rows
);
await
this
.
formateProduct
(
page
.
rows
);
//格式化交付商
this
.
formateDeliver
(
rows
);
await
this
.
formateDeliver
(
page
.
rows
);
//格式化业务员
this
.
formateStatus
(
rows
);
await
this
.
formateStatus
(
page
.
rows
);
let
res
=
{
count
,
rows
};
return
system
.
getResult
(
res
);
return
system
.
getResult
(
page
);
}
catch
(
error
)
{
console
.
log
(
error
);
return
system
.
getResult
(
null
,
`系统错误 错误信息
${
error
}
`
);
...
...
@@ -226,13 +220,14 @@ class OorderService extends ServiceBase {
* @param {*} orderList
*/
async
formateSource
(
orderList
)
{
let
sourceSet
=
new
Set
();
let
sourceIdList
=
[];
for
(
let
item
of
orderList
)
{
if
(
item
.
source_id
)
{
source
IdList
.
push
(
item
.
source_id
);
source
Set
.
add
(
item
.
source_id
);
}
}
sourceIdList
=
Array
.
from
(
sourceSet
);
let
sourceMap
=
await
this
.
osourceDao
.
mapByIds
(
sourceIdList
);
for
(
let
item
of
orderList
)
{
item
.
osource
=
sourceMap
[
item
.
source_id
]
||
{}
...
...
@@ -252,7 +247,7 @@ class OorderService extends ServiceBase {
}
let
productMap
=
await
this
.
oproductDao
.
mapByIds
(
productIdList
);
for
(
let
item
of
productMap
)
{
for
(
let
item
of
orderList
)
{
item
.
oproduct
=
productMap
[
item
.
product_id
]
||
{}
}
}
...
...
@@ -270,7 +265,7 @@ class OorderService extends ServiceBase {
}
let
deliverMap
=
await
this
.
oorderdeliverDao
.
mapByIds
(
deliverIdList
);
for
(
let
item
of
deliverMap
)
{
for
(
let
item
of
orderList
)
{
item
.
odeliver
=
deliverMap
[
item
.
deliver_id
]
||
{}
}
}
...
...
@@ -324,15 +319,17 @@ class OorderService extends ServiceBase {
}
try
{
//更新订单业务员
let
_order
=
await
this
.
findById
(
params
.
id
);
if
(
!
_order
)
{
return
system
.
getResult
(
null
,
`订单不存在`
);
let
_order
=
await
this
.
findById
(
params
.
id
);
if
(
!
_order
)
{
return
system
.
getResult
(
null
,
`订单不存在`
);
}
//to do ... 验证下一个状态
await
this
.
statusAction
(
params
);
_order
.
bd_id
=
this
.
trim
(
params
.
bd_id
);
_order
.
status
=
this
.
trim
(
params
.
status
);
_order
.
bd_path
=
this
.
trim
(
params
.
bd_path
);
let
res
=
await
_order
.
save
();
return
system
.
getResult
(
res
);
}
catch
(
error
)
{
...
...
@@ -342,20 +339,20 @@ class OorderService extends ServiceBase {
}
/**
*
*
验证订单状态
* @param params
* @returns {Promise<{msg: string, data: (*|null), bizmsg: string, status: number}>}
*/
async
statusAction
(
params
)
{
let
_order
=
await
this
.
findById
(
params
.
id
);
if
(
!
_order
)
{
return
system
.
getResult
(
null
,
`订单不存在`
);
let
_order
=
await
this
.
findById
(
params
.
id
);
if
(
!
_order
)
{
return
system
.
getResult
(
null
,
`订单不存在`
);
}
//todo ... 验证状态
let
_orderStatus
=
await
this
.
getOrderProcessStatus
(
_order
.
id
,
_order
.
status
);
let
nextStatus
=
JSON
.
parse
(
_orderStatus
.
next_status
);
if
(
params
.
status
!=
nextStatus
.
next_status
)
{
return
system
.
getResult
(
null
,
`订单状态错误,下一订单状态应该是
${
nextStatus
.
next_name
}
`
);
if
(
params
.
status
!=
nextStatus
.
next_status
)
{
return
system
.
getResult
(
null
,
`订单状态错误,下一订单状态应该是
${
nextStatus
.
next_name
}
`
);
}
}
...
...
@@ -382,42 +379,38 @@ class OorderService extends ServiceBase {
}
try
{
let
_order
=
await
this
.
findById
(
params
.
id
);
if
(
!
_order
)
{
return
system
.
getResult
(
null
,
`订单不存在`
);
let
_order
=
await
this
.
findById
(
params
.
id
);
if
(
!
_order
)
{
return
system
.
getResult
(
null
,
`订单不存在`
);
}
//todo ... 验证状态
let
_orderStatus
=
await
this
.
getOrderProcessStatus
(
_order
.
id
,
_order
.
status
);
let
nextStatus
=
JSON
.
parse
(
_orderStatus
.
next_status
);
if
(
params
.
status
!=
nextStatus
.
next_status
)
{
return
system
.
getResult
(
null
,
`订单状态错误,下一订单状态应该是
${
nextStatus
.
next_name
}
`
);
}
await
this
.
statusAction
(
params
);
let
self
=
this
;
let
res
=
await
this
.
db
.
transaction
(
async
t
=>
{
//创建orderdeliver记录
await
this
.
oorderdeliverDao
.
create
({
await
self
.
oorderdeliverDao
.
create
({
order_id
:
self
.
trim
(
params
.
id
),
deliver_id
:
self
.
trim
(
self
.
deliver_id
),
deliver_name
:
self
.
trim
(
self
.
deliver_name
),
deliver_divide
:
self
.
trim
(
self
.
deliver_divide
),
deliver_id
:
self
.
trim
(
params
.
deliver_id
),
deliver_name
:
self
.
trim
(
params
.
deliver_name
),
deliver_divide
:
self
.
trim
(
params
.
deliver_divide
),
},
t
);
//更新oorder订单记录
await
self
.
dao
.
update
({
deliver_id
:
self
.
trim
(
self
.
deliver_id
),
id
:
self
.
trim
(
params
.
id
),
status
:
self
.
trim
(
params
.
status
)
},
t
);
deliver_id
:
self
.
trim
(
params
.
deliver_id
),
id
:
self
.
trim
(
params
.
id
),
status
:
self
.
trim
(
params
.
status
)
},
t
);
});
return
system
.
getResult
(
res
);
}
catch
(
error
)
{
console
.
log
(
error
);
return
system
.
getResult
(
null
,
`系统错误 错误信息
${
error
}
`
);
return
system
.
getResult
(
null
,
`系统错误 错误信息
${
error
}
`
);
}
}
}
...
...
xggsve-order/app/base/service/impl/order/oorderdeliverSve.js
View file @
e3f2aae3
...
...
@@ -21,48 +21,91 @@ class OorderdeliverService extends ServiceBase {
* 交付商订单管理列表
* @param {*} params
*/
//
async orderDelivers(params){
//
let where = {};
//
if(params.deliver_id){
//
where.deliver_id = this.trim(params.deliver_id);
//
}else{
//
return system.getResult(null,`参数错误 交付商ID不能为空`);
//
}
//
if(params.id){
//
where.id = this.trim(params.id);
//
}
//
if(params.status){
//
where.status = this.trim(params.status);
//
}
//
if(params.beginDate && params.endDate){
//
where.beginDate = this.trim(params.beginDate);
//
where.endDate = this.trim(params.endDate);
//
}
async
orderDelivers
(
params
){
let
where
=
{};
if
(
params
.
deliver_id
){
where
.
deliver_id
=
this
.
trim
(
params
.
deliver_id
);
}
else
{
return
system
.
getResult
(
null
,
`参数错误 交付商ID不能为空`
);
}
if
(
params
.
id
){
where
.
id
=
this
.
trim
(
params
.
id
);
}
if
(
params
.
status
){
where
.
status
=
this
.
trim
(
params
.
status
);
}
if
(
params
.
beginDate
&&
params
.
endDate
){
where
.
beginDate
=
this
.
trim
(
params
.
beginDate
);
where
.
endDate
=
this
.
trim
(
params
.
endDate
);
}
//
where.currentPage = Number(params.currentPage || 1);
//
where.pageSize = Number(params.pageSize || 10);
where
.
currentPage
=
Number
(
params
.
currentPage
||
1
);
where
.
pageSize
=
Number
(
params
.
pageSize
||
10
);
//
where.startRow = (where.currentPage-1)*where.pageSize;
where
.
startRow
=
(
where
.
currentPage
-
1
)
*
where
.
pageSize
;
// try {
// let ordersCountRes = await this.oorderDao.ordersCount(where);
// let count = ordersCountRes[0]['orderCount'];
// let rows = await this.dao.findAll(where);
// //格式化交付商
// this.formateDeliver(rows);
try
{
let
ordersCountRes
=
await
this
.
oorderDao
.
ordersCount
(
where
);
let
count
=
ordersCountRes
[
0
][
'orderCount'
];
if
(
count
==
0
){
return
system
.
getResult
({
count
:
0
,
rows
:[]});
}
let
rows
=
await
this
.
oorderDao
.
findAll
(
where
);
//格式化交付商
await
this
.
formateDeliver
(
rows
);
//格式化订单状态
await
this
.
formateStatus
(
rows
);
let
res
=
{
count
,
rows
};
return
system
.
getResult
(
res
);
}
catch
(
error
)
{
console
.
log
(
error
);
return
system
.
getResult
(
null
,
`系统错误 错误信息
${
error
}
`
);
}
}
/**
* 格式化订单交付商
* @param {*} orderList
*/
async
formateDeliver
(
orderList
)
{
let
deliverIdList
=
[];
for
(
let
item
of
orderList
)
{
if
(
item
.
deliver_id
)
{
deliverIdList
.
push
(
item
.
deliver_id
);
}
}
// let res = {
// count,rows
// };
// return system.getResult(res);
// } catch (error) {
// console.log(error);
// return system.getResult(null,`系统错误 错误信息 ${error}`);
// }
let
deliverMap
=
await
this
.
dao
.
mapByIds
(
deliverIdList
);
for
(
let
item
of
orderList
)
{
item
.
odeliver
=
deliverMap
[
item
.
deliver_id
]
||
{}
}
}
/**
* 处理订单状态数据
* @param orderList
* @returns {Promise<void>}
*/
async
formateStatus
(
orderList
)
{
let
ids
=
[];
let
statuses
=
[];
for
(
let
item
of
orderList
)
{
ids
.
push
(
item
.
id
);
statuses
.
push
(
item
.
status
);
}
let
map
=
await
this
.
oorderprocessDao
.
mapByOrderIdsAndStatus
(
ids
,
statuses
);
// }
for
(
let
item
of
orderList
)
{
let
key
=
item
.
id
+
"_"
+
item
.
status
;
let
v
=
map
[
key
]
||
{};
item
.
statusName
=
v
.
name
;
item
.
next_status
=
JSON
.
parse
(
v
.
next_status
||
"[]"
);
}
console
.
log
(
orderList
);
}
}
...
...
xggsve-order/app/base/service/impl/order/paymentSve.js
View file @
e3f2aae3
...
...
@@ -9,10 +9,4 @@ class PaymentService extends ServiceBase {
}
}
module
.
exports
=
PaymentService
;
// var task=new UserService();
// task.getUserStatisticGroupByApp().then(function(result){
// console.log((result));
// }).catch(function(e){
// console.log(e);
// });
\ No newline at end of file
module
.
exports
=
PaymentService
;
\ No newline at end of file
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