94 lines
3.3 KiB
PHP
94 lines
3.3 KiB
PHP
<?php
|
||
namespace Yunshop\CulturalSpace\models;
|
||
|
||
|
||
use app\common\facades\Setting;
|
||
use app\common\models\BaseModel;
|
||
use app\common\models\Member;
|
||
|
||
class CulturalSpaceGoodsLegumes extends BaseModel{
|
||
|
||
public $table = 'yz_cultural_space_goods_legumes';
|
||
public $casts = [
|
||
'created_at' => 'datetime:Y-m-d H:i:s'
|
||
];
|
||
|
||
protected $fillable = [
|
||
'uniacid',
|
||
'uid',
|
||
'goods_id',
|
||
'order_id',
|
||
'order_goods_id',
|
||
'legumes_withdrawal_id',
|
||
'change_type',
|
||
'change_quantity',
|
||
'change_front',
|
||
'change_after',
|
||
'remark',
|
||
'created_at',
|
||
'source'
|
||
];
|
||
|
||
/**
|
||
* Common: 变更记录处理
|
||
* Author: wu-hui
|
||
* Time: 2023/11/29 17:40
|
||
* @param int $uid 用户id
|
||
* @param float $changeNum 变更数量
|
||
* @param int $changeType 变更类型:0=减少,1=增加
|
||
* @param string $remark 备注
|
||
* @param int $changeSource 记录来源:0=文创豆易出,1=商品兑换
|
||
* @param array $params 其他参数:goods_id、order_id、order_goods_id、legumes_withdrawal_id
|
||
* @return mixed
|
||
*/
|
||
public function changeHandle(int $uid,float $changeNum,int $changeType,string $remark,int $changeSource = 1,array $params = []){
|
||
// 获取当前用户持有数量
|
||
$changeFront = (float)CulturalSpace::uniacid()->where('uid',$uid)->value('goods_legumes');
|
||
$changeFrontMoney = (float)CulturalSpace::uniacid()->where('uid',$uid)->value('goods_legumes_money');
|
||
// 变更后的数量
|
||
$changeAfter = $changeType == 1 ? $changeFront + $changeNum : $changeFront - $changeNum;
|
||
$changeAfterMoney = $changeType == 1 ? $changeFrontMoney + $params['change_money'] : $changeFrontMoney - $params['change_money'];
|
||
// 变更记录
|
||
$data = [
|
||
'uniacid' => \YunShop::app()->uniacid,
|
||
'uid' => $uid,// 用户id
|
||
'goods_id' => $params['goods_id'] ?? 0,// 商品id
|
||
'order_id' => $params['order_id'] ?? 0,// 订单id
|
||
'order_goods_id' => $params['order_goods_id'] ?? 0,// 订单商品id
|
||
'legumes_withdrawal_id' => $params['legumes_withdrawal_id'] ?? 0,// 文创豆易出申请id
|
||
'change_type' => $changeType,// 变更类型:0=减少,1=增加
|
||
'change_quantity' => $changeNum,// 变更数量
|
||
'change_front' => $changeFront,// 变更前拥有的数量
|
||
'change_after' => $changeAfter,// 变更后拥有的数量
|
||
'remark' => $remark,
|
||
'created_at' => time(),// 变更时间
|
||
'source' => $changeSource,
|
||
'change_quantity_money' => $params['change_money'] ?? 0,// 具体变更金额
|
||
'change_front_money' => $changeFrontMoney ?? 0,// 变更前拥有的金额
|
||
'change_after_money' => $changeAfterMoney ?? 0,// 变更后拥有的金额
|
||
];
|
||
$id = $this->insertGetId($data);
|
||
// 修改用户持有
|
||
CulturalSpace::uniacid()->where('uid',$uid)->update([
|
||
'goods_legumes' => $changeAfter,
|
||
'goods_legumes_money' => $changeAfterMoney,
|
||
]);
|
||
|
||
return $id;
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
}
|