切换导航条
此项目
正在载入...
登录
李忠强
/
temporaryfood
·
提交
转到一个项目
GitLab
转到仪表盘
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
李忠强
3 years ago
提交
fea9c024000e72625b6f011a26039ae4f6692a4d
1 个父辈
e1a075bd
更新
隐藏空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
191 行增加
和
20 行删除
application/api/controller/Order.php
application/api/controller/Rider.php
application/api/model/UserMoneyLog.php
application/api/controller/Order.php
查看文件 @
fea9c02
...
...
@@ -20,7 +20,7 @@ use think\exception\PDOException;
*/
class
Order
extends
Api
{
// protected $noNeedLogin = ['*
'];
protected
$noNeedLogin
=
[
'friendPay
'
];
protected
$noNeedRight
=
[
'*'
];
/**
...
...
@@ -213,6 +213,55 @@ class Order extends Api
}
/**
* @ApiTitle (找人付页面)
* @ApiMethod (POST)
* @ApiParams (name="order_id", type="integer", required=true, description="订单id")
* @ApiReturn ({
'code':'1',
'msg':'返回成功'
'data':
detail:
pay_price:实付款
"goods": [
{
"goods_id": 22, 商品id
"goods_name": "Mate 20 华为 HUAWEI ", 商品名称
"spec_type": "20", 20多规格10单规格
"sku_id": 106, 规格id
"sku_price": "6099.00", 规格单价
"sku_name": "极光色 8GB+128GB", 规格名称
"number": 2, 数量
"image_text": "", 图片
},
{
"goods_id": 23,
"goods_name": "MacBook Pro 13寸",
"spec_type": "20",
"sku_id": 66,
"sku_price": "12688.00",
"sku_name": "天空灰",
"number": 2,
"image_text": "",
}
],
"user": 用户信息
})
*/
public
function
friendPay
()
{
$order_id
=
$this
->
request
->
post
(
'order_id'
);
if
(
!
$order_id
)
$this
->
error
(
'订单id参数不能为空'
);
$ordermodel
=
new
\app\api\model\Order
();
$order
=
$ordermodel
->
with
([
'goods'
])
->
where
(
'order.id'
,
$order_id
)
->
find
();
$user
=
\app\api\model\User
::
get
(
$order
[
'user_id'
]);
$user
->
visible
([
'nickname'
]);
$this
->
success
(
'下单页详情'
,[
'detail'
=>
$order
,
'user'
=>
$user
]);
}
/**
* @ApiTitle (计算运费)
* @ApiMethod (POST)
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
...
...
application/api/controller/Rider.php
查看文件 @
fea9c02
...
...
@@ -4,7 +4,9 @@
namespace
app\api\controller
;
use
app\api\model\GoodsComment
;
use
app\api\model\RiderOrder
;
use
app\api\model\UserMoneyLog
;
use
app\common\controller\Api
;
use
think\Config
;
use
think\Db
;
...
...
@@ -21,6 +23,7 @@ class Rider extends Api
* @ApiTitle (骑手订单页)
* @ApiMethod (POST)
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
* @ApiParams (name=type, type=integer, required=true, description="1配送中2=已完成")
* @ApiParams (name=page, type=integer, required=true, description="页数")
* @ApiParams (name=lat, type=integer, required=true, description="骑手纬度")
* @ApiParams (name=lng, type=integer, required=true, description="骑手经度")
...
...
@@ -52,29 +55,46 @@ class Rider extends Api
*/
public
function
index
()
{
$type
=
$this
->
request
->
post
(
'type'
);
$page
=
$this
->
request
->
post
(
'page'
,
1
);
$lat
=
$this
->
request
->
post
(
'lat'
);
$lng
=
$this
->
request
->
post
(
'lng'
);
if
(
!
in_array
(
$type
,[
1
,
2
]))
$this
->
error
(
'type参数不合法'
);
if
(
!
is_numeric
(
$page
))
$this
->
error
(
'页数不合法'
);
if
(
!
is_numeric
(
$lat
))
$this
->
error
(
'纬度不合法'
);
if
(
!
is_numeric
(
$lng
))
$this
->
error
(
'经度不合法'
);
$model
=
new
RiderOrder
();
$EARTH
=
6378.137
;
//地球半径
$PI
=
3.14
;
//PI值 圆周率
$list
=
$model
->
with
([
'address'
,
'orderdetail'
])
->
where
(
'fa_rider_order.user_id'
,
$this
->
auth
->
id
)
->
where
(
'fa_rider_order.status'
,
'1'
)
->
field
(
'Round((2 * '
.
$EARTH
.
'* ASIN(SQRT(POW(SIN('
.
$PI
.
'*('
.
$lat
.
'-lat)/360),2)
if
(
$type
==
1
){
$EARTH
=
6378.137
;
//地球半径
$PI
=
3.14
;
//PI值 圆周率
$list
=
$model
->
with
([
'address'
,
'orderdetail'
])
->
where
(
'fa_rider_order.user_id'
,
$this
->
auth
->
id
)
->
where
(
'fa_rider_order.status'
,
'1'
)
->
field
(
'Round((2 * '
.
$EARTH
.
'* ASIN(SQRT(POW(SIN('
.
$PI
.
'*('
.
$lat
.
'-lat)/360),2)
+COS('
.
$PI
.
'*'
.
$lat
.
'/180)* COS(lat * '
.
$PI
.
'/180)
*POW(SIN('
.
$PI
.
'*('
.
$lng
.
'-lng)/360),2)))),3) as distance'
)
->
order
(
'distance'
)
->
paginate
(
5
,
false
,[
'page'
=>
$page
])
->
each
(
function
(
$item
,
$key
){
$item
->
getRelation
(
'orderdetail'
)
->
visible
([
'order_no'
]);
$item
->
getRelation
(
'address'
)
->
visible
([
'name'
,
'phone'
,
'address'
,
'detail'
]);
$item
->
visible
([
'orderdetail'
,
'address'
,
'distance'
,
'id'
]);
});
->
order
(
'distance'
)
->
paginate
(
5
,
false
,[
'page'
=>
$page
])
->
each
(
function
(
$item
,
$key
){
$item
->
getRelation
(
'orderdetail'
)
->
visible
([
'order_no'
]);
$item
->
getRelation
(
'address'
)
->
visible
([
'name'
,
'phone'
,
'address'
,
'detail'
]);
$item
->
visible
([
'orderdetail'
,
'address'
,
'distance'
,
'id'
]);
});
}
else
{
$list
=
$model
->
with
([
'address'
,
'orderdetail'
])
->
where
(
'fa_rider_order.user_id'
,
$this
->
auth
->
id
)
->
where
(
'fa_rider_order.status'
,
'2'
)
->
order
(
'fa_rider_order.id'
,
'desc'
)
->
paginate
(
5
,
false
,[
'page'
=>
$page
])
->
each
(
function
(
$item
,
$key
){
$item
->
getRelation
(
'orderdetail'
)
->
visible
([
'order_no'
]);
$item
->
getRelation
(
'address'
)
->
visible
([
'name'
,
'address'
,
'detail'
]);
$item
->
visible
([
'orderdetail'
,
'address'
,
'distance'
,
'id'
]);
});
}
$this
->
success
(
'订单列表'
,
$list
);
}
...
...
@@ -147,7 +167,7 @@ class Rider extends Api
/**
* @ApiTitle (骑手订单详情)
* @ApiTitle (骑手
未送达
订单详情)
* @ApiMethod (POST)
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
* @ApiHeaders (name=id, type=integer, required=true, description="骑手订单id")
...
...
@@ -216,6 +236,69 @@ class Rider extends Api
/**
* @ApiTitle (骑手已送达订单详情)
* @ApiMethod (POST)
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
* @ApiHeaders (name=id, type=integer, required=true, description="骑手订单id")
* @ApiReturn ({
'code':'1',
'msg':'订单详情'
'data':
"id": 7,
"order_no": "LQ-16420622494781", 订单编号
"distance": 111.3195, 距离
"address": {
"id": 1,
"name": "1", 姓名
"phone": "13549059988",
"detail": "阿松大1", 门牌号
"address": "阿松大", 地址
"order_id": 7,
"user_id": 1,
"lat": "116.397128",
"lng": "39.916527",
"createtime": 0,
"province_id": 1,
"city_id": 2,
"region_id": 3,
"mobile_hide": "135****9988" 电话号码
},
"goods": [
{
"goods_name": "Mate 20 华为 HUAWEI ",
"goods_attr": "极光色 8GB+128GB",
"image_text": "http://temporaryfood.qiniu.broing.cn123132"
},
{
"goods_name": "MacBook Pro 13寸",
"goods_attr": "天空灰",
"image_text": "http://temporaryfood.qiniu.broing.cn123132"
}
],
"createtime_text": ""
})
*/
public
function
orderOverDetail
()
{
$id
=
$this
->
request
->
post
(
'id'
);
$rider_order
=
RiderOrder
::
get
(
$id
);
$ordermodel
=
new
\app\api\model\Order
();
$order
=
$ordermodel
->
with
([
'address'
,
'goods'
])
->
where
(
'fa_litestore_order.id'
,
$rider_order
[
'order_id'
])
->
find
();
$order
->
visible
([
'order_no'
,
'address'
,
'goods'
,
'id'
,
'distance'
]);
foreach
(
$order
->
getRelation
(
'goods'
)
as
$key
=>
$value
){
$value
->
visible
([
'goods_name'
,
'goods_attr'
]);
}
$comment
=
new
GoodsComment
();
$content
=
$comment
->
where
(
'order_id'
,
$order
->
id
)
->
select
();
$order
[
'comment'
]
=
$content
;
$this
->
success
(
'订单详情'
,
$order
);
}
/**
* @ApiTitle (骑手已送达)
* @ApiMethod (POST)
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
...
...
@@ -239,13 +322,17 @@ class Rider extends Api
$rider_order
->
status
=
'2'
;
$rider_order
->
sendtime
=
time
();
$rider_order
->
isUpdate
()
->
save
();
$user
=
$this
->
auth
->
getUser
();
$data
=
[
'user_id'
=>
$this
->
auth
->
id
,
'money'
=>
$order
->
express_price
,
'before'
=>
$user
->
money
,
'after'
=>
$order
->
express_price
+
$user
->
money
,
'memo'
=>
'订单运费'
,
'createtime'
=>
time
()
];
Db
::
name
(
'user_money_log'
)
->
insert
(
$data
);
$user
->
setInc
(
'money'
,
$order
->
express_price
);
$moneymodel
=
new
UserMoneyLog
();
$moneymodel
->
isUpdate
(
false
)
->
save
(
$data
);
$this
->
success
(
'送达成功'
,
$order
);
}
...
...
@@ -257,7 +344,7 @@ class Rider extends Api
* @ApiHeaders (name=money, type=integer, required=true, description="提现金额")
* @ApiReturn ({
'code':'1',
'msg':'
送达
成功'
'msg':'
提现
成功'
})
*/
public
function
withdraw
()
...
...
@@ -283,7 +370,7 @@ class Rider extends Api
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
* @ApiReturn ({
'code':'1',
'msg':'
送达成功
'
'msg':'
客服信息
'
})
*/
public
function
service
()
...
...
@@ -295,4 +382,25 @@ class Rider extends Api
];
$this
->
success
(
'客服信息'
,
$data
);
}
/**
* @ApiTitle (余额明细)
* @ApiMethod (POST)
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
* @ApiParams (name=page, type=integer, required=true, description="页数")
* @ApiReturn ({
'code':'1',
'msg':'余额明细'
})
*/
public
function
moneyList
()
{
$page
=
$this
->
request
->
post
(
'page'
,
1
);
$model
=
new
UserMoneyLog
();
$list
=
$model
->
where
(
'user_id'
,
$this
->
auth
->
id
)
->
order
(
'id'
,
'desc'
)
->
paginate
(
10
,
false
,[
'page'
=>
$page
]);
$this
->
success
(
'余额明细'
,
$list
);
}
}
\ No newline at end of file
...
...
application/api/model/UserMoneyLog.php
0 → 100644
查看文件 @
fea9c02
<?php
namespace
app\api\model
;
use
think\Model
;
class
UserMoneyLog
extends
Model
{
protected
$autoWriteTimestamp
=
'int'
;
protected
$createTime
=
'createtime'
;
protected
$updateTime
=
false
;
}
\ No newline at end of file
...
...
请
注册
或
登录
后发表评论