This commit is contained in:
evoxwht 2025-08-14 10:28:56 +08:00
parent 047ac148d1
commit 6986c23602
11 changed files with 34 additions and 32 deletions

View File

@ -43,7 +43,7 @@ class UserSearchController
public function cleanUserSearch(Request $request) public function cleanUserSearch(Request $request)
{ {
$uid = (int)$request->uid(); $uid = (int)$request->uid();
$this->services->update(['uid' => $uid], ['is_del' => 1]); $this->services->delete(['uid' => $uid]);
return app('json')->success(100002); return app('json')->success(100002);
} }
} }

View File

@ -67,7 +67,7 @@ class OrderPaySuccessListener implements ListenerInterface
} }
//虚拟商品自动发货 //虚拟商品自动发货
if ($orderInfo['virtual_type'] > 0 && $orderInfo['combination_id'] == 0) { if (in_array($orderInfo['virtual_type'], [1, 2]) && $orderInfo['combination_id'] == 0) {
/** @var StoreOrderDeliveryServices $orderDeliveryServices */ /** @var StoreOrderDeliveryServices $orderDeliveryServices */
$orderDeliveryServices = app()->make(StoreOrderDeliveryServices::class); $orderDeliveryServices = app()->make(StoreOrderDeliveryServices::class);
$orderDeliveryServices->virtualSend($orderInfo); $orderDeliveryServices->virtualSend($orderInfo);

View File

@ -16,7 +16,7 @@ class OrderShippingListener implements ListenerInterface
public function handle($event): void public function handle($event): void
{ {
/** @var StoreOrder $order */ /** @var StoreOrder $order */
[$order_type, $order, $delivery_type, $delivery_id, $delivery_name] = $event; [$order_type, $order, $delivery_type, $delivery_id, $delivery_code] = $event;
$order_shipping_open = sys_config('order_shipping_open', 0); // 小程序发货信息管理服务开关 $order_shipping_open = sys_config('order_shipping_open', 0); // 小程序发货信息管理服务开关
$secs = 0; $secs = 0;
if ($order && $order_shipping_open) { if ($order && $order_shipping_open) {
@ -87,8 +87,7 @@ class OrderShippingListener implements ListenerInterface
$shipping_list = [ $shipping_list = [
[ [
'tracking_no' => $delivery_id ?? '', 'tracking_no' => $delivery_id ?? '',
// 'express_company' => $delivery_name ? $expressData[$delivery_name] : '', 'express_company' => $delivery_code,
'express_company' => $delivery_name,
'item_desc' => $item_desc, 'item_desc' => $item_desc,
'contact' => [ 'contact' => [
'receiver_contact' => $order['user_phone'] 'receiver_contact' => $order['user_phone']

View File

@ -50,7 +50,7 @@ class RegisterListener implements ListenerInterface
//自定义消息-下级用户绑定成功 //自定义消息-下级用户绑定成功
if ($res) { if ($res) {
$phone = app()->make(UserServices::class)->value($uid, 'phone'); $phone = app()->make(UserServices::class)->value($spreadUid, 'phone');
event('CustomNoticeListener', [$spreadUid, ['nickname' => $name, 'time' => date('Y-m-d H:i:s'), 'phone' => $phone], 'spread_success']); event('CustomNoticeListener', [$spreadUid, ['nickname' => $name, 'time' => date('Y-m-d H:i:s'), 'phone' => $phone], 'spread_success']);
} }
} }

View File

@ -413,7 +413,7 @@ class StorePinkServices extends BaseServices
//拼团卡密和优惠券商品,成团后发放 //拼团卡密和优惠券商品,成团后发放
$orderInfos = $orderService->getColumn([['order_id', 'in', $order_ids]], '*', 'order_id'); $orderInfos = $orderService->getColumn([['order_id', 'in', $order_ids]], '*', 'order_id');
foreach ($orderInfos as $orderInfo) { foreach ($orderInfos as $orderInfo) {
if ($orderInfo['virtual_type'] > 0) { if (in_array($orderInfo['virtual_type'], [1, 2])) {
$orderInfo['cart_id'] = json_decode($orderInfo['cart_id'], true); $orderInfo['cart_id'] = json_decode($orderInfo['cart_id'], true);
/** @var StoreOrderDeliveryServices $orderDeliveryServices */ /** @var StoreOrderDeliveryServices $orderDeliveryServices */
$orderDeliveryServices = app()->make(StoreOrderDeliveryServices::class); $orderDeliveryServices = app()->make(StoreOrderDeliveryServices::class);

View File

@ -117,11 +117,11 @@ class StoreSeckillServices extends BaseServices
} }
} }
//限制编辑 //限制编辑
if ($data['copy'] == 0 && $seckill) { // if ($data['copy'] == 0 && $seckill) {
if ($seckill['stop_time'] + 86400 < time()) { // if ($seckill['stop_time'] + 86400 < time()) {
throw new AdminException(400508); // throw new AdminException(400508);
} // }
} // }
if ($data['num'] < $data['once_num']) { if ($data['num'] < $data['once_num']) {
throw new AdminException(400500); throw new AdminException(400500);
} }
@ -861,9 +861,9 @@ class StoreSeckillServices extends BaseServices
if (!isset($sattr['price']) || !$sattr['price']) { if (!isset($sattr['price']) || !$sattr['price']) {
throw new AdminException('请填写商品(' . $product['store_name'] . ' | ' . $sattr['suk'] . ')活动价'); throw new AdminException('请填写商品(' . $product['store_name'] . ' | ' . $sattr['suk'] . ')活动价');
} }
if ($sattr['price'] > $sattr['ot_price']) { // if ($sattr['price'] > $sattr['ot_price']) {
throw new AdminException('商品(' . $product['store_name'] . ' | ' . $sattr['suk'] . ')活动价不能大于原价'); // throw new AdminException('商品(' . $product['store_name'] . ' | ' . $sattr['suk'] . ')活动价不能大于原价');
} // }
if (!isset($sattr['quota']) || !$sattr['quota']) { if (!isset($sattr['quota']) || !$sattr['quota']) {
throw new AdminException('请填写商品(' . $product['store_name'] . ' | ' . $sattr['suk'] . ')限量'); throw new AdminException('请填写商品(' . $product['store_name'] . ' | ' . $sattr['suk'] . ')限量');
} }
@ -888,6 +888,7 @@ class StoreSeckillServices extends BaseServices
} }
} }
$seckillId = $this->dao->value(['activity_id' => $id, 'product_id' => $seckillData['product_id']], 'id') ?? 0; $seckillId = $this->dao->value(['activity_id' => $id, 'product_id' => $seckillData['product_id']], 'id') ?? 0;
$seckillData['description'] = app()->make(StoreDescriptionServices::class)->getDescription(['product_id' => $seckillData['product_id'], 'type' => 1]);
$this->saveData($seckillId, $seckillData); $this->saveData($seckillId, $seckillData);
} }
return true; return true;

View File

@ -548,6 +548,7 @@ class StoreOrderCreateServices extends BaseServices
$uni_integral_price = (string)bcdiv((string)$integral_price, (string)$cart['cart_num'], 4); $uni_integral_price = (string)bcdiv((string)$integral_price, (string)$cart['cart_num'], 4);
$cart['truePrice'] = $cart['truePrice'] > $uni_integral_price ? bcsub((string)$cart['truePrice'], $uni_integral_price, 2) : 0; $cart['truePrice'] = $cart['truePrice'] > $uni_integral_price ? bcsub((string)$cart['truePrice'], $uni_integral_price, 2) : 0;
} }
if ($cart['sum_true_price'] < 0) $cart['sum_true_price'] = '0.00';
} }
try { try {
[$cartInfo, $spread_ids] = $this->computeOrderProductBrokerage($uid, $cartInfo); [$cartInfo, $spread_ids] = $this->computeOrderProductBrokerage($uid, $cartInfo);

View File

@ -78,7 +78,7 @@ class OrderOfflineServices extends BaseServices
} }
//虚拟商品自动发货 //虚拟商品自动发货
if ($orderInfo['virtual_type'] > 0) { if (in_array($orderInfo['virtual_type'], [1, 2])) {
/** @var StoreOrderDeliveryServices $orderDeliveryServices */ /** @var StoreOrderDeliveryServices $orderDeliveryServices */
$orderDeliveryServices = app()->make(StoreOrderDeliveryServices::class); $orderDeliveryServices = app()->make(StoreOrderDeliveryServices::class);
$orderDeliveryServices->virtualSend($orderInfo); $orderDeliveryServices->virtualSend($orderInfo);

View File

@ -33,6 +33,7 @@ use app\services\system\SystemUserLevelServices;
use app\services\user\UserLabelServices; use app\services\user\UserLabelServices;
use app\services\user\member\MemberCardServices; use app\services\user\member\MemberCardServices;
use app\services\user\UserLevelServices; use app\services\user\UserLevelServices;
use app\services\user\UserSearchServices;
use app\services\user\UserServices; use app\services\user\UserServices;
use crmeb\exceptions\AdminException; use crmeb\exceptions\AdminException;
use app\jobs\ProductLogJob; use app\jobs\ProductLogJob;
@ -1188,6 +1189,10 @@ class StoreProductServices extends BaseServices
$where['is_show'] = 1; $where['is_show'] = 1;
$where['is_del'] = 0; $where['is_del'] = 0;
$where['star'] = 1; $where['star'] = 1;
$ifKeyword = isset($where['store_name']) && $where['store_name'];
if ($ifKeyword) {
app()->make(UserSearchServices::class)->saveUserSearch($uid, $where['store_name'], [$where['store_name']], []);
}
[$page, $limit] = $this->getPageValue(); [$page, $limit] = $this->getPageValue();
$where['vip_user'] = $uid ? app()->make(UserServices::class)->value(['uid' => $uid], 'is_money_level') : 0; $where['vip_user'] = $uid ? app()->make(UserServices::class)->value(['uid' => $uid], 'is_money_level') : 0;
$list = $this->dao->getSearchList($where, $page, $limit, ['id,store_name,cate_id,image,IFNULL(sales, 0) + IFNULL(ficti, 0) as sales,price,stock,activity,ot_price,spec_type,recommend_image,unit_name,is_vip,vip_price,is_virtual,presale,custom_form,virtual_type,min_qty,label_list']); $list = $this->dao->getSearchList($where, $page, $limit, ['id,store_name,cate_id,image,IFNULL(sales, 0) + IFNULL(ficti, 0) as sales,price,stock,activity,ot_price,spec_type,recommend_image,unit_name,is_vip,vip_price,is_virtual,presale,custom_form,virtual_type,min_qty,label_list']);

View File

@ -155,7 +155,7 @@ class WechatQrcodeServices extends BaseServices
} }
if (!$res) throw new AdminException(400237); if (!$res) throw new AdminException(400237);
$imageInfo = $this->downloadImage($resCode['url'], $name); $imageInfo = $this->downloadImage($resCode['url'], $name);
$systemAttachment->attachmentAdd($name, $imageInfo['size'], $imageInfo['type'], $imageInfo['att_dir'], $imageInfo['att_dir'], 1, $imageInfo['image_type'], time(), 2); $systemAttachment->attachmentAdd($name, $imageInfo['size'], $imageInfo['type'], $imageInfo['att_dir'], $imageInfo['att_dir'], 1, $imageInfo['image_type'], time(), 1);
} }
return strpos($imageInfo['att_dir'], 'http') === false ? $siteUrl . $imageInfo['att_dir'] : $imageInfo['att_dir']; return strpos($imageInfo['att_dir'], 'http') === false ? $siteUrl . $imageInfo['att_dir'] : $imageInfo['att_dir'];
} }

View File

@ -17,9 +17,8 @@
<text v-else>{{ $t(`无门槛券`) }}</text> <text v-else>{{ $t(`无门槛券`) }}</text>
</view> </view>
</view> </view>
<view v-if="item.is_use == true" class="button" :style="[bntBgColor]">{{ $t(`已领取`) }}</view> <view v-if="item.is_use >= item.receive_limit" class="button" :style="[bntBgColor]">{{ $t(`已领取`) }}</view>
<view v-else-if="item.is_use == false" class="button" :style="[bntBgColor]" @click="receiveCoupon(item)">{{ $t(`去领取`) }}</view> <view v-else class="button" :style="[bntBgColor]" @click="receiveCoupon(item)">{{ $t(`去领取`) }}</view>
<view v-else-if="item.is_use == 2" class="button" :style="[bntBgColor]">{{ $t(`已过期`) }}</view>
</view> </view>
</view> </view>
</scroll-view> </scroll-view>
@ -40,9 +39,8 @@
<text v-else>{{ $t(`无门槛券`) }}</text> <text v-else>{{ $t(`无门槛券`) }}</text>
</view> </view>
</view> </view>
<view v-if="item.is_use == true" class="button" :style="[bntBgColor]">{{ $t(`已领取`) }}</view> <view v-if="item.is_use >= item.receive_limit" class="button" :style="[bntBgColor]">{{ $t(`已领取`) }}</view>
<view v-else-if="item.is_use == false" class="button" :style="[bntBgColor]" @click="receiveCoupon(item)">{{ $t(`去领取`) }}</view> <view v-else class="button" :style="[bntBgColor]" @click="receiveCoupon(item)">{{ $t(`去领取`) }}</view>
<view v-else-if="item.is_use == 2" class="button" :style="[bntBgColor]">{{ $t(`已过期`) }}</view>
</view> </view>
</view> </view>
</scroll-view> </scroll-view>
@ -63,9 +61,8 @@
<text v-else>{{ $t(`无门槛券`) }}</text> <text v-else>{{ $t(`无门槛券`) }}</text>
</view> </view>
</view> </view>
<view v-if="item.is_use == true" class="button acea-row row-middle">{{ $t(`已领取`) }}</view> <view v-if="item.is_use >= item.receive_limit" class="button acea-row row-middle">{{ $t(`已领取`) }}</view>
<view v-else-if="item.is_use == false" class="button acea-row row-middle" @click="receiveCoupon(item)">{{ $t(`立即领取`) }}</view> <view v-else class="button acea-row row-middle" @click="receiveCoupon(item)">{{ $t(`立即领取`) }}</view>
<view v-else-if="item.is_use == 2" class="button acea-row row-middle">{{ $t(`已过期`) }}</view>
</view> </view>
</view> </view>
</view> </view>
@ -115,9 +112,8 @@
<text v-else>{{ $t(`无门槛券`) }}</text> <text v-else>{{ $t(`无门槛券`) }}</text>
</view> </view>
</view> </view>
<view v-if="item.is_use == true" class="button acea-row row-middle">{{ $t(`已领取`) }}</view> <view v-if="item.is_use >= item.receive_limit" class="button acea-row row-middle">{{ $t(`已领取`) }}</view>
<view v-else-if="item.is_use == false" class="button acea-row row-middle" @click="receiveCoupon(item)">{{ $t(`领取`) }}</view> <view v-else class="button acea-row row-middle" @click="receiveCoupon(item)">{{ $t(`领取`) }}</view>
<view v-else-if="item.is_use == 2" class="button acea-row row-middle">{{ $t(`已过期`) }}</view>
</view> </view>
</view> </view>
</scroll-view> </scroll-view>