修改:权重值 - 购买商品赠送权重值 重构

This commit is contained in:
wuhui_zzw 2023-10-12 15:20:03 +08:00
parent e871b80e32
commit 988d9740a5
15 changed files with 256 additions and 316 deletions

View File

@ -1,35 +0,0 @@
<?php
namespace app\backend\modules\finance\controllers;
use app\common\components\BaseController;
use app\common\helpers\PaginationHelper;
use app\common\models\weightValue\WeightValueLog;
class WeightValueController extends BaseController{
/**
* Common: 进入首页
* Author: wu-hui
* Time: 2023/09/27 13:44
* @return array|string
* @throws \Throwable
*/
public function index(){
//参数获取
$pageSize = request()->input('page_size',10);
$search = request()->input('search');
// 获取列表信息
$field = ['id','member_id','type','change_type','change_quantity','change_front','change_after','remark','created_at'];
$result = WeightValueLog::getList($pageSize,$search,$field);
$data = [
'list' => $result['data'],
'pager' => PaginationHelper::show($result['total'],$result['current_page'],$result['per_page']),
'search' => $search
];
return view('finance.weight.index',$data)->render();
}
}

View File

@ -18,15 +18,6 @@ class SaleObserver extends \app\common\observers\BaseObserver
// (new \app\common\services\operation\SaleLog($model, 'update'));
// }
// 处理阶梯价信息
$weightValueLadder = $model->weight_value_ladder ?? [];
foreach($weightValueLadder as $weightValueLadderIndex => $weightValueLadderItem){
if((float)$weightValueLadderItem['where'] <= 0 || (float)$weightValueLadderItem['num'] <= 0) unset($weightValueLadder[$weightValueLadderIndex]);
}
$model->weight_value_ladder = $weightValueLadder ?? [];
}
public function updating( $model)

View File

@ -6141,36 +6141,6 @@ class Menu
],
]
],
'weight_value_records' => [
'name' => '权重值明细',
'url' => 'finance.weight-value.index',
'url_params' => '',
'permit' => 1,
'menu' => 1,
'icon' => 'fa-file-text-o',
'sort' => 0,
'item' => 'weight_value_records',
'parents' => ['finance'],
'child' => [
'finance_weight_value_see' => [
'name' => '记录',
'url' => 'finance.weight-value.index',
'url_params' => '',
'permit' => 1,
'menu' => 0,
'icon' => '',
'sort' => 0,
'item' => 'finance_weight_value_see',
'parents' => ['finance', 'weight_value_records'],
],
],
],
],
],

View File

@ -40,10 +40,6 @@ class Sale extends BaseModel
'ed_areas' => '',
'push_goods_ids' => 0,
'is_push' => 0,
'weight_value_user' => 1,
'weight_value_type' => 0,
'weight_value_num' => 0,
'weight_value_ladder' => [],
];
protected $appends = ['point_deduct_type'];

View File

@ -1,212 +0,0 @@
<?php
namespace app\common\models\weightValue;
use app\common\models\BaseModel;
use app\common\models\goods\Sale;
use app\common\models\Member;
use app\common\models\OrderGoods;
use Illuminate\Support\Facades\DB;
use Yunshop\TeamDividend\models\MemberParent;
use Yunshop\TeamDividend\models\TeamDividendAgencyModel;
class WeightValue extends BaseModel{
public $table = false;
/**
* Common: 购买商品赠送权重值 - 开始处理
* Author: wu-hui
* Time: 2023/09/27 10:55
* @param $model
*/
public function giveInit($model){
\Log::debug('------购买商品赠送权重值 - 开始处理------',$model->id);
DB::beginTransaction();
try{
// 获取准备信息
$orderGoods = OrderGoods::uniacid()
->where('order_id',$model->id)
->select(['id','goods_id','total','title'])
->get()
->makeHidden(['order','after_sales','buttons'])
->toArray();
$goodsIds = array_column($orderGoods,'goods_id');
$goodsSale = Sale::whereIn('goods_id',$goodsIds)
->select(['id','goods_id','weight_value_user','weight_value_type','weight_value_num','weight_value_ladder'])
->get()
->keyBy('goods_id')
->toArray();
// 获取当前用户及上级信息
$agents = $this->getParent($model->uid);// 全部上级信息(包含购买人)
$uidS = array_column($agents,'uid');
// 获取相关用户的权重值信息
$memberList = Member::uniacid()
->select(['uid','weight_value'])
->whereIn('uid',(array)$uidS)
->get()
->keyBy('uid')
->makeHidden(['avatar_image','username'])
->toArray();
// 循环处理每个商品
$insertData = [];
foreach($orderGoods as $orderGoodItem){
/**
* currentSale参数说明
* weight_value_user受赠用户类型0=全部用户1=仅经销商
* weight_value_type赠送方式
* 0=普通赠送:仅获取三人(购买人、购买人上级、购买人上级的上级)进行处理
* 1=阶梯赠送:仅获取二人(购买人、购买人上级)进行处理
* PS所有赠送权重值数量需要乘以购买的商品数量
*/
$currentSale = $goodsSale[$orderGoodItem['goods_id']];// 当前商品销售设置
$useAgentList = $agents;// 由于涉及到删除 使用的经销商列表重新赋值给新的变量 方便操作
// 判断赠送方式为阶梯赠送时并且经销商个人大于等于3 删除最后一个经销商
if($currentSale['weight_value_type'] == 1 && count($useAgentList) >= 3) unset($useAgentList[2]);
// 循环上级信息 处理每一个用户、每一个商品的赠送情况
foreach($useAgentList as $agentInfo){
$isBlack = (int)$agentInfo['teamDividend']['is_black'] ?? 0;
$currentAgentHasWeightValue = $memberList[$agentInfo['uid']]['weight_value'] ?? 0;
// 判断:当前用户是否可以领取;受赠用户类型为经销商,并且用户存在经销商信息 或者 受赠用户类型为全部用户;如果用户经销商信息为黑名单 则不参与
if((((int)$currentSale['weight_value_user'] == 1 && $agentInfo['teamDividend']) || (int)$currentSale['weight_value_user'] == 0) && $isBlack != 1){
// 符合条件 获取当前用户应得的权重值
$weightValue = $this->getWeightValue($currentSale,$agentInfo);
$totalWeightValue = $orderGoodItem['total'] * $weightValue;// 总数量
// 最终的数据处理 全部数据都在这里进行处理
if((float)$totalWeightValue > 0){
$insertData[] = [
'uniacid' => $model->uniacid,
'member_id' => $agentInfo['uid'],// 用户id
'type' => 0,// 权重值类型0=经纪人(经销商)权重值
'goods_id' => $orderGoodItem['goods_id'],// 商品id
'order_id' => $model->id,// 订单id
'order_goods_id' => $orderGoodItem['id'],// 订单商品id
'change_type' => 1,// 变更类型0=减少1=增加
'change_quantity' => $totalWeightValue,// 变更数量
'change_front' => (float)$currentAgentHasWeightValue,// 变更前拥有的数量
'change_after' => (float)($currentAgentHasWeightValue + $totalWeightValue),// 变更后拥有的数量
'remark' => "订单{$model->order_sn}赠送",// 备注
'created_at' => time(),// 变更时间
];
$memberList[$agentInfo['uid']]['weight_value'] = (float)($currentAgentHasWeightValue + $totalWeightValue);
}
}
}
}
// 修改用户权重值变更信息 | 处理权重值变更记录
if($insertData){
(new Member())->batchUpdate($memberList,'uid','uid');
WeightValueLog::insert($insertData);
}
DB::commit();
}catch(\Exception $e){
\Log::debug('------购买商品赠送权重值 - 错误抛出------',$e->getMessage());
DB::rollBack();
}
return;
}
/**
* Common: 购买商品赠送权重值 - 获取上级信息
* Author: wu-hui
* Time: 2023/09/26 16:59
* @param $uid
* @return array
*/
private function getParent($uid){
// 获取上级信息
$parents = MemberParent::uniacid()
->where('member_id', $uid)
->select(['parent_id','level'])
->orderBy('level', 'asc')
->limit(2)// 由于最多只分三层,这里只获取直推上级及其上级
->get()
->toArray();
// 包含购买人
$parents = array_merge([
[
'parent_id' => $uid,
'level' => 0
]
],$parents);
$parentIds = array_column($parents,'parent_id');
// 获取经销商信息
$teamDividend = TeamDividendAgencyModel::uniacid()
->select(['uid','level','is_black'])
->whereIn('uid',$parentIds)
->get();
$teamDividend = $teamDividend ? $teamDividend->keyBy('uid')->toArray() : [];
// 获取全部经销商 以此来获取排名信息
$allTeamDividend = TeamDividendAgencyModel::uniacid()->pluck('uid')->toArray();
$allTeamDividend = array_flip($allTeamDividend);
$agents = [];
foreach($parents as $memberInfo){
$teamDividendInfo = $teamDividend[$memberInfo['parent_id']] ?? [];
if($teamDividendInfo) $teamDividendInfo['ranking'] = ((int)$allTeamDividend[$memberInfo['parent_id']] + 1);
$agents[] = [
'uid' => $memberInfo['parent_id'],
'level' => $memberInfo['level'],
'teamDividend' => $teamDividendInfo
];
}
return $agents;
}
/**
* Common: 购买商品赠送权重值 - 获取应得权重值
* Author: wu-hui
* Time: 2023/09/27 10:05
* @param $currentSale
* @param $agentInfo
* @return float|int
*/
private function getWeightValue($currentSale,$agentInfo){
if((int)$currentSale['weight_value_type'] == 0){
// 普通赠送
return $currentSale['weight_value_num'];
}else if($agentInfo['teamDividend']){
// 阶梯赠送 阶梯判断条件必须按照从大到小排序
$weightValueLadder = json_decode($currentSale['weight_value_ladder'],true);
array_multisort(array_column($weightValueLadder,'where'),SORT_ASC, $weightValueLadder);
$ranking = $agentInfo['teamDividend']['ranking'];
$weightValueNum = 0;
foreach($weightValueLadder as $ladder){
if($ranking <= $ladder['where']){
$weightValueNum = (float)$ladder['num'];
break;
}
}
return $weightValueNum;
}else {
return (float)0;
}
}
}

View File

@ -8,7 +8,6 @@
namespace app\frontend\modules\finance\controllers;
use app\common\models\weightValue\WeightValueLog;
use app\common\components\ApiController;
use app\common\models\Member;
use Illuminate\Support\Facades\DB;

View File

@ -5,9 +5,6 @@ namespace Yunshop\CollectionRoom\admin;
use app\common\components\BaseController;
use app\common\facades\Setting;
use app\common\helpers\PaginationHelper;
use app\common\helpers\Url;
use app\common\models\Order;
use app\common\models\weightValue\WeightValue;
use Yunshop\CollectionRoom\models\CollectionRoomModel;
class IndexController extends BaseController{

View File

@ -10,7 +10,6 @@ namespace Yunshop\TeamDividend\jobs;
use app\common\models\Member;
use app\common\models\Order;
use app\common\models\weightValue\WeightValue;
use app\common\services\credit\ConstService;
use app\common\services\finance\PointService;
use Illuminate\Contracts\Queue\ShouldQueue;
@ -20,7 +19,6 @@ use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\Redis;
use Illuminate\Support\Str;
use Yunshop\CollectionRoom\models\CollectionRoomModel;
use Yunshop\Love\Common\Services\LoveChangeService;
use Yunshop\TeamDividend\models\Log;
use Yunshop\TeamDividend\models\TeamDividendAgencyModel;
use Yunshop\TeamDividend\models\TeamDividendLevelModel;
@ -30,6 +28,7 @@ use Yunshop\TeamDividend\services\UpgradeService;
use Yunshop\TeamDividend\services\upgrate\AgentsService;
use Yunshop\TeamDividend\services\upgrate\UpgrateConditionService;
use Yunshop\TeamDividend\services\upgrate\UplogService;
use Yunshop\WeightValue\models\WeightValue;
/**
* Class NewUpgrateJob
@ -70,7 +69,7 @@ class NewUpgrateJob implements ShouldQueue
$this->eachLevelHandle($agent);
}
// 订单支付成功 处理权重值相关内容
// 订单支付成功 处理权重值相关内容(因为需要兼容 用户不是经销商,但是成为经销商后当前订单如果存在赠送权重值,则需要同步赠送。因此只能在这里调用赠送操作
if($this->order_status == TeamDividendLevelUpgrade::ORDER_PAY && $this->order){
(new WeightValue())->giveInit($this->order);
}
@ -118,7 +117,7 @@ class NewUpgrateJob implements ShouldQueue
foreach ($upgradeLevels as $level) {
// \Log::debug('经销商升级 - 当前等级信息:',$level->toArray());
// 判断:如果当前等级人数已经达到限制 则不升级(上限小于等于已存在数量 不能升级到该等级)
$hasNum = (int)TeamDividendAgencyModel::uniacid()->count();
$hasNum = (int)TeamDividendAgencyModel::uniacid()->where('level',$level->id)->count();
// \Log::debug('经销商升级 - 数量限制比较:',[$hasNum,(int)$level->number_limit]);
if((int)$level->number_limit <= $hasNum && (int)$level->number_limit > 0) continue;

View File

@ -31,7 +31,7 @@ class DealerObserver extends BaseObserver
*/
event(new LevelChangeEvent($model));
// 判断:如果当前等级人数已经达到限制 则不升级(上限小于等于已存在数量 不能升级到该等级)
$hasNum = (int)TeamDividendAgencyModel::uniacid()->where('uid','!=',$model->uid)->count();
$hasNum = (int)TeamDividendAgencyModel::uniacid()->where('uid','!=',$model->uid)->where('level',$model->level)->count();
$levelNumberLimit = (int)TeamDividendLevelModel::uniacid()->where('id',$model->level)->value('number_limit');
if((int)$levelNumberLimit <= $hasNum && (int)$levelNumberLimit > 0) return false;
}
@ -43,7 +43,7 @@ class DealerObserver extends BaseObserver
*/
event(new LevelChangeEvent($model));
// 判断:如果当前等级人数已经达到限制 则不升级(上限小于等于已存在数量 不能升级到该等级)
$hasNum = (int)TeamDividendAgencyModel::uniacid()->count();
$hasNum = (int)TeamDividendAgencyModel::uniacid()->where('uid','!=',$model->uid)->where('level',$model->level)->count();
$levelNumberLimit = (int)TeamDividendLevelModel::uniacid()->where('id',$model->level)->value('number_limit');
if((int)$levelNumberLimit <= $hasNum && (int)$levelNumberLimit > 0) return false;

View File

@ -11,8 +11,6 @@ class IndexController extends BaseController{
return view('Yunshop\WeightValue::index.index')->render();
}

View File

@ -17,7 +17,7 @@ class WeightValueWidget extends BaseGoodsWidget{
public function getData(){
return GoodsWeightValue::uniacid()
->select(['is_open','user_type','gift_type','lv_type','quantity','ladder'])
->select(['is_open','gift_type','lv_type','quantity','ladder'])
->where('goods_id', $this->goods->id)
->first();
}

View File

@ -20,10 +20,12 @@ class GoodsWeightValue extends BaseModel{
$info->uniacid = \YunShop::app()->uniacid;
$info->goods_id = $goodsId;
$info->is_open = $data['is_open'] ?? 0;// 是否开启购买商品赠送权重值0=未开启1=开启
$info->user_type = $data['user_type'] ?? 0;// 受赠用户类型0=全部用户1=仅经销商
$info->gift_type = $data['gift_type'] ?? 0;// 赠送方式0=赠送固定值1=阶梯值赠送
$info->lv_type = $data['lv_type'] ?? 0;// 赠送方式0=二级1=三级
$info->quantity = $data['quantity'] ?? 0;// 固定值赠送数量
foreach($data['ladder'] as $ladderIndex => $ladderItem){
if((float)$ladderItem['where'] <= 0 || (float)$ladderItem['num'] <= 0) unset($data['ladder'][$ladderIndex]);
}
$info->ladder = json_encode($data['ladder'] ?? []);// 阶梯赠送信息
return $info->save();

View File

@ -0,0 +1,241 @@
<?php
namespace Yunshop\WeightValue\models;
use app\common\models\BaseModel;
use app\common\models\member\MemberParent;
use app\common\models\OrderGoods;
use Illuminate\Support\Facades\DB;
use Yunshop\TeamDividend\models\TeamDividendAgencyModel;
class WeightValue extends BaseModel{
public $table = 'yz_weight_value';
public $timestamps = false;
/**
* Common: 购买商品赠送权重值 - 开始处理
* Author: wu-hui
* Time: 2023/10/12 15:10
* @param $model
*/
public function giveInit($model){
\Log::debug('------购买商品赠送权重值 - 开始处理------',$model->id);
DB::beginTransaction();
try{
// 当前订单全部商品
$goodsList = $this->getGoodsList($model->id);
// 获取当前用户及上级信息
$agents = $this->getParent($model->uid);// 全部上级信息(包含购买人)
// 循环处理每个商品
$changeRecord = [];// 变更记录
foreach($goodsList as $goodsInfo){
// 由于涉及到删除 使用的经销商列表重新赋值给新的变量 方便操作
$useAgentList = $agents;
// 判断:赠送等级为二级时,删除第三个用户 赠送等级0=二级1=三级
if($goodsInfo['lv_type'] == 1 && count($useAgentList) >= 3) unset($useAgentList[2]);
// 循环上级信息 处理每一个用户、每一个商品的赠送情况
foreach($useAgentList as $agentKey => $agentInfo){
// 用户当前的权重值
$currentAgentHasWeightValue = (float)$agents[$agentKey]['weight_value']['quantity'] ?? 0;
// 符合条件 获取当前用户应得的权重值
$weightValue = $this->getWeightValue($goodsInfo,$agentInfo);// 应得权重值
$totalWeightValue = (float)sprintf("%.2f",$goodsInfo['total'] * $weightValue);// 总数量 * 应得权重值 = 总应得权重值
// 应得权重值大于0 记录改变信息并且修改持有权重值
if((float)$totalWeightValue > 0){
$changeAfter = sprintf("%.2f",($currentAgentHasWeightValue + $totalWeightValue));
$changeRecord[] = [
'uniacid' => $model->uniacid,
'member_id' => $agentInfo['uid'],// 用户id
'team_dividend_agency_level_id' => $agentInfo['team_dividend_agency_level_id'],// 经销商等级id
'goods_id' => $goodsInfo['goods_id'],// 商品id
'order_id' => $model->id,// 订单id
'order_goods_id' => $goodsInfo['id'],// 订单商品id
'change_type' => 1,// 变更类型0=减少1=增加
'change_quantity' => $totalWeightValue,// 变更数量
'change_front' => (float)$currentAgentHasWeightValue,// 变更前拥有的数量
'change_after' => $changeAfter,// 变更后拥有的数量
'remark' => "订单{$model->order_sn}赠送",// 备注
'created_at' => time(),// 变更时间
];
$agents[$agentKey]['weight_value']['quantity'] = $changeAfter;
}
}
}
// 修改用户权重值变更信息 | 处理权重值变更记录
if($changeRecord){
$updateWeightValueList = array_column($agents,'weight_value');
self::updateInfo($updateWeightValueList);
WeightValueLog::insert($changeRecord);
}
DB::commit();
}catch(\Exception $e){
\Log::debug('------购买商品赠送权重值 - 错误抛出------',$e->getMessage());
DB::rollBack();
}
return;
}
/**
* Common: 购买商品赠送权重值 - 获取相关商品列表
* Author: wu-hui
* Time: 2023/10/12 11:26
* @param $orderId
* @return array
*/
private function getGoodsList($orderId){
$list = OrderGoods::uniacid()
->join('yz_goods_weight_value', 'yz_goods_weight_value.goods_id', 'yz_order_goods.goods_id')
->where('yz_order_goods.order_id',$orderId)
->where('yz_goods_weight_value.is_open',1)
->select([
'yz_order_goods.id',
'yz_order_goods.goods_id',
'yz_order_goods.total',
'yz_order_goods.title',
'yz_goods_weight_value.is_open',
'yz_goods_weight_value.gift_type',
'yz_goods_weight_value.lv_type',
'yz_goods_weight_value.quantity',
'yz_goods_weight_value.ladder'
])
->get()
->makeHidden(['order','after_sales','buttons']);
return $list ? $list->toArray() : [];
}
/**
* Common: 购买商品赠送权重值 - 获取上级信息
* Author: wu-hui
* Time: 2023/10/12 11:06
* @param $uid
* @return array
*/
private function getParent($uid){
// 获取上级信息
$parents = MemberParent::uniacid()
->where('member_id', $uid)
->select(['parent_id','level'])
->orderBy('level', 'asc')
->limit(2)// 由于最多只分三层,这里只获取直推上级及其上级
->get()
->toArray();
// 包含购买人
$parents = array_merge([['parent_id' => $uid,'level' => 0]],$parents);
$uidS = array_column($parents,'parent_id');
// 获取经销商信息
$teamDividend = TeamDividendAgencyModel::uniacid()
->select(['uid','level','is_black'])
->whereIn('uid',$uidS)
->get();
$teamDividend = $teamDividend ? $teamDividend->keyBy('uid')->toArray() : [];
// 获取相关用户的权重值信息
$weightValueList = WeightValue::uniacid()
->select(['id','member_id','team_dividend_agency_level_id','quantity'])
->whereIn('member_id',(array)$uidS)
->get()
->toArray();
$weightValueGroup = [];
foreach($weightValueList as $weightValueItem){
$weightValueGroup[$weightValueItem['member_id']][$weightValueItem['team_dividend_agency_level_id']] = $weightValueItem;
}
// 获取全部经销商 以此来获取排名信息
$allTeamDividend = TeamDividendAgencyModel::uniacid()->pluck('uid')->toArray();
$allTeamDividend = array_flip($allTeamDividend);
$agents = [];
foreach($parents as $memberInfo){
$teamDividendInfo = $teamDividend[$memberInfo['parent_id']] ?? [];
// 判断:仅经销商 且 不是黑名单的用户才会赠送
$isBlack = (int)$teamDividendInfo['is_black'] ?? 0;// 是否为黑名单
if($teamDividendInfo && $isBlack != 1) {
$teamDividendInfo['ranking'] = ((int)$allTeamDividend[$memberInfo['parent_id']] + 1);
$weightValue = $weightValueGroup[$memberInfo['parent_id']][(int)$teamDividendInfo['level']] ?? [
'uniacid' => \YunShop::app()->uniacid,
'member_id' => $memberInfo['parent_id'],
'team_dividend_agency_level_id' => (int)$teamDividendInfo['level'],
'quantity' => 0,
];
$agents[] = [
'uid' => $memberInfo['parent_id'],
'level' => $memberInfo['level'],
'team_dividend_agency_level_id' => (int)$teamDividendInfo['level'],
'weight_value' => $weightValue,
'teamDividend' => $teamDividendInfo
];
}
}
return $agents;
}
/**
* Common: 购买商品赠送权重值 - 获取应得权重值
* Author: wu-hui
* Time: 2023/10/12 14:03
* @param $currentSale
* @param $agentInfo
* @return float|int
*/
private function getWeightValue($currentSale,$agentInfo){
if((int)$currentSale['gift_type'] == 0){
// 赠送固定值
return $currentSale['quantity'];
}else if($agentInfo['teamDividend']){
// 阶梯赠送 阶梯判断条件必须按照从大到小排序
$ladderList = json_decode($currentSale['ladder'],true);
array_multisort(array_column($ladderList,'where'),SORT_ASC, $ladderList);
$ranking = (int)$agentInfo['teamDividend']['ranking'];
$weightValueNum = 0;
foreach($ladderList as $ladder){
if($ranking <= $ladder['where'] && $ranking > 0){
$weightValueNum = (float)$ladder['num'];
break;
}
}
return $weightValueNum;
}else {
return (float)0;
}
}
/**
* Common: 修改信息
* 必须是包含member_id、team_dividend_agency_level_id、quantity的二维数组
* Author: wu-hui
* Time: 2023/10/12 15:09
* @param $updateWeightValueList
*/
public static function updateInfo($updateWeightValueList){
// 判断:是否为二维数组
if(!is_array($updateWeightValueList[0])) $updateWeightValueList = [$updateWeightValueList];
// 循环处理 存在修改,不存在添加
foreach($updateWeightValueList as $wv){
$weightValueModel = self::uniacid()
->where('member_id',$wv['member_id'])
->where('team_dividend_agency_level_id',$wv['team_dividend_agency_level_id'])
->first();
if(!$weightValueModel) $weightValueModel = new static();
// 修改赋值
if((int)$weightValueModel->id <= 0){
$weightValueModel->uniacid = \YunShop::app()->uniacid;
$weightValueModel->member_id = $wv['member_id'];
$weightValueModel->team_dividend_agency_level_id = $wv['team_dividend_agency_level_id'];
}
$weightValueModel->quantity = (float)$wv['quantity'];
$weightValueModel->save();
}
}
}

View File

@ -1,10 +1,8 @@
<?php
namespace app\common\models\weightValue;
namespace Yunshop\WeightValue\models;
use app\common\models\BaseModel;
use app\common\models\Member;
use function PHPUnit\Framework\isNull;
class WeightValueLog extends BaseModel{
@ -122,4 +120,7 @@ class WeightValueLog extends BaseModel{
return $this->hasOne(Member::class, 'uid', 'member_id');
}
}

View File

@ -11,14 +11,9 @@ define({
<el-form-item label="是否开启" label-width="155px">
<el-radio v-model="json.is_open" :label="0">关闭</el-radio>
<el-radio v-model="json.is_open" :label="1">开启</el-radio>
<div class="form-item_tips">仅存在经销商身份的用户可以获得权重值</div>
</el-form-item>
<template v-if="json.is_open == 1">
<el-form-item label="受赠用户类型" label-width="155px">
<el-radio v-model="json.user_type" :label="0">全部用户</el-radio>
<el-radio v-model="json.user_type" :label="1">仅经销商</el-radio>
<div class="form-item_tips">全部用户普通所有用户购买后都会赠送权重值</div>
<div class="form-item_tips">仅经销商存在经销商身份且未加入黑名单的用户会赠送权重值</div>
</el-form-item>
<el-form-item label="赠送方式" label-width="155px">
<el-radio v-model="json.gift_type" :label="0">普通赠送</el-radio>
<el-radio v-model="json.gift_type" :label="1">阶梯赠送</el-radio>
@ -83,7 +78,6 @@ define({
return {
json: {
is_open: 0,// 是否开启购买商品赠送权重值0=未开启1=开启
user_type: 0,// 受赠用户类型0=全部用户1=仅经销商
gift_type: 0,// 赠送方式0=赠送固定值1=阶梯值赠送
lv_type: 0,// 赠送方式0=二级1=三级
quantity: 0,// 赠送数量
@ -91,13 +85,12 @@ define({
}
}
},
watch: {},
watch: { },
mounted() {
console.log(this.form);
if (this.form) {
let weight_value = this.form || {};
this.json.is_open = weight_value.is_open ? weight_value.is_open : 0;
this.json.user_type = weight_value.user_type ? weight_value.user_type : 0;
this.json.gift_type = weight_value.gift_type ? weight_value.gift_type : 0;
this.json.lv_type = weight_value.lv_type ? weight_value.lv_type : 0;
this.json.quantity = weight_value.quantity ? weight_value.quantity : 0;