Compare commits

...

10 Commits

Author SHA1 Message Date
f898de515a fix : place order coupon 2025-08-06 10:32:52 +08:00
058b56a348 fix : print data error 2025-08-06 09:57:23 +08:00
42dd168c14 fix : print data error 2025-08-06 09:52:30 +08:00
4f862caa0b fix : print data error 2025-08-06 09:50:05 +08:00
ec60074298 fix : print text 2025-08-06 09:35:29 +08:00
006821188d fix : site 2025-08-05 18:04:43 +08:00
46a305ffe5 fix : api return aop 2025-08-05 17:59:53 +08:00
5bacdc8585 fix : pay config 2025-08-05 17:55:06 +08:00
573aeee8db fix : sku 2025-08-05 15:55:27 +08:00
89797d5bfc fix : sku 2025-08-05 15:51:59 +08:00
10 changed files with 105 additions and 18 deletions

View File

@@ -56,10 +56,10 @@ class ApiReturnAspect extends AbstractAspect
$this->writeResponseLog(json_encode($result));
//正式服加密 测试服不做处理
if (SystemUtil::checkProEnv()) {
$cryptoFactory = $this->CryptoFactory->cryptoClass('api', json_encode($result['data']));
$result['data'] = $cryptoFactory->encrypt();
}
// if (SystemUtil::checkProEnv()) {
// $cryptoFactory = $this->CryptoFactory->cryptoClass('api', json_encode($result['data']));
// $result['data'] = $cryptoFactory->encrypt();
// }
return $result;
}

View File

@@ -180,7 +180,7 @@ class GoodCache
$imageList = $this->getOssObjects(array_merge($spuImage,$imageIdArr));
$chefIds = array_column($skuList,'chef_id');
$chefList = $this->adminUserModel->getDataByIds($chefIds);
$chefList = $this->adminUserModel->getChefNameByIds($chefIds);
$skuListArr = [];
$imageArr = [];

View File

@@ -107,6 +107,32 @@ class AdminUser extends Model
return $res;
}
/**
* @param array $ids
* @return array
*/
public function getChefNameByIds(array $ids): array
{
$data = $this
->join('chef', function ($join) use ($ids) {
$join->on('chef.user_id', '=', 'admin_user.id')
->whereIn('chef.id', $ids)
->where('admin_user.is_del',UserCode::IS_NO_DEL)
->select([
'admin_user.chinese_name',
'chef.id',
'admin_user.username',
]);
})
->get();
if ($data->isEmpty()) return [];
$data = $data->toArray();
return array_column($data,null,'id');
}
/**
* @param array $ids
* @return array

View File

@@ -92,7 +92,7 @@ class PrintService extends CateringBaseService
*/
public function cancel(): array
{
$service = $this->printOrderFactory->handle($this->request->input('type'));
$service = $this->printOrderFactory->handle((int)$this->request->input('type'));
$service->printId = (int)$this->request->input('print_id');
$service->handle();
$service->printCancel();

View File

@@ -11,6 +11,7 @@ declare(strict_types=1);
namespace App\Service\Admin\Catering\Print;
use App\Exception\ErrException;
use App\Lib\Log;
use App\Lib\Print\YlyBasicsLib;
use App\Model\Printer;
use Hyperf\Di\Annotation\Inject;
@@ -58,6 +59,12 @@ class YlyPrintService implements PrintOrderInterface
#[Inject]
protected Printer $printerModel;
/**
* @var Log
*/
#[Inject]
private Log $log;
/**
* @return void
* @throws ContainerExceptionInterface
@@ -108,9 +115,12 @@ class YlyPrintService implements PrintOrderInterface
empty($this->data['order_sno']) ||
empty($this->data['username']) ||
empty($this->data['mobile']) ||
empty($this->data['date']) ||
empty($this->data['heapsort'])
) throw new ErrException('打印数据丢失');
empty($this->data['date'])
// empty($this->data['heapsort'])
) {
$this->log->error('打印数据'.json_encode($this->data));
throw new ErrException('打印数据丢失');
}
}
/**
@@ -126,9 +136,6 @@ class YlyPrintService implements PrintOrderInterface
//设置宽度
$this->content .= "<PW>048</PW>";
$this->content .= "\n";
$this->content .= "\n";
//取餐号
$this->content .= "<FS3><CA>{$this->data['pickup_code']}</CA></FS3>\n";
@@ -190,7 +197,7 @@ class YlyPrintService implements PrintOrderInterface
$contentEdibleTimeTips = config('print.yly.content_edible_time_tips');
$this->content .= "<LR2>保质期,$contentEdibleTimeTips</LR2>";
$this->content .= "<FS3><CA>{$this->data['heapsort']}</CA></FS3>";
$this->content .= "<FS3><CA>{$this->data['pickup_code']}</CA></FS3>\n";
}
/**
@@ -231,6 +238,8 @@ class YlyPrintService implements PrintOrderInterface
/**
* @return void
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
private function checkBoxLabelData(): void
{
@@ -244,7 +253,10 @@ class YlyPrintService implements PrintOrderInterface
empty($this->data['driver_name']) ||
empty($this->data['current_num']) ||
empty($this->data['date_text'])
) throw new ErrException('打印数据丢失');
) {
$this->log->error('打印数据'.json_encode($this->data));
throw new ErrException('打印数据丢失-01');
}
}
/**

View File

@@ -16,6 +16,7 @@ use App\Model\CouponTemplate;
use App\Model\UserCoupon;
use App\Service\Api\BaseService;
use App\Service\ServiceTrait\Admin\Catering\PrintTrait;
use App\Service\ServiceTrait\Api\CouponTrait;
use App\Service\ServiceTrait\Api\OrderTrait;
use App\Service\ServiceTrait\Common\CycleTrait;
use Hyperf\Di\Annotation\Inject;
@@ -24,7 +25,7 @@ use Psr\Container\NotFoundExceptionInterface;
abstract class BaseOrderService extends BaseService
{
use CycleTrait,OrderTrait,PrintTrait;
use CycleTrait,OrderTrait,PrintTrait,CouponTrait;
/**
* @var int 周期id
@@ -100,7 +101,7 @@ abstract class BaseOrderService extends BaseService
* 优惠券id
* @var int
*/
protected int $couponId;
protected int $couponId = 0;
/**
* 地点id

View File

@@ -121,6 +121,7 @@ class PlaceOrderService extends BaseOrderService
* @return void
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
* @throws ErrException
*/
private function placeOrder(): void
{
@@ -133,12 +134,16 @@ class PlaceOrderService extends BaseOrderService
$this->insertOrderGoods();
$this->couponLock();
Db::commit();
} catch (Exception $e){
echo $e->getMessage();
//回滚数据库 和 缓存
Db::rollBack();
$this->rollbackStock();
// $this->rollbackCouponLock();
//意外抛出
throw new ErrException($e->getMessage());
}
@@ -207,7 +212,7 @@ class PlaceOrderService extends BaseOrderService
$orderInsertModel->is_refund_all = OrderCode::REFUND_NULL;
$orderInsertModel->order_json = json_encode($this->orderRes);
if (!$orderInsertModel->save()) throw new Exception('下单失败');
if (!$orderInsertModel->save()) throw new Exception('下单失败-01');
$this->orderId = $orderInsertModel->id;
}

View File

@@ -11,6 +11,7 @@ declare(strict_types=1);
namespace App\Service\Api\System;
use App\Cache\Redis\Api\SiteCache;
use App\Constants\Common\SiteCode;
use App\Extend\SystemUtil;
use App\Model\Site;
use App\Service\Api\BaseService;
@@ -36,6 +37,7 @@ class SiteListService extends BaseService
$query->where('name', 'like', "%$name%");
})
// ->where('name', 'like', '%'.$this->request->input('search_value').'%')
->where('is_del',SiteCode::SITE_NO_DEL)
->paginate($limit)
->toArray();

View File

@@ -4,6 +4,7 @@ namespace App\Service\ServiceTrait\Api;
use App\Constants\Common\CouponCode;
use App\Constants\Common\OrderCode;
use App\Exception\ErrException;
use App\Extend\DateUtil;
use App\Model\UserCoupon;
use Exception;
@@ -40,6 +41,46 @@ trait CouponTrait
if (!$couponInfo->save()) throw new Exception('CancelOrderConsumer:error:couponStatusUpdateError:'.json_encode($orderInfo->toArray()));
}
/**
* @return void
* @throws Exception
*/
protected function couponLock(): void
{
if ($this->couponId <= 0) return;
$couponInfo = $this->userCouponModel->where('id', $this->couponId)->where('user_id',$this->userId)->first();
if (empty($couponInfo)) return;
$couponInfo->status = CouponCode::COUPON_STATUS_USED;
$couponInfo->use_time = date('Y-m-d H:i:s');
if (date('Y-m-d H:i:s') > $couponInfo->validity_end_time) throw new Exception('优惠券已过期');
if (!$couponInfo->save()) throw new Exception('couponLock:error:couponLockUpdateError:'.json_encode($couponInfo->toArray()));
}
/**
* @return void
* @throws ErrException
*/
protected function rollbackCouponLock(): void
{
if ($this->couponId <= 0) return;
$couponInfo = $this->userCouponModel->where('id', $this->couponId)->where('user_id',$this->userId)->first();
if (empty($couponInfo)) return;
if ($couponInfo->status != CouponCode::COUPON_STATUS_USED) return;
$couponInfo->status = CouponCode::COUPON_STATUS_UNUSED;
$couponInfo->use_time = '1970-01-01 00:00:00';
if (!$couponInfo->save()) throw new ErrException('系统错误-rollback_coupon失败');
}
/**
* @param int $type
* @param string $value

View File

@@ -1,6 +1,6 @@
# [app] -- 集群配置需一致
APP_NAME=hhl_meal
APP_ENV=dev
APP_ENV=prod
API_RETURN_KEY=hch@shenzhen
JWT_KEY=hch@shenzhen
JWT_EXPIRE=2592000