【增加】拆单数量设置

This commit is contained in:
liqianjin 2023-04-20 17:19:27 +08:00
parent 858f41a675
commit 2ed54c3bb9
3 changed files with 56 additions and 18 deletions

View File

@ -129,9 +129,9 @@ class Futures extends BaseApi{
}
// 获取内容
$field = [
'seller.username as seller_username',
'seller.nickname as seller_nickname',
'seller.headimg as seller_headimg',
'old_seller.username as seller_username',
'old_seller.nickname as seller_nickname',
'old_seller.headimg as seller_headimg',
'g.goods_name',
'g.goods_image',
'g.market_price',
@ -149,13 +149,16 @@ class Futures extends BaseApi{
'o.adjust_money',
'o.pay_money',
'o.order_id',
'o.name as buyer_name',
'seller.nickname as buyer_name',
'f.seller_uid as fseller_uid',
];
// 表关联
$join = [
['member seller', 'seller.member_id = a.seller_uid', 'left'],// 获取卖家信息
['goods g', 'g.goods_id = a.goods_id', 'left'],// 获取商品信息
['order o', 'o.order_id = a.order_id', 'left'],// 获取商品信息
['futures f', 'f.id = a.old_futures_id', 'left'],// 获取旧订单信息
['member old_seller', 'old_seller.member_id = f.seller_uid', 'left'],// 获取旧卖家信息
];
$futuresModel = new FuturesModel;
$page = input('page', 1);

View File

@ -43,7 +43,7 @@ class Futures extends BaseModel{
// 获取内容
$field = [
'seller.username as seller_username',
'seller.nickname as seller_nickname',
'old_seller.nickname as seller_nickname',
'seller.headimg as seller_headimg',
'g.goods_name',
'g.goods_image',
@ -68,13 +68,16 @@ class Futures extends BaseModel{
'a.take_time',
'o.order_no',
'o.buyer_message',
'o.name as buyer_name',
'buyer.nickname as buyer_name',
];
// 表关联
$join = [
['member seller', 'seller.member_id = a.seller_uid', 'left'],// 获取卖家信息
['member buyer', 'buyer.member_id = a.member_id', 'left'],// 获取买家信息
['goods g', 'g.goods_id = a.goods_id', 'left'],// 获取商品信息
['order o', 'o.order_id = a.order_id', 'left'],// 获取商品信息
['futures f', 'f.id = a.old_futures_id', 'left'],// 获取旧订单信息
['member old_seller', 'old_seller.member_id = f.seller_uid', 'left'],// 获取旧卖家信息
];
$detail = model('futures')->getInfo($condition, $field, 'a', $join);
@ -119,21 +122,23 @@ class Futures extends BaseModel{
if($price >= $futuresInfo['market_price'] * $futuresInfo['total']){
$futuresInfo['total'] *= 2;
if($futuresInfo['total'] > pow(2,$basics['order_total_double_times'])){// 配置单订单商品最大裂变次数
if($agree_split_order == 0){
model('futures')->rollback();
Cache::store('redis_concurrent')->set('addon_futures_stock_'.$id,'1');
return error(-800, '订单价格达到订单拆分限制,是否同意订单拆分?');
}
// if($agree_split_order == 0){
// model('futures')->rollback();
// Cache::store('redis_concurrent')->set('addon_futures_stock_'.$id,'1');
// return error(-800, '订单价格达到订单拆分限制,是否同意订单拆分?');
// }
//拆单
$futuresInfo['status'] = 8;
for($i = 0;$i < $futuresInfo['total'];$i++){
$splitOrderNum = $basics['split_order_num'];
// for($i = 0;$i < $futuresInfo['total'];$i++){
for($i = 0; $i < $splitOrderNum; $i++){
$newSmallFuturesId = $this->add([
'site_id' => $futuresInfo['site_id'],
'seller_uid' => $futuresInfo['seller_uid'],
'old_futures_id' => $id,
'goods_id' => $futuresInfo['goods_id'],
'total' => 1,
'unit_price' => $futuresInfo['unit_price'] / $futuresInfo['total'],
'total' => $futuresInfo['total'] / $splitOrderNum,
'unit_price' => $futuresInfo['unit_price'] / $splitOrderNum,
'status' => 1,
'order_id' => $futuresInfo['order_id'],
'created_time' => time()
@ -201,12 +206,34 @@ class Futures extends BaseModel{
if(empty($date) || $date['status'] !== 1){
return $this->error($date,'提货失败');
}
$member_address = input( 'member_address', []);
$member_address = isset($member_address) && !empty($member_address) ? json_decode($member_address, true) : [];
if(empty($member_address)){
return $this->error($date,'提货失败-无收获地址');
}
if(!Cache::store('redis_concurrent')->delete('addon_futures_stock_'.$id)){
return $this->error('','提货失败');
}
model('futures')->update([
'status' => 5,
], [['id', '=', $id]]);
$order_info = [
'name' => $member_address[ 'name' ] ?? '',
'mobile' => $member_address[ 'mobile' ] ?? '',
'telephone' => $member_address[ 'telephone' ] ?? '',
'province_id' => $member_address[ 'province_id' ] ?? '',
'city_id' => $member_address[ 'city_id' ] ?? '',
'district_id' => $member_address[ 'district_id' ] ?? '',
'community_id' => $member_address[ 'community_id' ] ?? '',
'address' => $member_address[ 'address' ] ?? '',
'full_address' => $member_address[ 'full_address' ] ?? '',
'longitude' => $member_address[ 'longitude' ] ?? '',
'latitude' => $member_address[ 'latitude' ] ?? '',
'promotion_type' => 'futures_tihuo',
];
model('order')->update($order_info,[['order_id', '=', $date['order_id']]]);
$basics = $this->getBasicsConfig($date['site_id'])[ 'data' ][ 'value' ];
// 提货用来减少用户买入限制
Db::name('futures_user')
@ -227,9 +254,9 @@ class Futures extends BaseModel{
if(empty($date) || ($date['status'] !== 2 && $date['status'] !== 7)){
return $this->error($date,'下单失败-1001');
}
// if(!Cache::store('redis_concurrent')->delete('addon_futures_'.$id)){
// return $this->error('','下单失败-1002');
// }
if(!Cache::store('redis_concurrent')->delete('addon_futures_'.$id)){
return $this->error('','下单失败-1002');
}
model('futures')->update(
[
'status' => 6,

View File

@ -208,6 +208,14 @@
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="word-aux ">订单发布时超过单订单数量最大翻倍次数时进行拆单</div>
<div class="layui-form-item time-type-view-all" >
<label class="layui-form-label">拆单后订单数量:</label>
<div class="layui-input-inline">
<input type="number" class="layui-input" name="split_order_num" placeholder="拆单后订单数量" value="<?= !isset($info['split_order_num']) ? '' :$info['split_order_num'] ?>">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="word-aux ">拆单后订单数量</div>
</div>
</div>
<div class="layui-card card-common card-brief">
@ -284,7 +292,7 @@
<div class="layui-form-item">
<label class="layui-form-label">是否开启自动回购:</label>
<div class="layui-input-block">
<input type="checkbox" name="auto_buyback" value="1" lay-skin="switch" {if $info['auto_buyback'] == 1} checked {/if} lay-filter="auto_buyback">
<input type="checkbox" name="auto_buyback" value="1" lay-skin="switch" {if isset($info['auto_buyback']) && $info['auto_buyback'] == 1} checked {/if} lay-filter="auto_buyback">
</div>
<div class="word-aux ">秒杀/捡漏结束自动回购</div>
</div>