lqmac 1 year ago
commit 475ddb16be
  1. 42
      app/api/controller/StoreKeeper.php
  2. 41
      app/common/model/Order.php
  3. 14
      app/common/model/server/Order.php
  4. 35
      app/store/controller/Server.php
  5. 36
      app/store/model/Order.php
  6. 6
      app/store/model/server/Server.php

@ -12,26 +12,23 @@ declare (strict_types=1);
namespace app\api\controller;
use app\api\service\User as UserService;
use app\common\enum\RecoveryStatusEnum;
use app\common\model\UploadFile;
use app\store\model\Article as ArticleModel;
use app\store\model\article\Category as CategoryModel;
use app\store\model\dealer\Order as DealerOrderModel;
use app\store\model\Express as ExpressModel;
use app\store\model\Goods as GoodsModel;
use app\store\model\goods\GoodsPrice as GoodsPriceModel;
use app\store\model\Order as OrderModel;
use app\store\model\OrderRefund as OrderRefundModel;
use app\store\model\store\Address as AddressModel;
use app\store\model\store\shop\Clerk as ClerkModel;
use app\store\service\order\Delivery as DeliveryService;
use cores\exception\BaseException;
use think\App;
use think\response\Json;
use app\api\service\Store as StoreService;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;
use app\store\model\Goods as GoodsModel;
use app\store\model\Order as OrderModel;
use app\store\model\OrderRefund as OrderRefundModel;
use app\store\model\dealer\Order as DealerOrderModel;
use app\store\model\Article as ArticleModel;
use app\store\model\goods\GoodsPrice as GoodsPriceModel;
use think\response\Json;
/**
* 店主管理
@ -197,6 +194,26 @@ class StoreKeeper extends Controller
} else {
$model = new OrderModel;
$list = $model->getNewList($params);
if (!empty($list)) {
foreach ($list as $value) {
if (!empty($value->transfer) && !empty($value->transfer->chat_image_id)) {
if (!empty($value->transfer->chat_image_id)) {
$chat_image_ids = UploadFile::whereIn('file_id', explode(",", $value->transfer->chat_image_id))->field('file_id,file_path,file_type,storage,domain')->select();
foreach ($chat_image_ids as &$chat_image_id) {
$chat_image_id['file_path'] = getUrl($chat_image_id['file_path'], $chat_image_id['domain']);
}
$value->transfer->chat_image_ids = $chat_image_ids;
}
if (!empty($value->transfer->transfer_image_id)) {
$transfer_image_ids = UploadFile::whereIn('file_id', explode(",", $value->transfer->transfer_image_id))->field('file_id,file_path,file_type,storage,domain')->select();
foreach ($transfer_image_ids as &$transfer_image_id) {
$transfer_image_id['file_path'] = getUrl($transfer_image_id['file_path'], $transfer_image_id['domain']);
}
$value->transfer->transfer_image_ids = $transfer_image_ids;
}
}
}
}
return $this->renderSuccess(compact('dataType', 'list'));
}
@ -569,7 +586,8 @@ class StoreKeeper extends Controller
* @return Json
* @throws \Exception
*/
public function editGoodsSeckillPrice() {
public function editGoodsSeckillPrice()
{
$model = new \app\api\model\Goods();
if (!$model->editGoodsSeckillPrice($this->request->param())) {
return $this->renderError($model->getError() ?: '编辑失败');

@ -12,23 +12,23 @@ declare (strict_types=1);
namespace app\common\model;
use app\common\enum\order\DeliveryStatus as DeliveryStatusEnum;
use app\common\enum\order\DeliveryType;
use app\common\enum\order\DeliveryType as DeliveryTypeEnum;
use app\common\enum\order\OrderStatus as OrderStatusEnum;
use app\common\enum\order\PayStatus as PayStatusEnum;
use app\common\enum\order\ReceiptStatus as ReceiptStatusEnum;
use app\common\enum\payment\Method;
use cores\BaseModel;
use app\common\library\helper;
use app\common\model\store\shop\Order as ShopOrder;
use app\common\service\Order as OrderService;
use app\common\service\order\Shipping as ShippingService;
use app\common\service\order\Complete as OrderCompleteService;
use app\common\service\order\Shipping as ShippingService;
use app\common\service\order\source\Factory as OrderSourceFactory;
use app\common\enum\order\PayStatus as PayStatusEnum;
use app\common\enum\order\OrderStatus as OrderStatusEnum;
use app\common\enum\order\DeliveryType as DeliveryTypeEnum;
use app\common\enum\order\ReceiptStatus as ReceiptStatusEnum;
use app\common\enum\order\DeliveryStatus as DeliveryStatusEnum;
use app\common\library\helper;
use think\model\relation\HasOne;
use think\model\relation\HasMany;
use cores\BaseModel;
use think\model\relation\BelongsTo;
use think\model\relation\HasMany;
use think\model\relation\HasOne;
/**
* 订单模型
@ -111,6 +111,12 @@ class Order extends BaseModel
return $this->belongsTo("app\\{$module}\\model\\store\\Shop", 'extract_shop_id');
}
//TransferRecordModel
public function transfer(): HasOne
{
return $this->hasOne(TransferRecord::class, 'order_id');
}
/**
* 关联门店店员表
* @return BelongsTo
@ -399,19 +405,19 @@ class Order extends BaseModel
}
public function getPayMethodTextAttr($value,$data): string
public function getPayMethodTextAttr($value, $data): string
{
return !empty(Method::data()[$data['pay_method']])?Method::data()[$data['pay_method']]['name']:'';//支付方式
return !empty(Method::data()[$data['pay_method']]) ? Method::data()[$data['pay_method']]['name'] : '';//支付方式
}
public function getDeliveryTypeTextAttr($value,$data): string
public function getDeliveryTypeTextAttr($value, $data): string
{
return !empty(DeliveryType::data()[$data['delivery_type']])? DeliveryType::data()[$data['delivery_type']]['name']: '';//配送方式
return !empty(DeliveryType::data()[$data['delivery_type']]) ? DeliveryType::data()[$data['delivery_type']]['name'] : '';//配送方式
}
public function getTimeTextAttr($value, $data) : int
public function getTimeTextAttr($value, $data): int
{
$diffTime = 60*60*24;//24小时倒计时
$diffTime = 60 * 60 * 24;//24小时倒计时
// 付款状态
if ($data['pay_status'] == PayStatusEnum::PENDING) {
return (($data['create_time'] + $diffTime) - time()) * 1000;
@ -424,7 +430,8 @@ class Order extends BaseModel
return 0;
}
public function getStorePhoneAttr($value,$data) {
public function getStorePhoneAttr($value, $data)
{
return Store::get($data['store_id'])->phone ?: '';
}
}

@ -3,6 +3,7 @@ declare (strict_types=1);
namespace app\common\model\server;
use app\common\enum\payment\Method;
use app\common\enum\ServerEnum;
use app\common\model\UploadFile;
use cores\BaseModel;
@ -24,12 +25,23 @@ class Order extends BaseModel
*/
protected $append = [
'order_status_text', // 订单状态文字描述
'pay_method_text', //支付方式
];
public function serve(): BelongsTo
{
return $this->belongsTo(Server::class, 'id', 'server_id');
return $this->belongsTo(Server::class, 'server_id', 'server_id');
}
public function getPayMethodTextAttr($value, $data): string
{
// 订单状态
$result = Method::data();
if (!empty($result[$data['pay_method']]['name'])) {
return $result[$data['pay_method']]['name'];
}
return '未知';
}
/**

@ -165,8 +165,7 @@ class Server extends Controller
*/
public function deleteServer(array $serverId): Json
{
$model = new ServerModel;
if ($model->remove($serverId)) {
if (ServerModel::destroy($serverId)) {
return $this->renderSuccess('删除成功');
}
return $this->renderError('删除失败');
@ -235,6 +234,22 @@ class Server extends Controller
return $this->renderSuccess($data);
}
/**
* @notes:订单详情
* @return Json
* @author: wanghousheng
*/
public function orderDetail(): Json
{
$orderId = intval($this->request->post('orderId'));
$data = \app\common\model\server\Order::detail(['order_id' => $orderId], ['user', 'dealer', 'image']);
$data['server_info'] = null;
if (!empty($data['server_id'])) {
$data['server_info'] = ServerModel::detail($data['server_id'], ['category']);
}
return $this->renderSuccess(['detail' => $data]);
}
/**
* @notes:订单状态
* @return Json
@ -297,16 +312,18 @@ class Server extends Controller
/**
* 服务配置
*/
public function configList() {
public function configList()
{
$model = new StoreServerConfig();
$list = $model->with(['iconImage'])->hidden(['iconImage'])->order(['sort'=>'desc','create_time'=>'desc'])->paginate(10);
$list = $model->with(['iconImage'])->hidden(['iconImage'])->order(['sort' => 'desc', 'create_time' => 'desc'])->paginate(10);
return $this->renderSuccess(compact('list'));
}
/**
* 服务配置添加
*/
public function configAdd() {
public function configAdd()
{
$model = new StoreServerConfig();
if ($model->save(array_merge(['store_id' => $this->storeId], $this->postForm()))) {
return $this->renderSuccess('新增成功');
@ -317,7 +334,8 @@ class Server extends Controller
/**
* 服务配置编辑
*/
public function configEdit(int $id) {
public function configEdit(int $id)
{
$detail = StoreServerConfig::get($id);
if ($detail) {
if ($detail->save($this->postForm())) {
@ -330,9 +348,10 @@ class Server extends Controller
/**
* 删除服务配置
*/
public function configDel(int $id) {
public function configDel(int $id)
{
$detail = StoreServerConfig::get($id);
if($detail->delete()) {
if ($detail->delete()) {
return $this->renderSuccess('删除成功');
}
return $this->renderError('删除失败');

@ -13,18 +13,17 @@ declare (strict_types=1);
namespace app\store\model;
use app\api\service\User as UserService;
use app\common\enum\payment\Method;
use app\common\model\Order as OrderModel;
use app\common\service\Order as OrderService;
use app\common\service\order\Refund as RefundService;
use app\common\service\order\Printer as PrinterService;
use app\common\enum\order\{DataType as DataTypeEnum,
DeliveryStatus as DeliveryStatusEnum,
DeliveryType,
PayStatus as PayStatusEnum,
OrderStatus as OrderStatusEnum,
ReceiptStatus as ReceiptStatusEnum,
DeliveryStatus as DeliveryStatusEnum};
PayStatus as PayStatusEnum,
ReceiptStatus as ReceiptStatusEnum};
use app\common\library\helper;
use app\common\model\Order as OrderModel;
use app\common\service\Order as OrderService;
use app\common\service\order\Printer as PrinterService;
use app\common\service\order\Refund as RefundService;
use cores\exception\BaseException;
/**
@ -102,16 +101,16 @@ class Order extends OrderModel
// 检索查询条件
$filter = $this->getQueryFilter($param);
//不是店长查询当前用户订单
if(!UserService::isStore()) {
$filter[] = ['user.user_id' ,'=', UserService::getCurrentLoginUserId() ];
}
//普通会员和plus会员查询条件
if (!empty($param['user_id'])) {
$filter[] = ['user.user_id' ,'=', $param['user_id']];
}
if (!empty($param['delivery_type'])) {
$filter[] = ['order.delivery_type', '=', DeliveryType::EXPRESS];
}
if (!UserService::isStore()) {
$filter[] = ['user.user_id', '=', UserService::getCurrentLoginUserId()];
}
//普通会员和plus会员查询条件
if (!empty($param['user_id'])) {
$filter[] = ['user.user_id', '=', $param['user_id']];
}
if (!empty($param['delivery_type'])) {
$filter[] = ['order.delivery_type', '=', DeliveryType::EXPRESS];
}
$filterOr = [];
if (!empty($param['searchValue']) && $param['searchType'] == 'all') {
// $filterOr = [
@ -135,6 +134,7 @@ class Order extends OrderModel
->leftJoin('order_address address', 'address.order_id = order.order_id')
->where($dataTypeFilter)
->where($filter)
->with(['transfer'])
->where('order.is_delete', '=', 0);
if (!empty($filterOr)) {
// $query = $query->whereOr($filterOr);

@ -36,12 +36,12 @@ class Server extends ServerModel
/**
* @notes:删除
* @param array $serverId
* @return bool
* @author: wanghousheng
*/
public function remove(array $serverId): bool
public function remove(array $serverId)
{
return static::whereIn('server_id', $serverId)->delete();
return $this->whereIn('server_id', $serverId)->delete();
}
/**

Loading…
Cancel
Save