bztang-admin/plugins/cultural-space/src/models/CulturalSpaceGoodsLegumes.php

94 lines
3.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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;
}
}