From 4b6e4113c16a0740f6ca6381ddd47ce4c5d903c8 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Thu, 22 Oct 2020 10:00:16 +0800
Subject: [PATCH 01/34] =?UTF-8?q?=E9=AA=91=E6=89=8B=E5=88=9D=E5=A7=8B?=
=?UTF-8?q?=E5=8C=96=20=E4=B8=AA=E4=BA=BA=E4=B8=AD=E5=BF=83=20=E6=9C=8D?=
=?UTF-8?q?=E5=8A=A1=E4=B8=93=E5=91=98=E6=A0=8F=E4=B8=8B=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?=E9=AA=91=E6=89=8B=E5=85=A5=E5=8F=A3=20=E8=8E=B7=E5=8F=96?=
=?UTF-8?q?=E6=9C=8D=E5=8A=A1=E4=B8=93=E5=91=98=E4=BF=A1=E6=81=AF=E6=94=B9?=
=?UTF-8?q?=E6=9F=A5employees=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/HomeController.php | 8 ++---
app/Controller/v3/HorsemanController.php | 22 ++++++++++++
app/Model/v3/Employees.php | 22 ++++++++++++
.../v3/Implementations/HorsemanService.php | 27 ++++++++++++++
.../UserCenterBlockService.php | 36 +++++++++++++++----
.../v3/Implementations/UserInfoService.php | 9 +++--
.../Interfaces/HorsemanServiceInterface.php | 13 +++++++
.../Interfaces/UserInfoServiceInterface.php | 2 +-
config/autoload/dependencies.php | 1 +
config/routes.php | 1 +
10 files changed, 126 insertions(+), 15 deletions(-)
create mode 100644 app/Controller/v3/HorsemanController.php
create mode 100644 app/Model/v3/Employees.php
create mode 100644 app/Service/v3/Implementations/HorsemanService.php
create mode 100644 app/Service/v3/Interfaces/HorsemanServiceInterface.php
diff --git a/app/Controller/v3/HomeController.php b/app/Controller/v3/HomeController.php
index 0224d59..03281c6 100644
--- a/app/Controller/v3/HomeController.php
+++ b/app/Controller/v3/HomeController.php
@@ -160,10 +160,10 @@ class HomeController extends BaseController
$params = $request->validated();
$data['user'] = $this->userInfoService->detail($params['user_id']);
$store_info = $this->userInfoService->getStoreByUID($params['user_id']);
- $sp_info = $this->userInfoService->getServicePersonnelByUID($params['user_id']);
+ $employees = $this->userInfoService->getEmployeesByUID($params['user_id']);
$data['user']['store_info'] = $store_info;
- $data['user']['sp_info'] = $sp_info;
+ $data['user']['sp_info'] = $employees;
$roles = [];
@@ -177,12 +177,12 @@ class HomeController extends BaseController
];
}
- if($sp_info){
+ if($employees){
$roles[] = [
'key'=>'sp',
'title'=>'服务',
'color'=>'#0091FF',
- 'data'=>$sp_info,
+ 'data'=>$employees,
];
}
diff --git a/app/Controller/v3/HorsemanController.php b/app/Controller/v3/HorsemanController.php
new file mode 100644
index 0000000..0eb9a4f
--- /dev/null
+++ b/app/Controller/v3/HorsemanController.php
@@ -0,0 +1,22 @@
+success($this->horsemanService->getOrderList());
+ }
+}
\ No newline at end of file
diff --git a/app/Model/v3/Employees.php b/app/Model/v3/Employees.php
new file mode 100644
index 0000000..feae515
--- /dev/null
+++ b/app/Model/v3/Employees.php
@@ -0,0 +1,22 @@
+ 'array'
+ ];
+
+ protected function boot(): void
+ {
+ parent::boot();
+ self::addGlobalScope('normal', function (Builder $builder) {
+ $builder->where([$this->getTable().'.status' => 1]);
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/Service/v3/Implementations/HorsemanService.php b/app/Service/v3/Implementations/HorsemanService.php
new file mode 100644
index 0000000..9396315
--- /dev/null
+++ b/app/Service/v3/Implementations/HorsemanService.php
@@ -0,0 +1,27 @@
+ 'sp_user',
- 'title' => '服务专员',
- 'items' => [
- ['name' => '评价', 'icon' => $img_host . 'user_icons/service2.png', 'type' => 'page', 'path' => '/zh_cjdianc/pages/appraise/index?service_personnel_id='.$item['data']['id'],'command'=>'sp_login'],
+ $tags = [];
+ if(in_array(29,$item['data']['position'])){
+ array_push($tags,
[
- 'name' => '商品管理', 'icon' => $img_host . 'user_icons/service2.png',
+ 'name' => '骑手端', 'icon' => $img_host . 'user_icons/service2.png',
'type' => 'page',
'path' => '/pages/shopList/shopList?personal_id='.$item['data']['id'],
'command'=>'sp_login'
]
- ]
+ );
+ }
+
+ if(in_array(30,$item['data']['position'])){
+ $personalId = ServicePersonnel::query()->where('user_id',$item['data']['user_id'])->value('id');
+ array_push($tags,
+ [
+ 'name' => '评价',
+ 'icon' => $img_host . 'user_icons/service2.png',
+ 'type' => 'page',
+ 'path' => '/zh_cjdianc/pages/appraise/index?service_personnel_id='.$personalId,'command'=>'sp_login'
+ ],
+ [
+ 'name' => '商品管理', 'icon' => $img_host . 'user_icons/service2.png',
+ 'type' => 'page',
+ 'path' => '/pages/shopList/shopList?personal_id='.$personalId,
+ 'command'=>'sp_login'
+ ]
+ );
+ }
+ $blocks[] = [
+ 'type' => 'sp_user',
+ 'title' => '服务专员',
+ 'items' => $tags
];
}
diff --git a/app/Service/v3/Implementations/UserInfoService.php b/app/Service/v3/Implementations/UserInfoService.php
index 0b08a39..8e2e401 100644
--- a/app/Service/v3/Implementations/UserInfoService.php
+++ b/app/Service/v3/Implementations/UserInfoService.php
@@ -5,6 +5,7 @@ namespace App\Service\v3\Implementations;
use App\Constants\v3\ErrorCode;
use App\Constants\v3\SsdbKeys;
use App\Exception\ErrorCodeException;
+use App\Model\v3\Employees;
use App\Model\v3\User;
use App\Model\v3\ServicePersonnel;
use App\Model\v3\Store;
@@ -94,10 +95,12 @@ class UserInfoService implements UserInfoServiceInterface
return $store;
}
- public function getServicePersonnelByUID($userId)
+ public function getEmployeesByUID($userId)
{
- $sp = ServicePersonnel::where('user_id',$userId)->select('id','user_id')->first();
- return $sp;
+ $employees = Employees::where('user_id',$userId)->where(function ($query){
+ $query->whereJsonContains('position', '29')->orWhereJsonContains('position', '30');
+ })->first();
+ return $employees;
}
}
\ No newline at end of file
diff --git a/app/Service/v3/Interfaces/HorsemanServiceInterface.php b/app/Service/v3/Interfaces/HorsemanServiceInterface.php
new file mode 100644
index 0000000..f43fcb0
--- /dev/null
+++ b/app/Service/v3/Interfaces/HorsemanServiceInterface.php
@@ -0,0 +1,13 @@
+ \App\Service\v3\Implementations\ServiceEvaluateService::class,
\App\Service\v3\Interfaces\ParamsTokenServiceInterface::class => \App\Service\v3\Implementations\ParamsTokenSsdbService::class,
\App\Service\v3\Interfaces\GoodsInventoryServiceInterface::class => \App\Service\v3\Implementations\GoodsInventoryService::class,
+ \App\Service\v3\Interfaces\HorsemanServiceInterface::class => \App\Service\v3\Implementations\HorsemanService::class,
];
diff --git a/config/routes.php b/config/routes.php
index 3a80997..f93166c 100644
--- a/config/routes.php
+++ b/config/routes.php
@@ -167,6 +167,7 @@ Router::addGroup('/v3/', function () {
Router::post('store/updateIsRest', 'App\Controller\v3\StoreController@updateIsRest');
Router::post('coupon/getAvailableListByNewUser', 'App\Controller\v3\CouponController@getAvailableListByNewUser');
Router::post('coupon/receive', 'App\Controller\v3\CouponController@receive');
+ Router::post('horseman/getOrderList', 'App\Controller\v3\HorsemanController@getOrderList');
},['middleware' => [\App\Middleware\Auth\ApiMiddleware::class, \App\Middleware\Auth\UserMiddleware::class]]);
// 微信支付回调
From 663f2af3bd6ca67d8b89a71f02b971a33c5dc10c Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Thu, 22 Oct 2020 11:46:59 +0800
Subject: [PATCH 02/34] =?UTF-8?q?=E9=AA=91=E6=89=8B=E7=AB=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Constants/v3/ErrorCode.php | 10 +++
app/Constants/v3/SsdbKeys.php | 5 ++
app/Controller/v3/HorsemanController.php | 20 ++++++
.../v3/Implementations/HorsemanService.php | 64 +++++++++++++++++++
.../UserCenterBlockService.php | 2 +-
.../Interfaces/HorsemanServiceInterface.php | 3 +
config/routes.php | 5 +-
7 files changed, 107 insertions(+), 2 deletions(-)
diff --git a/app/Constants/v3/ErrorCode.php b/app/Constants/v3/ErrorCode.php
index 11089ab..1f26a59 100644
--- a/app/Constants/v3/ErrorCode.php
+++ b/app/Constants/v3/ErrorCode.php
@@ -406,4 +406,14 @@ class ErrorCode extends AbstractConstants
* @Message("token解析失败")
*/
const TOKEN_NOT_EXISTS = 1353;
+
+ /************************************/
+ /* 骑手相关 1401-1450 */
+ /************************************/
+
+ /**
+ * 获取骑手坐标失败
+ * @Message("获取骑手坐标失败")
+ */
+ const HORSEMAN_COORDINATE_FAIL = 1401;
}
\ No newline at end of file
diff --git a/app/Constants/v3/SsdbKeys.php b/app/Constants/v3/SsdbKeys.php
index f153fb1..f02c8ae 100644
--- a/app/Constants/v3/SsdbKeys.php
+++ b/app/Constants/v3/SsdbKeys.php
@@ -80,4 +80,9 @@ class SsdbKeys extends AbstractConstants
*/
const PARAMS_TOKEN = 'params_token_v3_';
+ /**
+ * @Message("骑手坐标")
+ */
+ const HORSEMAN_COORDINATE = 'horseman_coordinate_';
+
}
\ No newline at end of file
diff --git a/app/Controller/v3/HorsemanController.php b/app/Controller/v3/HorsemanController.php
index 0eb9a4f..67f7189 100644
--- a/app/Controller/v3/HorsemanController.php
+++ b/app/Controller/v3/HorsemanController.php
@@ -19,4 +19,24 @@ class HorsemanController extends BaseController
{
return $this->success($this->horsemanService->getOrderList());
}
+
+ public function setHorsemanCoordinate()
+ {
+ $horsemanId = $this->request->input('horseman_id', -1);
+ $coordinate = $this->request->input('coordinate', -1);
+ return $this->success($this->horsemanService->setHorsemanCoordinate($horsemanId,$coordinate));
+ }
+
+ public function getHorsemanCoordinate()
+ {
+ $horsemanId = $this->request->input('horseman_id', -1);
+ $coordinate = $this->horsemanService->getHorsemanCoordinate($horsemanId);
+ return $this->success(['coordinate' => $coordinate]);
+ }
+
+ public function getOrderCoordinate()
+ {
+ $globalOrderId = $this->request->input('global_order_id', -1);
+ return $this->success($this->horsemanService->getOrderCoordinate($globalOrderId));
+ }
}
\ No newline at end of file
diff --git a/app/Service/v3/Implementations/HorsemanService.php b/app/Service/v3/Implementations/HorsemanService.php
index 9396315..fd0ae94 100644
--- a/app/Service/v3/Implementations/HorsemanService.php
+++ b/app/Service/v3/Implementations/HorsemanService.php
@@ -2,8 +2,15 @@
namespace App\Service\v3\Implementations;
+use App\Model\v3\Market;
+use App\Model\v3\OrderMain;
use Hyperf\Di\Annotation\Inject;
use App\Service\v3\Interfaces\HorsemanServiceInterface;
+use Hyperf\Utils\ApplicationContext;
+use App\Constants\v3\SsdbKeys;
+use App\TaskWorker\SSDBTask;
+use App\Constants\v3\ErrorCode;
+use App\Exception\ErrorCodeException;
class HorsemanService implements HorsemanServiceInterface
{
public function do()
@@ -24,4 +31,61 @@ class HorsemanService implements HorsemanServiceInterface
{
return '接入成功';
}
+
+ /**
+ * 记录骑手坐标
+ */
+ public function setHorsemanCoordinate($horsemanId,$coordinate){
+ $ssdb = ApplicationContext::getContainer()->get(SSDBTask::class);
+ if(false === $ssdb->exec('set', SsdbKeys::HORSEMAN_COORDINATE.$horsemanId,$coordinate)) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * 获取骑手坐标
+ */
+ public function getHorsemanCoordinate($horsemanId){
+ $ssdb = ApplicationContext::getContainer()->get(SSDBTask::class);
+ $params = $ssdb->exec('get', SsdbKeys::HORSEMAN_COORDINATE.$horsemanId);
+
+ if ((false === $params) || empty($params)) {
+ throw new ErrorCodeException(ErrorCode::HORSEMAN_COORDINATE_FAIL, '获取骑手坐标失败');
+ }
+ return $params;
+ }
+
+ /**
+ * 获取订单起止坐标
+ */
+ public function getOrderCoordinate($globalOrderId){
+ //获取订单信息
+ $order = OrderMain::where('global_order_id',$globalOrderId)
+ ->select(
+ 'lat as origi_lat',
+ 'lng as origi_lng',
+ 'state',
+ 'market_id'
+ )
+ ->first();
+ if($order->state != 3)
+ {
+ return false;
+ }
+ //获取市场信息
+ $market = Market::where('id',$order->market_id)
+ ->select(
+ 'lat as destination_lat',
+ 'lng as destination_lng'
+ )
+ ->first();
+ $res = [
+ 'origi_lat' => $order->origi_lat,
+ 'origi_lng' => $order->origi_lng,
+ 'destination_lat' => $market->destination_lat,
+ 'destination_lng' => $market->destination_lng
+ ];
+ return $res;
+ }
}
\ No newline at end of file
diff --git a/app/Service/v3/Implementations/UserCenterBlockService.php b/app/Service/v3/Implementations/UserCenterBlockService.php
index f2138bf..c7a389c 100644
--- a/app/Service/v3/Implementations/UserCenterBlockService.php
+++ b/app/Service/v3/Implementations/UserCenterBlockService.php
@@ -72,7 +72,7 @@ class UserCenterBlockService implements UserCenterBlockServiceInterface
[
'name' => '骑手端', 'icon' => $img_host . 'user_icons/service2.png',
'type' => 'page',
- 'path' => '/pages/shopList/shopList?personal_id='.$item['data']['id'],
+ 'path' => '/pages/deliverymanOrders/deliverymanOrders?employees_id='.$item['data']['id'],
'command'=>'sp_login'
]
);
diff --git a/app/Service/v3/Interfaces/HorsemanServiceInterface.php b/app/Service/v3/Interfaces/HorsemanServiceInterface.php
index f43fcb0..b080f45 100644
--- a/app/Service/v3/Interfaces/HorsemanServiceInterface.php
+++ b/app/Service/v3/Interfaces/HorsemanServiceInterface.php
@@ -10,4 +10,7 @@ interface HorsemanServiceInterface
public function check();
public function undo();
public function getOrderList();
+ public function setHorsemanCoordinate($horsemanId,$coordinate);
+ public function getHorsemanCoordinate($horsemanId);
+ public function getOrderCoordinate($globalOrderId);
}
\ No newline at end of file
diff --git a/config/routes.php b/config/routes.php
index f93166c..d98feb5 100644
--- a/config/routes.php
+++ b/config/routes.php
@@ -98,6 +98,10 @@ Router::addGroup('/v3/', function () {
Router::post('paramsToken/analyze', 'App\Controller\v3\ParamsTokenController@analyze');
Router::post('goods/getTags', 'App\Controller\v3\GoodsController@getTags');
Router::post('home/market', 'App\Controller\v3\HomeController@marketInfo');
+ Router::post('horseman/getOrderList', 'App\Controller\v3\HorsemanController@getOrderList');
+ Router::post('horseman/getHorsemanCoordinate', 'App\Controller\v3\HorsemanController@getHorsemanCoordinate');
+ Router::post('horseman/getOrderCoordinate', 'App\Controller\v3\HorsemanController@getOrderCoordinate');
+ Router::post('horseman/setHorsemanCoordinate', 'App\Controller\v3\HorsemanController@setHorsemanCoordinate');
},['middleware' => [\App\Middleware\Auth\ApiMiddleware::class]]);
// 需要登录的路由
@@ -167,7 +171,6 @@ Router::addGroup('/v3/', function () {
Router::post('store/updateIsRest', 'App\Controller\v3\StoreController@updateIsRest');
Router::post('coupon/getAvailableListByNewUser', 'App\Controller\v3\CouponController@getAvailableListByNewUser');
Router::post('coupon/receive', 'App\Controller\v3\CouponController@receive');
- Router::post('horseman/getOrderList', 'App\Controller\v3\HorsemanController@getOrderList');
},['middleware' => [\App\Middleware\Auth\ApiMiddleware::class, \App\Middleware\Auth\UserMiddleware::class]]);
// 微信支付回调
From 8bdf094ef1c2cc44eeb41adf5bf8449f7b9aa3ca Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Thu, 22 Oct 2020 11:52:42 +0800
Subject: [PATCH 03/34] =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Constants/v3/ErrorCode.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/Constants/v3/ErrorCode.php b/app/Constants/v3/ErrorCode.php
index 1f26a59..7e6a60d 100644
--- a/app/Constants/v3/ErrorCode.php
+++ b/app/Constants/v3/ErrorCode.php
@@ -408,12 +408,12 @@ class ErrorCode extends AbstractConstants
const TOKEN_NOT_EXISTS = 1353;
/************************************/
- /* 骑手相关 1401-1450 */
+ /* 骑手相关 1451-1500 */
/************************************/
/**
* 获取骑手坐标失败
* @Message("获取骑手坐标失败")
*/
- const HORSEMAN_COORDINATE_FAIL = 1401;
+ const HORSEMAN_COORDINATE_FAIL = 1451;
}
\ No newline at end of file
From 8468c88ad2ba95890edc3b2c6729304cc21913be Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Thu, 22 Oct 2020 14:33:25 +0800
Subject: [PATCH 04/34] =?UTF-8?q?horseman=E5=AD=97=E6=AE=B5=E7=BB=9F?=
=?UTF-8?q?=E4=B8=80=E6=94=B9=E4=B8=BAemployees=20=E6=B5=8B=E8=AF=95?=
=?UTF-8?q?=E6=9C=8D=E9=85=8D=E9=80=81=E8=B4=B9=E6=94=B9=E4=B8=BA0.01?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/HorsemanController.php | 8 ++++----
.../v3/Implementations/DistributionPriceService.php | 4 +++-
app/Service/v3/Implementations/HorsemanService.php | 10 +++++-----
3 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/app/Controller/v3/HorsemanController.php b/app/Controller/v3/HorsemanController.php
index 67f7189..977aa32 100644
--- a/app/Controller/v3/HorsemanController.php
+++ b/app/Controller/v3/HorsemanController.php
@@ -22,15 +22,15 @@ class HorsemanController extends BaseController
public function setHorsemanCoordinate()
{
- $horsemanId = $this->request->input('horseman_id', -1);
+ $employeesId = $this->request->input('employees_id', -1);
$coordinate = $this->request->input('coordinate', -1);
- return $this->success($this->horsemanService->setHorsemanCoordinate($horsemanId,$coordinate));
+ return $this->success($this->horsemanService->setHorsemanCoordinate($employeesId,$coordinate));
}
public function getHorsemanCoordinate()
{
- $horsemanId = $this->request->input('horseman_id', -1);
- $coordinate = $this->horsemanService->getHorsemanCoordinate($horsemanId);
+ $employeesId = $this->request->input('employees_id', -1);
+ $coordinate = $this->horsemanService->getHorsemanCoordinate($employeesId);
return $this->success(['coordinate' => $coordinate]);
}
diff --git a/app/Service/v3/Implementations/DistributionPriceService.php b/app/Service/v3/Implementations/DistributionPriceService.php
index 78ff942..b6e41f1 100644
--- a/app/Service/v3/Implementations/DistributionPriceService.php
+++ b/app/Service/v3/Implementations/DistributionPriceService.php
@@ -11,7 +11,9 @@ class DistributionPriceService implements DistributionPriceServiceInterface
{
public function do($distance)
{
-
+ if (env('APP_ENV') === 'dev') {
+ return 0.01;
+ }
$deliveryDistance = config('distance.delivery_distance');
$deliveryDistance = ceil($deliveryDistance/1000);
$km = ceil($distance/1000);
diff --git a/app/Service/v3/Implementations/HorsemanService.php b/app/Service/v3/Implementations/HorsemanService.php
index fd0ae94..94aa008 100644
--- a/app/Service/v3/Implementations/HorsemanService.php
+++ b/app/Service/v3/Implementations/HorsemanService.php
@@ -29,15 +29,15 @@ class HorsemanService implements HorsemanServiceInterface
}
public function getOrderList()
{
- return '接入成功';
+ return OrderMain::query()->where('state',3)->limit(5)->get();
}
/**
* 记录骑手坐标
*/
- public function setHorsemanCoordinate($horsemanId,$coordinate){
+ public function setHorsemanCoordinate($employeesId,$coordinate){
$ssdb = ApplicationContext::getContainer()->get(SSDBTask::class);
- if(false === $ssdb->exec('set', SsdbKeys::HORSEMAN_COORDINATE.$horsemanId,$coordinate)) {
+ if(false === $ssdb->exec('set', SsdbKeys::HORSEMAN_COORDINATE.$employeesId,$coordinate)) {
return false;
}
return true;
@@ -46,9 +46,9 @@ class HorsemanService implements HorsemanServiceInterface
/**
* 获取骑手坐标
*/
- public function getHorsemanCoordinate($horsemanId){
+ public function getHorsemanCoordinate($employeesId){
$ssdb = ApplicationContext::getContainer()->get(SSDBTask::class);
- $params = $ssdb->exec('get', SsdbKeys::HORSEMAN_COORDINATE.$horsemanId);
+ $params = $ssdb->exec('get', SsdbKeys::HORSEMAN_COORDINATE.$employeesId);
if ((false === $params) || empty($params)) {
throw new ErrorCodeException(ErrorCode::HORSEMAN_COORDINATE_FAIL, '获取骑手坐标失败');
From 4a0f5facfe2ed437dad17b1fea40629065c33216 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Thu, 22 Oct 2020 14:52:53 +0800
Subject: [PATCH 05/34] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E7=89=88?=
=?UTF-8?q?=E6=9C=AC=E6=AF=94=E8=BE=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../v3/Implementations/HelperService.php | 48 +++++++++++++++++++
.../v3/Implementations/TabsService.php | 11 +++--
2 files changed, 56 insertions(+), 3 deletions(-)
diff --git a/app/Service/v3/Implementations/HelperService.php b/app/Service/v3/Implementations/HelperService.php
index 72e138d..5458e86 100644
--- a/app/Service/v3/Implementations/HelperService.php
+++ b/app/Service/v3/Implementations/HelperService.php
@@ -53,4 +53,52 @@ class HelperService implements HelperServiceInterface
return $str;
}
+
+ /*
+ * 版本号比较 by sam 20170412
+ * @param $version1 版本A 如:5.3.2
+ * @param $version2 版本B 如:5.3.0
+ * @return int -1版本A小于版本B , 0版本A等于版本B, 1版本A大于版本B
+ *
+ * 版本号格式注意:
+ * 1.要求只包含:点和大于等于0小于等于2147483646的整数 的组合
+ * 2.boole型 true置1,false置0
+ * 3.不设位默认补0计算,如:版本号5等于版号5.0.0
+ * 4.不包括数字 或 负数 的版本号 ,统一按0处理
+ *
+ * @example:
+ * if (versionCompare('5.2.2','5.3.0')<0) {
+ * echo '版本1小于版本2';
+ * }
+ */
+ function versionCompare($versionA,$versionB)
+ {
+ if ($versionA > 2147483646 || $versionB > 2147483646) {
+ throw new Exception('版本号,位数太大暂不支持!', '101');
+ }
+ $dm = '.';
+ $verListA = explode($dm, (string)$versionA);
+ $verListB = explode($dm, (string)$versionB);
+
+ $len = max(count($verListA), count($verListB));
+ $i = -1;
+ while ($i++ < $len) {
+ $verListA[$i] = intval(@$verListA[$i]);
+ if ($verListA[$i] < 0) {
+ $verListA[$i] = 0;
+ }
+ $verListB[$i] = intval(@$verListB[$i]);
+ if ($verListB[$i] < 0) {
+ $verListB[$i] = 0;
+ }
+
+ if ($verListA[$i] > $verListB[$i]) {
+ return 1;
+ } else if ($verListA[$i] < $verListB[$i]) {
+ return -1;
+ } else if ($i == ($len - 1)) {
+ return 0;
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/app/Service/v3/Implementations/TabsService.php b/app/Service/v3/Implementations/TabsService.php
index 2438937..c35e7ff 100644
--- a/app/Service/v3/Implementations/TabsService.php
+++ b/app/Service/v3/Implementations/TabsService.php
@@ -4,10 +4,14 @@ namespace App\Service\v3\Implementations;
use App\Constants\v3\Tabs;
use App\Service\v3\Interfaces\TabsServiceInterface;
-
+use Hyperf\Di\Annotation\Inject;
class TabsService implements TabsServiceInterface
{
-
+ /**
+ * @Inject
+ * @var HelperService
+ */
+ protected $helperService;
public function do()
{
// TODO: Implement do() method.
@@ -25,7 +29,8 @@ class TabsService implements TabsServiceInterface
public function allForAppletIndex($version)
{
- if($version == '3.0.12'){
+ $version = $this->helperService->versionCompare($version,'3.0.12');
+ if($version >= 0){
return [
['tab' => Tabs::APPLET_INDEX_STORE, 'title' => '推荐店铺', 'subtitle' => '物美价廉', 'badge' => '', 'bg_color' => '#FF0000', 'font_color' => '#FFFFFF'],
['tab' => Tabs::APPLET_INDEX_RECOMMEND, 'title' => '猜你喜欢', 'subtitle' => '我是你的菜', 'badge' => '', 'bg_color' => '#FF0000', 'font_color' => '#FFFFFF'],
From 4b0e0d6ca0c8a8972b962f00096a4dd5b7f017ab Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Thu, 22 Oct 2020 15:20:29 +0800
Subject: [PATCH 06/34] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/HorsemanController.php | 13 +++++++++++++
.../v3/Implementations/OrderOnlineService.php | 5 +++++
.../v3/Interfaces/OrderOnlineServiceInterface.php | 7 +++++++
config/routes.php | 1 +
4 files changed, 26 insertions(+)
diff --git a/app/Controller/v3/HorsemanController.php b/app/Controller/v3/HorsemanController.php
index 977aa32..8cf62ca 100644
--- a/app/Controller/v3/HorsemanController.php
+++ b/app/Controller/v3/HorsemanController.php
@@ -6,6 +6,7 @@ namespace App\Controller\v3;
use App\Controller\BaseController;
use App\Service\v3\Interfaces\HorsemanServiceInterface;
use Hyperf\Di\Annotation\Inject;
+use App\Service\v3\Interfaces\OrderOnlineServiceInterface;
class HorsemanController extends BaseController
{
@@ -15,11 +16,23 @@ class HorsemanController extends BaseController
*/
protected $horsemanService;
+ /**
+ * @Inject
+ * @var OrderOnlineServiceInterface
+ */
+ protected $orderOnlineService;
+
public function getOrderList()
{
return $this->success($this->horsemanService->getOrderList());
}
+ public function getOrderInfo()
+ {
+ $globalOrderId = $this->request->input('global_order_id', -1);
+ return $this->success($this->orderOnlineService->getOrderInfo($globalOrderId));
+ }
+
public function setHorsemanCoordinate()
{
$employeesId = $this->request->input('employees_id', -1);
diff --git a/app/Service/v3/Implementations/OrderOnlineService.php b/app/Service/v3/Implementations/OrderOnlineService.php
index 8a128d0..f25cf63 100644
--- a/app/Service/v3/Implementations/OrderOnlineService.php
+++ b/app/Service/v3/Implementations/OrderOnlineService.php
@@ -849,4 +849,9 @@ class OrderOnlineService implements OrderOnlineServiceInterface
return true;
}
+
+ public function getOrderInfo($globalOrderId)
+ {
+ return OrderMain::query()->where('global_order_id',$globalOrderId)->first();
+ }
}
\ No newline at end of file
diff --git a/app/Service/v3/Interfaces/OrderOnlineServiceInterface.php b/app/Service/v3/Interfaces/OrderOnlineServiceInterface.php
index 0fc4654..1c962f7 100644
--- a/app/Service/v3/Interfaces/OrderOnlineServiceInterface.php
+++ b/app/Service/v3/Interfaces/OrderOnlineServiceInterface.php
@@ -83,4 +83,11 @@ interface OrderOnlineServiceInterface
* @return mixed
*/
public function checkIfBuyFlashGoodsToday($userId);
+
+ /**
+ * 获取订单详情
+ * @param $globalOrderId
+ * @return mixed
+ */
+ public function getOrderInfo($globalOrderId);
}
\ No newline at end of file
diff --git a/config/routes.php b/config/routes.php
index d98feb5..d43e556 100644
--- a/config/routes.php
+++ b/config/routes.php
@@ -102,6 +102,7 @@ Router::addGroup('/v3/', function () {
Router::post('horseman/getHorsemanCoordinate', 'App\Controller\v3\HorsemanController@getHorsemanCoordinate');
Router::post('horseman/getOrderCoordinate', 'App\Controller\v3\HorsemanController@getOrderCoordinate');
Router::post('horseman/setHorsemanCoordinate', 'App\Controller\v3\HorsemanController@setHorsemanCoordinate');
+ Router::post('horseman/getOrderInfo', 'App\Controller\v3\HorsemanController@getOrderInfo');
},['middleware' => [\App\Middleware\Auth\ApiMiddleware::class]]);
// 需要登录的路由
From 3b32a1569e9aa6f69df10540b7ccbb937fdc371d Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Thu, 22 Oct 2020 15:55:34 +0800
Subject: [PATCH 07/34] =?UTF-8?q?=E5=9B=9E=E8=B0=83=E6=A0=BC=E5=BC=8F?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/HorsemanController.php | 6 ++++--
app/Service/v3/Implementations/HorsemanService.php | 14 ++++++--------
.../v3/Implementations/OrderOnlineService.php | 2 +-
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/app/Controller/v3/HorsemanController.php b/app/Controller/v3/HorsemanController.php
index 8cf62ca..8212eb5 100644
--- a/app/Controller/v3/HorsemanController.php
+++ b/app/Controller/v3/HorsemanController.php
@@ -24,13 +24,15 @@ class HorsemanController extends BaseController
public function getOrderList()
{
- return $this->success($this->horsemanService->getOrderList());
+ $orderMainList = $this->horsemanService->getOrderList();
+ return $this->success(['order_list' => $orderMainList]);
}
public function getOrderInfo()
{
$globalOrderId = $this->request->input('global_order_id', -1);
- return $this->success($this->orderOnlineService->getOrderInfo($globalOrderId));
+ $orderMain = $this->orderOnlineService->getOrderInfo($globalOrderId);
+ return $this->success(['order' => $orderMain]);
}
public function setHorsemanCoordinate()
diff --git a/app/Service/v3/Implementations/HorsemanService.php b/app/Service/v3/Implementations/HorsemanService.php
index 94aa008..ff1344b 100644
--- a/app/Service/v3/Implementations/HorsemanService.php
+++ b/app/Service/v3/Implementations/HorsemanService.php
@@ -63,8 +63,8 @@ class HorsemanService implements HorsemanServiceInterface
//获取订单信息
$order = OrderMain::where('global_order_id',$globalOrderId)
->select(
- 'lat as origi_lat',
- 'lng as origi_lng',
+ 'lat',
+ 'lng',
'state',
'market_id'
)
@@ -76,15 +76,13 @@ class HorsemanService implements HorsemanServiceInterface
//获取市场信息
$market = Market::where('id',$order->market_id)
->select(
- 'lat as destination_lat',
- 'lng as destination_lng'
+ 'lat',
+ 'lng'
)
->first();
$res = [
- 'origi_lat' => $order->origi_lat,
- 'origi_lng' => $order->origi_lng,
- 'destination_lat' => $market->destination_lat,
- 'destination_lng' => $market->destination_lng
+ 'order' => $order,
+ 'market' => $market
];
return $res;
}
diff --git a/app/Service/v3/Implementations/OrderOnlineService.php b/app/Service/v3/Implementations/OrderOnlineService.php
index f25cf63..f21da8b 100644
--- a/app/Service/v3/Implementations/OrderOnlineService.php
+++ b/app/Service/v3/Implementations/OrderOnlineService.php
@@ -852,6 +852,6 @@ class OrderOnlineService implements OrderOnlineServiceInterface
public function getOrderInfo($globalOrderId)
{
- return OrderMain::query()->where('global_order_id',$globalOrderId)->first();
+ return OrderMain::query()->where('global_order_id',$globalOrderId)->with('market','orderGoods')->first();
}
}
\ No newline at end of file
From 02d8d1e981abe8c11d9f36299aad766c41e8bbe2 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Thu, 22 Oct 2020 16:23:31 +0800
Subject: [PATCH 08/34] =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=AE=A2=E5=8D=95?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E8=BF=94=E5=9B=9E=E9=AA=91=E6=89=8B=E4=BF=A1?=
=?UTF-8?q?=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Model/v3/OrderMain.php | 5 +++++
app/Service/v3/Implementations/OrderListService.php | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/app/Model/v3/OrderMain.php b/app/Model/v3/OrderMain.php
index 3b83f26..293fc48 100644
--- a/app/Model/v3/OrderMain.php
+++ b/app/Model/v3/OrderMain.php
@@ -130,4 +130,9 @@ class OrderMain extends Model
{
return $this->belongsTo(User::class, 'user_id', 'id');
}
+
+ public function employees()
+ {
+ return $this->belongsTo(Employees::class, 'horseman_id', 'id');
+ }
}
\ No newline at end of file
diff --git a/app/Service/v3/Implementations/OrderListService.php b/app/Service/v3/Implementations/OrderListService.php
index 2f5322a..be1ab0f 100644
--- a/app/Service/v3/Implementations/OrderListService.php
+++ b/app/Service/v3/Implementations/OrderListService.php
@@ -46,7 +46,7 @@ class OrderListService implements OrderListServiceInterface
{
$builder = OrderMain::query()
- ->with(['orderGoods', 'market'])
+ ->with(['orderGoods', 'market','employees'])
->where(['user_id' => $userId, 'type' => OrderType::ONLINE]);
switch ($tab) {
case 'all':
From 7f331f7af2ca81bf816e38a69c6d55d92d34630f Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Thu, 22 Oct 2020 16:39:00 +0800
Subject: [PATCH 09/34] =?UTF-8?q?=E5=88=86=E9=A1=B5=20=E8=AE=A2=E5=8D=95?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E5=AE=9E=E8=A3=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/HorsemanController.php | 7 +++++--
app/Service/v3/Implementations/HorsemanService.php | 10 ++++++++--
app/Service/v3/Interfaces/HorsemanServiceInterface.php | 2 +-
3 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/app/Controller/v3/HorsemanController.php b/app/Controller/v3/HorsemanController.php
index 8212eb5..58f6c8a 100644
--- a/app/Controller/v3/HorsemanController.php
+++ b/app/Controller/v3/HorsemanController.php
@@ -24,8 +24,11 @@ class HorsemanController extends BaseController
public function getOrderList()
{
- $orderMainList = $this->horsemanService->getOrderList();
- return $this->success(['order_list' => $orderMainList]);
+ $employeesId = $this->request->input('employees_id', -1);
+ $page = $this->request->input('page',0);
+ $pagesize = $this->request->input('pagesize',0);
+ $orderMainList = $this->horsemanService->getOrderList($employeesId,$page, $pagesize);
+ return $this->success($orderMainList);
}
public function getOrderInfo()
diff --git a/app/Service/v3/Implementations/HorsemanService.php b/app/Service/v3/Implementations/HorsemanService.php
index ff1344b..64531d7 100644
--- a/app/Service/v3/Implementations/HorsemanService.php
+++ b/app/Service/v3/Implementations/HorsemanService.php
@@ -27,9 +27,15 @@ class HorsemanService implements HorsemanServiceInterface
{
// TODO: Implement undo() method.
}
- public function getOrderList()
+ public function getOrderList($employeesId,$page=1, $pagesize=10)
{
- return OrderMain::query()->where('state',3)->limit(5)->get();
+ $builder = OrderMain::query()->where(['state' => 3,'horseman_id' => $employeesId]);
+ $paginate = $builder->orderBy('created_at', 'desc')->paginate($pagesize);
+ $orders = $paginate->toArray();
+ return [
+ 'has_more_pages' => $paginate->hasMorePages(),
+ 'order_list' => $orders['data']
+ ];
}
/**
diff --git a/app/Service/v3/Interfaces/HorsemanServiceInterface.php b/app/Service/v3/Interfaces/HorsemanServiceInterface.php
index b080f45..9debfeb 100644
--- a/app/Service/v3/Interfaces/HorsemanServiceInterface.php
+++ b/app/Service/v3/Interfaces/HorsemanServiceInterface.php
@@ -9,7 +9,7 @@ interface HorsemanServiceInterface
public function do();
public function check();
public function undo();
- public function getOrderList();
+ public function getOrderList($employeesId,$page=1, $pagesize=10);
public function setHorsemanCoordinate($horsemanId,$coordinate);
public function getHorsemanCoordinate($horsemanId);
public function getOrderCoordinate($globalOrderId);
From 1b7da569e92b1f224f66399676fcfab5e87355e6 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Thu, 22 Oct 2020 16:53:09 +0800
Subject: [PATCH 10/34] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=AE=8C=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/HorsemanController.php | 7 +++++++
app/Service/v3/Implementations/OrderOnlineService.php | 5 +++++
app/Service/v3/Interfaces/OrderOnlineServiceInterface.php | 2 ++
config/routes.php | 1 +
4 files changed, 15 insertions(+)
diff --git a/app/Controller/v3/HorsemanController.php b/app/Controller/v3/HorsemanController.php
index 58f6c8a..9357b74 100644
--- a/app/Controller/v3/HorsemanController.php
+++ b/app/Controller/v3/HorsemanController.php
@@ -57,4 +57,11 @@ class HorsemanController extends BaseController
$globalOrderId = $this->request->input('global_order_id', -1);
return $this->success($this->horsemanService->getOrderCoordinate($globalOrderId));
}
+
+ public function orderComplete()
+ {
+ $globalOrderId = $this->request->input('global_order_id', -1);
+ $res = $this->orderOnlineService->completeForHorseman($globalOrderId);
+ return $this->success($res);
+ }
}
\ No newline at end of file
diff --git a/app/Service/v3/Implementations/OrderOnlineService.php b/app/Service/v3/Implementations/OrderOnlineService.php
index f21da8b..de649cd 100644
--- a/app/Service/v3/Implementations/OrderOnlineService.php
+++ b/app/Service/v3/Implementations/OrderOnlineService.php
@@ -854,4 +854,9 @@ class OrderOnlineService implements OrderOnlineServiceInterface
{
return OrderMain::query()->where('global_order_id',$globalOrderId)->with('market','orderGoods')->first();
}
+
+ public function completeForHorseman($globalOrderId)
+ {
+ return true;
+ }
}
\ No newline at end of file
diff --git a/app/Service/v3/Interfaces/OrderOnlineServiceInterface.php b/app/Service/v3/Interfaces/OrderOnlineServiceInterface.php
index 1c962f7..951ce80 100644
--- a/app/Service/v3/Interfaces/OrderOnlineServiceInterface.php
+++ b/app/Service/v3/Interfaces/OrderOnlineServiceInterface.php
@@ -90,4 +90,6 @@ interface OrderOnlineServiceInterface
* @return mixed
*/
public function getOrderInfo($globalOrderId);
+
+ public function completeForHorseman($globalOrderId);
}
\ No newline at end of file
diff --git a/config/routes.php b/config/routes.php
index d43e556..05eb7fd 100644
--- a/config/routes.php
+++ b/config/routes.php
@@ -103,6 +103,7 @@ Router::addGroup('/v3/', function () {
Router::post('horseman/getOrderCoordinate', 'App\Controller\v3\HorsemanController@getOrderCoordinate');
Router::post('horseman/setHorsemanCoordinate', 'App\Controller\v3\HorsemanController@setHorsemanCoordinate');
Router::post('horseman/getOrderInfo', 'App\Controller\v3\HorsemanController@getOrderInfo');
+ Router::post('horseman/orderComplete', 'App\Controller\v3\HorsemanController@orderComplete');
},['middleware' => [\App\Middleware\Auth\ApiMiddleware::class]]);
// 需要登录的路由
From e37e3fc879f5c6552f270e5a3a8e0a72bfac4eb4 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Fri, 23 Oct 2020 14:36:13 +0800
Subject: [PATCH 11/34] =?UTF-8?q?=E9=85=8D=E9=80=81=E8=B4=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/OrderOnlineController.php | 12 ++++++--
.../DistributionPriceService.php | 28 ++++++++++++++++++-
.../v3/Implementations/UserAddressService.php | 10 +++++++
.../DistributionPriceServiceInterface.php | 2 ++
4 files changed, 49 insertions(+), 3 deletions(-)
diff --git a/app/Controller/v3/OrderOnlineController.php b/app/Controller/v3/OrderOnlineController.php
index c12bf72..34e076e 100644
--- a/app/Controller/v3/OrderOnlineController.php
+++ b/app/Controller/v3/OrderOnlineController.php
@@ -115,13 +115,18 @@ class OrderOnlineController extends BaseController
$distance_text = '距您收货地址 ' . $distance . 'm';
}
$distributionPrice = $this->distributionPriceService->do($distance);
+ $originalPrice = $this->distributionPriceService->original($distance);
$res['location'] = [
'address' => $address,
'distribution_price' => $distributionPrice,
+ 'original_price' => $originalPrice,
'distance' => $distance,
'within' => true,
+ 'style' => 'strike',
// 'distribution_text' => '¥ '.$distributionPrice .'(' .$distance_text .')'
- 'distribution_text' => $distance_text
+ 'distribution_text' => $distance_text,
+ 'distribution_price_text' => '¥ '.$distributionPrice,
+ 'original_price_text' => '¥ '.$originalPrice
];
}else{
$res['location'] = [
@@ -129,7 +134,10 @@ class OrderOnlineController extends BaseController
'distribution_price' => 3.5,
'distance' => $distance,
'within' => false,
- 'distribution_text' => '¥ 3.5'
+ 'style' => 'strike',
+ 'distribution_text' => '',
+ 'distribution_price_text' => '',
+ 'original_price_text' => ''
];
}
//返回预约送达时间 数组
diff --git a/app/Service/v3/Implementations/DistributionPriceService.php b/app/Service/v3/Implementations/DistributionPriceService.php
index dadca3b..2bab7c5 100644
--- a/app/Service/v3/Implementations/DistributionPriceService.php
+++ b/app/Service/v3/Implementations/DistributionPriceService.php
@@ -22,7 +22,7 @@ class DistributionPriceService implements DistributionPriceServiceInterface
// $distributionPrice = bcmul(0.70,($km-3),2);
$distributionPrice = 0;
break;
- case ($km > 5 && $km <= 8) :
+ case ($km > 5 && $km <= $deliveryDistance) :
$distributionPrice = bcmul(1.50,($km-5),2);
break;
// case ($km > 7 && $km <= $deliveryDistance) :
@@ -44,4 +44,30 @@ class DistributionPriceService implements DistributionPriceServiceInterface
{
// TODO: Implement undo() method.
}
+
+ public function original($distance)
+ {
+ $deliveryDistance = config('distance.delivery_distance');
+ $deliveryDistance = ceil($deliveryDistance/1000);
+ $km = ceil($distance/1000);
+ switch (true){
+ case ($km > $deliveryDistance) :
+ throw new ErrorCodeException(ErrorCode::LOCATION_LONG_DISTANCE,'',['message' => '超出配送范围', 'data' => ['距离' => $km, '配送距离' => $deliveryDistance]]);
+ break;
+ case ($km > 3 && $km <= 5) :
+ // $distributionPrice = bcmul(0.70,($km-3),2);
+ $distributionPrice = 0;
+ break;
+ case ($km > 5 && $km <= $deliveryDistance) :
+ $distributionPrice = bcmul(1.50,($km-5),2);
+ break;
+ // case ($km > 7 && $km <= $deliveryDistance) :
+ // $distributionPrice = bcmul(1.50,($km-5),2);
+ // break;
+ default:
+ $distributionPrice = 0;
+ }
+ $distributionPrice = bcadd($distributionPrice,3.50,2);
+ return (float) $distributionPrice;
+ }
}
\ No newline at end of file
diff --git a/app/Service/v3/Implementations/UserAddressService.php b/app/Service/v3/Implementations/UserAddressService.php
index bf374d1..94d90eb 100644
--- a/app/Service/v3/Implementations/UserAddressService.php
+++ b/app/Service/v3/Implementations/UserAddressService.php
@@ -91,16 +91,26 @@ class UserAddressService implements UserAddressServiceInterface
$distance = $this->locationService->getDistanceByTencent($market->lng,$market->lat,$address['address']->lng,$address['address']->lat);
$distributionPrice = $this->distributionPriceService->do($distance);
+ $originalPrice = $this->distributionPriceService->original($distance);
if($distance >= 1000){
$distance_text = '距您收货地址 ' . bcdiv($distance,1000,2) . 'km';
}else{
$distance_text = '距您收货地址 ' . $distance . 'm';
}
+ /**
+ * distributionPrice 配送费
+ * originalPrice 配送费原价
+ * style 前端输出样式
+ */
$res['address'] = $address;
$res['delivery_distance'] = $distance;
$res['distribution_price'] = $distributionPrice;
+ $res['original_price'] = $originalPrice;
+ $res['style'] = 'strike';
// $res['distribution_text'] = '¥ '.$distributionPrice .'(' .$distance_text .')';
$res['distribution_text'] = $distance_text;
+ $res['distribution_price_text'] = '¥ '.$distributionPrice;
+ $res['original_price_text'] = '¥ '.$originalPrice;
return $res;
}
diff --git a/app/Service/v3/Interfaces/DistributionPriceServiceInterface.php b/app/Service/v3/Interfaces/DistributionPriceServiceInterface.php
index 5c9d12f..aa6ea22 100644
--- a/app/Service/v3/Interfaces/DistributionPriceServiceInterface.php
+++ b/app/Service/v3/Interfaces/DistributionPriceServiceInterface.php
@@ -9,4 +9,6 @@ interface DistributionPriceServiceInterface
public function check();
public function undo();
+
+ public function original($distance);
}
\ No newline at end of file
From f8ef472ccce86fc54005d276dbd5277aea1ea1e9 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Fri, 23 Oct 2020 14:53:55 +0800
Subject: [PATCH 12/34] =?UTF-8?q?=E5=A4=84=E7=90=86=E6=B2=A1=E9=80=89?=
=?UTF-8?q?=E5=9C=B0=E5=9D=80=E6=97=B6=E7=9A=84=E9=BB=98=E8=AE=A4=E9=80=89?=
=?UTF-8?q?=E9=A1=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/OrderOnlineController.php | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/app/Controller/v3/OrderOnlineController.php b/app/Controller/v3/OrderOnlineController.php
index 34e076e..83e7b07 100644
--- a/app/Controller/v3/OrderOnlineController.php
+++ b/app/Controller/v3/OrderOnlineController.php
@@ -131,13 +131,14 @@ class OrderOnlineController extends BaseController
}else{
$res['location'] = [
'address' => '',
- 'distribution_price' => 3.5,
+ 'distribution_price' => 0,
+ 'original_price' => 0,
'distance' => $distance,
'within' => false,
'style' => 'strike',
'distribution_text' => '',
- 'distribution_price_text' => '',
- 'original_price_text' => ''
+ 'distribution_price_text' => '¥ 0',
+ 'original_price_text' => '¥ 0'
];
}
//返回预约送达时间 数组
From 44ea282d1c0ed3798eb90b06680c41be24b02ed2 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Fri, 23 Oct 2020 15:10:11 +0800
Subject: [PATCH 13/34] =?UTF-8?q?=E9=85=8D=E9=80=81=E8=B4=B9=E6=97=A0?=
=?UTF-8?q?=E5=87=8F=E5=85=8D=E6=97=B6=20=E6=98=BE=E7=A4=BA=E5=AD=97?=
=?UTF-8?q?=E6=AE=B5=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/OrderOnlineController.php | 4 ++--
app/Service/v3/Implementations/UserAddressService.php | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/Controller/v3/OrderOnlineController.php b/app/Controller/v3/OrderOnlineController.php
index 83e7b07..c085e13 100644
--- a/app/Controller/v3/OrderOnlineController.php
+++ b/app/Controller/v3/OrderOnlineController.php
@@ -126,7 +126,7 @@ class OrderOnlineController extends BaseController
// 'distribution_text' => '¥ '.$distributionPrice .'(' .$distance_text .')'
'distribution_text' => $distance_text,
'distribution_price_text' => '¥ '.$distributionPrice,
- 'original_price_text' => '¥ '.$originalPrice
+ 'original_price_text' => $originalPrice > $distributionPrice ? '¥ '.$originalPrice : ''
];
}else{
$res['location'] = [
@@ -138,7 +138,7 @@ class OrderOnlineController extends BaseController
'style' => 'strike',
'distribution_text' => '',
'distribution_price_text' => '¥ 0',
- 'original_price_text' => '¥ 0'
+ 'original_price_text' => ''
];
}
//返回预约送达时间 数组
diff --git a/app/Service/v3/Implementations/UserAddressService.php b/app/Service/v3/Implementations/UserAddressService.php
index 94d90eb..442cee9 100644
--- a/app/Service/v3/Implementations/UserAddressService.php
+++ b/app/Service/v3/Implementations/UserAddressService.php
@@ -110,7 +110,7 @@ class UserAddressService implements UserAddressServiceInterface
// $res['distribution_text'] = '¥ '.$distributionPrice .'(' .$distance_text .')';
$res['distribution_text'] = $distance_text;
$res['distribution_price_text'] = '¥ '.$distributionPrice;
- $res['original_price_text'] = '¥ '.$originalPrice;
+ $res['original_price_text'] = $originalPrice > $distributionPrice ? '¥ '.$originalPrice : '';
return $res;
}
From 0a73c2cab62659769a259439cf54a69bb94d1566 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Fri, 23 Oct 2020 15:19:04 +0800
Subject: [PATCH 14/34] =?UTF-8?q?=E9=AA=91=E6=89=8B=E9=AA=8C=E8=AF=81?=
=?UTF-8?q?=E5=99=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/HorsemanController.php | 13 +++++-----
app/Request/v3/EmployeesRequest.php | 33 ++++++++++++++++++++++++
app/Request/v3/HorsemanOrderRequest.php | 33 ++++++++++++++++++++++++
3 files changed, 73 insertions(+), 6 deletions(-)
create mode 100644 app/Request/v3/EmployeesRequest.php
create mode 100644 app/Request/v3/HorsemanOrderRequest.php
diff --git a/app/Controller/v3/HorsemanController.php b/app/Controller/v3/HorsemanController.php
index 9357b74..50a885f 100644
--- a/app/Controller/v3/HorsemanController.php
+++ b/app/Controller/v3/HorsemanController.php
@@ -7,7 +7,8 @@ use App\Controller\BaseController;
use App\Service\v3\Interfaces\HorsemanServiceInterface;
use Hyperf\Di\Annotation\Inject;
use App\Service\v3\Interfaces\OrderOnlineServiceInterface;
-
+use App\Request\v3\EmployeesRequest;
+use App\Request\v3\HorsemanOrderRequest;
class HorsemanController extends BaseController
{
/**
@@ -22,7 +23,7 @@ class HorsemanController extends BaseController
*/
protected $orderOnlineService;
- public function getOrderList()
+ public function getOrderList(EmployeesRequest $request)
{
$employeesId = $this->request->input('employees_id', -1);
$page = $this->request->input('page',0);
@@ -31,21 +32,21 @@ class HorsemanController extends BaseController
return $this->success($orderMainList);
}
- public function getOrderInfo()
+ public function getOrderInfo(HorsemanOrderRequest $request)
{
$globalOrderId = $this->request->input('global_order_id', -1);
$orderMain = $this->orderOnlineService->getOrderInfo($globalOrderId);
return $this->success(['order' => $orderMain]);
}
- public function setHorsemanCoordinate()
+ public function setHorsemanCoordinate(EmployeesRequest $request)
{
$employeesId = $this->request->input('employees_id', -1);
$coordinate = $this->request->input('coordinate', -1);
return $this->success($this->horsemanService->setHorsemanCoordinate($employeesId,$coordinate));
}
- public function getHorsemanCoordinate()
+ public function getHorsemanCoordinate(EmployeesRequest $request)
{
$employeesId = $this->request->input('employees_id', -1);
$coordinate = $this->horsemanService->getHorsemanCoordinate($employeesId);
@@ -58,7 +59,7 @@ class HorsemanController extends BaseController
return $this->success($this->horsemanService->getOrderCoordinate($globalOrderId));
}
- public function orderComplete()
+ public function orderComplete(HorsemanOrderRequest $request)
{
$globalOrderId = $this->request->input('global_order_id', -1);
$res = $this->orderOnlineService->completeForHorseman($globalOrderId);
diff --git a/app/Request/v3/EmployeesRequest.php b/app/Request/v3/EmployeesRequest.php
new file mode 100644
index 0000000..a4469e0
--- /dev/null
+++ b/app/Request/v3/EmployeesRequest.php
@@ -0,0 +1,33 @@
+ 'required|nonempty|integer',
+ ];
+ }
+
+ /**
+ * @return array
+ */
+ public function messages(): array
+ {
+ return [
+ '*.*' => ':attribute无效',
+ ];
+ }
+
+ public function attributes(): array
+ {
+ return parent::attributes();
+ }
+}
\ No newline at end of file
diff --git a/app/Request/v3/HorsemanOrderRequest.php b/app/Request/v3/HorsemanOrderRequest.php
new file mode 100644
index 0000000..8187f1c
--- /dev/null
+++ b/app/Request/v3/HorsemanOrderRequest.php
@@ -0,0 +1,33 @@
+ 'required|nonempty|integer',
+ ];
+ }
+
+ /**
+ * @return array
+ */
+ public function messages(): array
+ {
+ return [
+ '*.*' => ':attribute无效',
+ ];
+ }
+
+ public function attributes(): array
+ {
+ return parent::attributes();
+ }
+}
\ No newline at end of file
From addac7854d418c186804e08efbf84ba6b98b11f4 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Fri, 23 Oct 2020 16:25:25 +0800
Subject: [PATCH 15/34] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=AE=8C=E6=88=90?=
=?UTF-8?q?=E6=8D=A2=E7=9C=9F=E5=AE=9E=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/HorsemanController.php | 26 ++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/app/Controller/v3/HorsemanController.php b/app/Controller/v3/HorsemanController.php
index 50a885f..2676eb5 100644
--- a/app/Controller/v3/HorsemanController.php
+++ b/app/Controller/v3/HorsemanController.php
@@ -3,8 +3,14 @@
namespace App\Controller\v3;
+use App\Constants\v3\ErrorCode;
+use App\Constants\v3\LogLabel;
use App\Controller\BaseController;
+use App\Exception\ErrorCodeException;
+use App\Model\v3\OrderMain;
use App\Service\v3\Interfaces\HorsemanServiceInterface;
+use App\Service\v3\Interfaces\SeparateAccountsServiceInterface;
+use Hyperf\DbConnection\Db;
use Hyperf\Di\Annotation\Inject;
use App\Service\v3\Interfaces\OrderOnlineServiceInterface;
use App\Request\v3\EmployeesRequest;
@@ -23,6 +29,12 @@ class HorsemanController extends BaseController
*/
protected $orderOnlineService;
+ /**
+ * @Inject
+ * @var SeparateAccountsServiceInterface
+ */
+ protected $separateAccountsService;
+
public function getOrderList(EmployeesRequest $request)
{
$employeesId = $this->request->input('employees_id', -1);
@@ -62,7 +74,17 @@ class HorsemanController extends BaseController
public function orderComplete(HorsemanOrderRequest $request)
{
$globalOrderId = $this->request->input('global_order_id', -1);
- $res = $this->orderOnlineService->completeForHorseman($globalOrderId);
- return $this->success($res);
+ $userId = OrderMain::query()->where('global_order_id',$globalOrderId)->value('user_id');
+ Db::beginTransaction();
+ try {
+ $this->orderOnlineService->doComplete($globalOrderId, $userId);
+ $this->separateAccountsService->orderOnlineCompleted($globalOrderId, $userId);
+ Db::commit();
+ return $this->success(true);
+ } catch (\Exception $e) {
+ Db::rollBack();
+ $this->log->event(LogLabel::ORDER_COMPLETE_LOG, ['exception' => $e->getMessage()]);
+ throw new ErrorCodeException(ErrorCode::ORDER_COMPLETE_FAIL);
+ }
}
}
\ No newline at end of file
From 264ff0565f6bef5eb45525d2527cddfa6b63aa3f Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Fri, 23 Oct 2020 16:46:58 +0800
Subject: [PATCH 16/34] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=8E=A5=E5=8F=A3=20an?=
=?UTF-8?q?d=20=E9=A6=96=E9=A1=B5=E5=BA=97=E9=93=BA=E5=88=97=E8=A1=A8?=
=?UTF-8?q?=E6=8E=A5=E5=8F=A3=20=E4=BC=91=E6=81=AF=E7=9A=84=E5=BA=97?=
=?UTF-8?q?=E9=93=BA=E4=B9=9F=E8=83=BD=E6=9F=A5=E5=87=BA=E6=9D=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Service/v3/Implementations/SearchService.php | 5 +++--
app/Service/v3/Implementations/StoreService.php | 3 ++-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/app/Service/v3/Implementations/SearchService.php b/app/Service/v3/Implementations/SearchService.php
index 4768e71..a188446 100644
--- a/app/Service/v3/Implementations/SearchService.php
+++ b/app/Service/v3/Implementations/SearchService.php
@@ -110,12 +110,13 @@ class SearchService implements SearchServiceInterface
$query->where(''.$goodsTable.'.inventory', '>', 0)->orWhere(''.$goodsTable.'.is_infinite', '=', 1);
})
->whereRaw(''.$goodsTable.'.deleted_at IS NULL')
- ->where([''.$storeTable.'.market_id' => $params['market_id'], ''.$storeTable.'.is_rest' => StoreConstants::IS_REST_NO])
+ ->where([''.$storeTable.'.market_id' => $params['market_id']])
+ ->orderBy($storeTable.'.is_rest','asc');
/*->where('time1', '<=', date('H:i'))
->where(function ($query) {
$query->where('time2', '>=', date('H:i'))
->orWhere('time4', '>=', date('H:i'));
- })*/;
+ })*/
if (isset($params['store_id']) && $params['store_id']) {
$builder->where([''.$storeTable.'.store_id' => $params['store_id']]);
diff --git a/app/Service/v3/Implementations/StoreService.php b/app/Service/v3/Implementations/StoreService.php
index 50cb0fc..2ef73e4 100644
--- a/app/Service/v3/Implementations/StoreService.php
+++ b/app/Service/v3/Implementations/StoreService.php
@@ -82,7 +82,8 @@ class StoreService implements StoreServiceInterface
$query->where(''.$goodsTable.'.inventory', '>', 0)->orWhere(''.$goodsTable.'.is_infinite', '=', 1);
})
->whereRaw(''.$goodsTable.'.deleted_at IS NULL')
- ->where([''.$storeTable.'.market_id' => $marketId, ''.$storeTable.'.is_rest' => StoreConstants::IS_REST_NO]);
+ ->where([''.$storeTable.'.market_id' => $marketId])
+ ->orderBy($storeTable.'.is_rest','asc');;
$paginate = $builder->groupBy(''.$storeTable.'.id')->orderByDesc($storeTable.'.sales')->paginate($pagesize);
$stores = $paginate->map(function ($item, $key) {
From 0ef7d1ac36aa7182a33cfa1a0cb07bfac83b5ff5 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Fri, 23 Oct 2020 16:59:43 +0800
Subject: [PATCH 17/34] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E5=95=86=E5=93=81?=
=?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=AF=86=E5=88=AB=E8=AF=B7=E6=B1=82=E8=B7=AF?=
=?UTF-8?q?=E5=BE=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Service/v3/Implementations/SearchService.php | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/app/Service/v3/Implementations/SearchService.php b/app/Service/v3/Implementations/SearchService.php
index a188446..a6bc224 100644
--- a/app/Service/v3/Implementations/SearchService.php
+++ b/app/Service/v3/Implementations/SearchService.php
@@ -28,9 +28,11 @@ class SearchService implements SearchServiceInterface
->where([
''.$storeTable.'.is_open' => StoreConstants::IS_OPEN_YES,
''.$storeTable.'.status' => StoreConstants::STATUS_PASS,
- ''.$storeTable.'.is_rest' => StoreConstants::IS_REST_NO
- ])
- ->where([
+ ]);
+ if(!isset($params['frompage']) || $params['frompage'] != 'zh_cjdianc/pages/takeout/takeoutindex'){
+ $builder->where(''.$storeTable.'.is_rest',StoreConstants::IS_REST_NO);
+ }
+ $builder->where([
''.$goodsTable.'.market_id' => $params['market_id'],
''.$goodsTable.'.on_sale' => GoodsConstants::ON_SALE_YES
])
From 3806580f0581108b414c646af8eac3b91a87be74 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Fri, 23 Oct 2020 17:07:45 +0800
Subject: [PATCH 18/34] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=82=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/SearchController.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/Controller/v3/SearchController.php b/app/Controller/v3/SearchController.php
index 9e0c92b..3477e75 100644
--- a/app/Controller/v3/SearchController.php
+++ b/app/Controller/v3/SearchController.php
@@ -48,7 +48,7 @@ class SearchController extends BaseController
*/
public function goods(SearchGoodsRequest $request)
{
- $params = $request->validated();
+ $params = $this->request->all();
$data = $this->searchService->doForGoods($params);
return $this->success($data);
From 8695fcd659be6849118ae5706ddcaac7e1241695 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Fri, 23 Oct 2020 17:50:34 +0800
Subject: [PATCH 19/34] =?UTF-8?q?=E6=9C=80=E5=A4=A7=E9=85=8D=E9=80=81?=
=?UTF-8?q?=E8=B7=9D=E7=A6=BB=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/UserAddressController.php | 5 +++++
config/routes.php | 1 +
2 files changed, 6 insertions(+)
diff --git a/app/Controller/v3/UserAddressController.php b/app/Controller/v3/UserAddressController.php
index 0cfdd51..985dcc2 100644
--- a/app/Controller/v3/UserAddressController.php
+++ b/app/Controller/v3/UserAddressController.php
@@ -70,4 +70,9 @@ class UserAddressController extends BaseController
return $this->success(['location' => $res]);
}
+ public function deliveryDistance(){
+ $deliveryDistance = config('distance.delivery_distance');
+ return $this->success(['delivery_distance' => $deliveryDistance]);
+ }
+
}
\ No newline at end of file
diff --git a/config/routes.php b/config/routes.php
index 05eb7fd..f6c339c 100644
--- a/config/routes.php
+++ b/config/routes.php
@@ -104,6 +104,7 @@ Router::addGroup('/v3/', function () {
Router::post('horseman/setHorsemanCoordinate', 'App\Controller\v3\HorsemanController@setHorsemanCoordinate');
Router::post('horseman/getOrderInfo', 'App\Controller\v3\HorsemanController@getOrderInfo');
Router::post('horseman/orderComplete', 'App\Controller\v3\HorsemanController@orderComplete');
+ Router::post('userAddress/deliveryDistance', 'App\Controller\v3\UserAddressController@deliveryDistance');
},['middleware' => [\App\Middleware\Auth\ApiMiddleware::class]]);
// 需要登录的路由
From 00afcdcfe28651c66f282c98747e9a74535173b5 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Mon, 26 Oct 2020 09:30:54 +0800
Subject: [PATCH 20/34] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=BD=93=E5=A4=A9?=
=?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Constants/v3/SsdbKeys.php | 5 +++++
app/Controller/v3/NotifyController.php | 10 ++++++++++
.../v3/Implementations/FeiePrintService.php | 10 ++++++++++
.../Implementations/OrderStatisticsService.php | 18 ++++++++++++++++++
.../OrderStatisticsServiceInterface.php | 2 ++
5 files changed, 45 insertions(+)
diff --git a/app/Constants/v3/SsdbKeys.php b/app/Constants/v3/SsdbKeys.php
index f02c8ae..bdda500 100644
--- a/app/Constants/v3/SsdbKeys.php
+++ b/app/Constants/v3/SsdbKeys.php
@@ -85,4 +85,9 @@ class SsdbKeys extends AbstractConstants
*/
const HORSEMAN_COORDINATE = 'horseman_coordinate_';
+ /**
+ * @Message("市场当日线上订单数量统计")
+ */
+ const TODAY_SALES_FOR_MARKET = 'today_sales_for_market_';
+
}
\ No newline at end of file
diff --git a/app/Controller/v3/NotifyController.php b/app/Controller/v3/NotifyController.php
index f4c8810..bf8e57e 100644
--- a/app/Controller/v3/NotifyController.php
+++ b/app/Controller/v3/NotifyController.php
@@ -23,6 +23,7 @@ use App\Service\v3\Interfaces\MiniprogramServiceInterface;
use App\Service\v3\Interfaces\MqttServiceInterface;
use App\Service\v3\Interfaces\OrderOfflineServiceInterface;
use App\Service\v3\Interfaces\OrderOnlineServiceInterface;
+use App\Service\v3\Interfaces\OrderStatisticsServiceInterface;
use App\Service\v3\Interfaces\SeparateAccountsServiceInterface;
use EasyWeChat\Factory;
use Hyperf\DbConnection\Db;
@@ -107,6 +108,12 @@ class NotifyController extends BaseController
*/
protected $goodsActivityService;
+ /**
+ * @Inject
+ * @var OrderStatisticsServiceInterface
+ */
+ protected $orderStatisticsService;
+
public function wxminiOnline()
{
@@ -163,6 +170,9 @@ class NotifyController extends BaseController
Db::commit();
+ //记录当前市场的当天外卖订单数
+ $this->orderStatisticsService->setForMarket($orderMain->market_id);
+
// 优惠券返券
$this->couponRebateService->couponRebateInTask($orderMain->global_order_id);
diff --git a/app/Service/v3/Implementations/FeiePrintService.php b/app/Service/v3/Implementations/FeiePrintService.php
index 42b48d6..3b29a74 100644
--- a/app/Service/v3/Implementations/FeiePrintService.php
+++ b/app/Service/v3/Implementations/FeiePrintService.php
@@ -9,6 +9,7 @@ use App\Model\v3\Feprint;
use App\Model\v3\OrderMain;
use App\Service\v3\Interfaces\FeiePrintServiceInterface;
use App\Service\v3\Interfaces\HelperServiceInterface;
+use App\Service\v3\Interfaces\OrderStatisticsServiceInterface;
use Hyperf\DbConnection\Db;
use Hyperf\Di\Annotation\Inject;
@@ -27,6 +28,12 @@ class FeiePrintService implements FeiePrintServiceInterface
*/
protected $helperService;
+ /**
+ * @Inject
+ * @var OrderStatisticsServiceInterface
+ */
+ protected $orderStatistics;
+
// *必填*:飞鹅云后台注册账号
const USER = '13161443713@163.com';
// *必填*: 飞鹅云后台注册账号后生成的UKEY 【备注:这不是填打印机的KEY】
@@ -218,6 +225,9 @@ class FeiePrintService implements FeiePrintServiceInterface
}else{
$orderInfo .= '自提时间:' . $arr->delivery_time_note . '
';
}
+ $orderStatistics = $this->orderStatistics->getForMarket($arr->market_id);
+ $str = sprintf ("%05d", $orderStatistics); // 生成5位数,不足前面补0
+ $orderInfo .= $arr->global_order_id.$str;
//$orderInfo .= 'http://www.feieyun.com';//把解析后的二维码生成的字符串用标签套上即可自动生成二维码
return $orderInfo;
}
diff --git a/app/Service/v3/Implementations/OrderStatisticsService.php b/app/Service/v3/Implementations/OrderStatisticsService.php
index 567c86c..28239e7 100644
--- a/app/Service/v3/Implementations/OrderStatisticsService.php
+++ b/app/Service/v3/Implementations/OrderStatisticsService.php
@@ -4,10 +4,12 @@
namespace App\Service\v3\Implementations;
use App\Constants\v3\OrderState;
use App\Constants\v3\OrderType;
+use App\Constants\v3\SsdbKeys;
use App\Model\v3\Order;
use App\Model\v3\OrderGoods;
use App\Model\v3\OrderMain;
use \App\Service\v3\Interfaces\OrderStatisticsServiceInterface;
+use App\TaskWorker\SSDBTask;
use Hyperf\Utils\ApplicationContext;
class OrderStatisticsService implements OrderStatisticsServiceInterface
@@ -73,4 +75,20 @@ class OrderStatisticsService implements OrderStatisticsServiceInterface
// ->count();
// return $count;
}
+
+ public function setForMarket($marketId)
+ {
+ $ssdb = ApplicationContext::getContainer()->get(SSDBTask::class);
+ $incr = $ssdb->exec('incr', SsdbKeys::TODAY_SALES_FOR_MARKET.$marketId);
+ $expire = strtotime('23:59:59') - time();
+ $expire = $ssdb->exec('expire', SsdbKeys::TODAY_SALES_FOR_MARKET.$marketId,$expire);
+ return $incr && $expire;
+ }
+
+ public function getForMarket($marketId)
+ {
+ $ssdb = ApplicationContext::getContainer()->get(SSDBTask::class);
+ $count = $ssdb->exec('get', SsdbKeys::TODAY_SALES_FOR_MARKET.$marketId);
+ return $count;
+ }
}
\ No newline at end of file
diff --git a/app/Service/v3/Interfaces/OrderStatisticsServiceInterface.php b/app/Service/v3/Interfaces/OrderStatisticsServiceInterface.php
index b7a2227..d04a4d4 100644
--- a/app/Service/v3/Interfaces/OrderStatisticsServiceInterface.php
+++ b/app/Service/v3/Interfaces/OrderStatisticsServiceInterface.php
@@ -10,4 +10,6 @@ interface OrderStatisticsServiceInterface
public function check();
public function undo();
public function countOrder($storeId,$type,$startTime = '',$endTime = '');
+ public function getForMarket($marketId);
+ public function setForMarket($marketId);
}
\ No newline at end of file
From 7d852a36a13f7f4e160f09f34f15efc4600060b8 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Mon, 26 Oct 2020 09:35:29 +0800
Subject: [PATCH 21/34] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Service/v3/Implementations/FeiePrintService.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/Service/v3/Implementations/FeiePrintService.php b/app/Service/v3/Implementations/FeiePrintService.php
index 3b29a74..b8e82eb 100644
--- a/app/Service/v3/Implementations/FeiePrintService.php
+++ b/app/Service/v3/Implementations/FeiePrintService.php
@@ -227,7 +227,7 @@ class FeiePrintService implements FeiePrintServiceInterface
}
$orderStatistics = $this->orderStatistics->getForMarket($arr->market_id);
$str = sprintf ("%05d", $orderStatistics); // 生成5位数,不足前面补0
- $orderInfo .= $arr->global_order_id.$str;
+ $orderInfo .= '流水号:' . $arr->global_order_id.$str;
//$orderInfo .= 'http://www.feieyun.com';//把解析后的二维码生成的字符串用标签套上即可自动生成二维码
return $orderInfo;
}
From a00063c15f0b6156c951feb73de032a40c6df0c7 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Mon, 26 Oct 2020 10:05:33 +0800
Subject: [PATCH 22/34] =?UTF-8?q?=E9=85=8D=E9=80=81=E8=B7=9D=E7=A6=BB?=
=?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=BA7=E5=85=AC=E9=87=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
config/config.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config/config.php b/config/config.php
index 106c3e0..c6209b4 100644
--- a/config/config.php
+++ b/config/config.php
@@ -62,6 +62,6 @@ return [
'tencent' => env('TENCENT_MAP_KEY', ''),
],
'distance' => [
- 'delivery_distance' => env('DELIVERY_DISTANCE', '8000')
+ 'delivery_distance' => env('DELIVERY_DISTANCE', '7000')
],
];
From f5c723ac46fd124ead0e44b542cf9852c6b8bb89 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Mon, 26 Oct 2020 10:26:29 +0800
Subject: [PATCH 23/34] =?UTF-8?q?=E6=8F=90=E7=A4=BA=E8=AF=AD=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Model/v3/OrderMain.php | 2 +-
app/Service/v3/Implementations/HorsemanService.php | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/Model/v3/OrderMain.php b/app/Model/v3/OrderMain.php
index 293fc48..5c4d8ef 100644
--- a/app/Model/v3/OrderMain.php
+++ b/app/Model/v3/OrderMain.php
@@ -77,7 +77,7 @@ class OrderMain extends Model
{
if ($this->attributes['state'] == 3) {
if (!$this->attributes['horseman_id']) {
- return '已接单';
+ return '待自提';
}
}
diff --git a/app/Service/v3/Implementations/HorsemanService.php b/app/Service/v3/Implementations/HorsemanService.php
index 64531d7..66dbb22 100644
--- a/app/Service/v3/Implementations/HorsemanService.php
+++ b/app/Service/v3/Implementations/HorsemanService.php
@@ -57,7 +57,7 @@ class HorsemanService implements HorsemanServiceInterface
$params = $ssdb->exec('get', SsdbKeys::HORSEMAN_COORDINATE.$employeesId);
if ((false === $params) || empty($params)) {
- throw new ErrorCodeException(ErrorCode::HORSEMAN_COORDINATE_FAIL, '获取骑手坐标失败');
+ throw new ErrorCodeException(ErrorCode::HORSEMAN_COORDINATE_FAIL, '骑手正在配送中');
}
return $params;
}
From 8e06f15a3a4d46cda2c373d292a213ae6533c111 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Mon, 26 Oct 2020 10:48:01 +0800
Subject: [PATCH 24/34] =?UTF-8?q?=E5=BE=85=E8=87=AA=E6=8F=90=E6=8F=90?=
=?UTF-8?q?=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Model/v3/OrderMain.php | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/app/Model/v3/OrderMain.php b/app/Model/v3/OrderMain.php
index 5c4d8ef..f0f1841 100644
--- a/app/Model/v3/OrderMain.php
+++ b/app/Model/v3/OrderMain.php
@@ -75,10 +75,8 @@ class OrderMain extends Model
public function getStateTextAttribute()
{
- if ($this->attributes['state'] == 3) {
- if (!$this->attributes['horseman_id']) {
+ if ($this->attributes['state'] == OrderState::DELIVERY && $this->attributes['shipping_type'] == 3) {
return '待自提';
- }
}
return OrderState::getMessage($this->attributes['state']);
From 325098867744a0f26f169755e21720fc3b983976 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Mon, 26 Oct 2020 11:41:30 +0800
Subject: [PATCH 25/34] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=8A=B6=E6=80=81?=
=?UTF-8?q?=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Model/v3/OrderMain.php | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/app/Model/v3/OrderMain.php b/app/Model/v3/OrderMain.php
index f0f1841..543061d 100644
--- a/app/Model/v3/OrderMain.php
+++ b/app/Model/v3/OrderMain.php
@@ -75,8 +75,12 @@ class OrderMain extends Model
public function getStateTextAttribute()
{
- if ($this->attributes['state'] == OrderState::DELIVERY && $this->attributes['shipping_type'] == 3) {
+ if ($this->attributes['state'] == OrderState::DELIVERY) {
+ if($this->attributes['shipping_type'] == 3) {
return '待自提';
+ }elseif ($this->attributes['shipping_type'] == 1 && !$this->attributes['horseman_id']){
+ return '已接单';
+ }
}
return OrderState::getMessage($this->attributes['state']);
From 5b491ea90ce54a8e4654645f4cd583247697edad Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Mon, 26 Oct 2020 12:00:38 +0800
Subject: [PATCH 26/34] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Model/v3/OrderMain.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/Model/v3/OrderMain.php b/app/Model/v3/OrderMain.php
index 543061d..50bf981 100644
--- a/app/Model/v3/OrderMain.php
+++ b/app/Model/v3/OrderMain.php
@@ -78,7 +78,7 @@ class OrderMain extends Model
if ($this->attributes['state'] == OrderState::DELIVERY) {
if($this->attributes['shipping_type'] == 3) {
return '待自提';
- }elseif ($this->attributes['shipping_type'] == 1 && !$this->attributes['horseman_id']){
+ }elseif ($this->attributes['shipping_type'] == 1 && empty($this->attributes['horseman_id'])){
return '已接单';
}
}
From 87a74330411ff547b61cca981940fe22630f5dde Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Mon, 26 Oct 2020 15:16:50 +0800
Subject: [PATCH 27/34] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85?=
=?UTF-8?q?=E9=A1=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../v3/Implementations/OrderOnlineService.php | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/app/Service/v3/Implementations/OrderOnlineService.php b/app/Service/v3/Implementations/OrderOnlineService.php
index de649cd..a8b1ddd 100644
--- a/app/Service/v3/Implementations/OrderOnlineService.php
+++ b/app/Service/v3/Implementations/OrderOnlineService.php
@@ -12,6 +12,7 @@ use App\Constants\v3\Shipping;
use App\Constants\v3\SsdbKeys;
use App\Exception\ErrorCodeException;
use App\Model\v3\Coupon;
+use App\Model\v3\Employees;
use App\Model\v3\Goods;
use App\Model\v3\GoodsActivity;
use App\Model\v3\Market;
@@ -564,8 +565,9 @@ class OrderOnlineService implements OrderOnlineServiceInterface
public function detailByUser($globalOrderId, $userId)
{
-
+ //主订单
$orderMain = OrderMain::with(['market'])->where(['global_order_id' => $globalOrderId])->first();
+ //子订单
$orders = Order::query()
->where(['order_main_id' => $globalOrderId, 'user_id' => $userId])
->with([
@@ -573,8 +575,13 @@ class OrderOnlineService implements OrderOnlineServiceInterface
'store'
])
->get()->toArray();
-
- return ['order_main' => $orderMain, 'orders' => $orders];
+ //配送人员信息
+ if($orderMain->horseman_id > 0) {
+ $employees = Employees::query()->where('id', $orderMain->horseman_id)->first();
+ }else{
+ $employees = null;
+ }
+ return ['order_main' => $orderMain, 'orders' => $orders,'employees' => $employees];
}
/**
From f706bdd3eab1e6c894f172644c0a89bef2345085 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Mon, 26 Oct 2020 15:29:24 +0800
Subject: [PATCH 28/34] =?UTF-8?q?=E7=BB=B4=E6=8A=A4=E8=AE=A2=E5=8D=95?=
=?UTF-8?q?=E5=AE=8C=E6=88=90=E6=97=B6=E9=97=B4=E5=AD=97=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Service/v3/Implementations/OrderOnlineService.php | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/Service/v3/Implementations/OrderOnlineService.php b/app/Service/v3/Implementations/OrderOnlineService.php
index a8b1ddd..3bc91a1 100644
--- a/app/Service/v3/Implementations/OrderOnlineService.php
+++ b/app/Service/v3/Implementations/OrderOnlineService.php
@@ -741,6 +741,7 @@ class OrderOnlineService implements OrderOnlineServiceInterface
{
$orderMain = $this->check($globalOrderId, $userId, OrderState::RECEIVING);
$orderMain->state = OrderState::COMPLETED;
+ $orderMain->complete_time = time();
if (!$orderMain->save()) {
throw new ErrorCodeException(ErrorCode::ORDER_COMPLETE_FAIL);
}
From 48d05466ea2f9eb7a9324c2ea26a4470c7417f6f Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Mon, 26 Oct 2020 15:35:58 +0800
Subject: [PATCH 29/34] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=97=B6=E9=97=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Model/v3/OrderMain.php | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/app/Model/v3/OrderMain.php b/app/Model/v3/OrderMain.php
index 50bf981..d08009a 100644
--- a/app/Model/v3/OrderMain.php
+++ b/app/Model/v3/OrderMain.php
@@ -57,6 +57,7 @@ class OrderMain extends Model
'pay_time_text',
'pay_type_text',
'shipping_type_text',
+ 'complete_time_text'
];
protected $casts = [
@@ -73,6 +74,11 @@ class OrderMain extends Model
return date('Y-m-d H:i:s', $this->attributes['pay_time']);
}
+ public function getCompleteTimeTextAttribute()
+ {
+ return date('Y-m-d H:i:s', $this->attributes['complete_time']);
+ }
+
public function getStateTextAttribute()
{
if ($this->attributes['state'] == OrderState::DELIVERY) {
From 9671ec5a6df8c6e528cc778225d99896fc526706 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Mon, 26 Oct 2020 16:03:49 +0800
Subject: [PATCH 30/34] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=B8=8D=E5=88=B0?=
=?UTF-8?q?=E5=95=86=E5=93=81=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/GoodsController.php | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/app/Controller/v3/GoodsController.php b/app/Controller/v3/GoodsController.php
index 7e8bb5c..92b2493 100644
--- a/app/Controller/v3/GoodsController.php
+++ b/app/Controller/v3/GoodsController.php
@@ -2,7 +2,9 @@
namespace App\Controller\v3;
+use App\Constants\v3\ErrorCode;
use App\Controller\BaseController;
+use App\Exception\ErrorCodeException;
use App\Model\v3\Category;
use App\Model\v3\GoodsCategory;
use App\Request\v3\GoodsEditorRequest;
@@ -62,6 +64,10 @@ class GoodsController extends BaseController
$res['banner'] = $this->goodsService->getBanner($goodsId);
}
+ //搜索不到商品
+ if(is_null($res['detail']['id'])){
+ throw new ErrorCodeException(ErrorCode::GOODS_ACTIVITY_ON_SALE_NO);
+ }
//如果没有banner数据,使用商品cover图
if(count($res['banner']) == 0){
// $res['banner'] = [$res['detail']['cover_img']];
From d318fd4e4fc49fcb14fa2b336a7ccf3c98c2d037 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Mon, 26 Oct 2020 16:20:09 +0800
Subject: [PATCH 31/34] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=9B=BE=E7=89=87?=
=?UTF-8?q?=E4=B8=BB=E5=9B=BE=E4=B8=BA=E7=A9=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Model/v3/Goods.php | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/app/Model/v3/Goods.php b/app/Model/v3/Goods.php
index 13e4411..7ee3cf8 100644
--- a/app/Model/v3/Goods.php
+++ b/app/Model/v3/Goods.php
@@ -109,7 +109,11 @@ class Goods extends Model
public function getCoverImgAttribute($value)
{
- return $this->attachmentService->switchImgToAliOss($value, OssThumbnail::THUMBNAIL_600_Q90);
+ if(!empty($value)) {
+ return $this->attachmentService->switchImgToAliOss($value, OssThumbnail::THUMBNAIL_600_Q90);
+ }else{
+ return '';
+ }
}
public function getMonthSalesAttribute()
From ab56140989eb46a7b9693668f8baf4d215f1b832 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Mon, 26 Oct 2020 16:24:15 +0800
Subject: [PATCH 32/34] =?UTF-8?q?=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF?=
=?UTF-8?q?=E5=A4=84=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/GoodsController.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/Controller/v3/GoodsController.php b/app/Controller/v3/GoodsController.php
index 92b2493..4ce996b 100644
--- a/app/Controller/v3/GoodsController.php
+++ b/app/Controller/v3/GoodsController.php
@@ -66,7 +66,7 @@ class GoodsController extends BaseController
//搜索不到商品
if(is_null($res['detail']['id'])){
- throw new ErrorCodeException(ErrorCode::GOODS_ACTIVITY_ON_SALE_NO);
+ throw new ErrorCodeException(ErrorCode::GOODS_ON_SALE_NO);
}
//如果没有banner数据,使用商品cover图
if(count($res['banner']) == 0){
From 0f6b6a1f32bac03bab2883697ea87d03d455a7e7 Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Tue, 27 Oct 2020 10:19:37 +0800
Subject: [PATCH 33/34] =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E6=8E=92?=
=?UTF-8?q?=E5=BA=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Controller/v3/OrderOnlineController.php | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/app/Controller/v3/OrderOnlineController.php b/app/Controller/v3/OrderOnlineController.php
index c085e13..2839970 100644
--- a/app/Controller/v3/OrderOnlineController.php
+++ b/app/Controller/v3/OrderOnlineController.php
@@ -179,7 +179,16 @@ class OrderOnlineController extends BaseController
$total = bcadd($total,$res['value_added_service']['price'],2);
$total = bcadd($total,$res['location']['distribution_price'],2);
$res['total'] = $total;
-
+ //优惠券排序
+ $collection = collect($res['coupon']['available']);
+ $sorted = $collection->sortBy(function ($product, $key) use ($total){
+ if($product['coupon']['discount_type'] == 2){
+ return bcmul($total,bcdiv($product['coupon']['discounts'],10,2),2);
+ }elseif($product['coupon']['discount_type'] == 1){
+ return bcsub($total,$product['coupon']['discounts'],2);
+ }
+ });
+ $res['coupon']['available'] = $sorted->values()->all();
// 新增返回市场信息
$res['market'] = $market;
From b9b2f5c11daf60107cc8c111149c09a95f5ffa9a Mon Sep 17 00:00:00 2001
From: Lemon <15040771@qq.com>
Date: Tue, 27 Oct 2020 11:24:24 +0800
Subject: [PATCH 34/34] =?UTF-8?q?=E4=B8=8B=E5=8D=95=E9=A1=B5=E9=9D=A2?=
=?UTF-8?q?=E6=8A=98=E6=89=A3=E4=BC=98=E6=83=A0=E5=88=B8=E7=B2=BE=E5=BA=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Service/v3/Implementations/OrderOnlineService.php | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/app/Service/v3/Implementations/OrderOnlineService.php b/app/Service/v3/Implementations/OrderOnlineService.php
index 3bc91a1..158d501 100644
--- a/app/Service/v3/Implementations/OrderOnlineService.php
+++ b/app/Service/v3/Implementations/OrderOnlineService.php
@@ -350,9 +350,12 @@ class OrderOnlineService implements OrderOnlineServiceInterface
$couponMoney = bcadd($couponMoney, $coupon->coupon->discounts, 2);
} elseif ($coupon->coupon->discount_type == Coupon::DISCOUNT_TYPE_RATE) {
$discountRate = bcdiv($coupon->coupon->discounts,10);
- $discountRate = bcsub(1,$discountRate);
- $discountMoney = bcmul($orderAmount, $discountRate);
- $couponMoney = bcadd($couponMoney, $discountMoney, 2);
+ $discountMoney = bcmul($orderAmount, $discountRate, 2);
+ $couponMoney = bcsub($orderAmount, $discountMoney, 2);
+ // $discountRate = bcdiv($coupon->coupon->discounts,10);
+ // $discountRate = bcsub(1,$discountRate);
+ // $discountMoney = bcmul($orderAmount, $discountRate);
+ // $couponMoney = bcadd($couponMoney, $discountMoney, 2);
}
}