EffectiveLogic.php 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace app\common\logic;
  3. use app\common\model\effective\EffectiveCategory;
  4. use app\common\model\effective\EffectiveRules;
  5. use app\common\model\orders\OrderEffectiveLog;
  6. use app\common\model\orders\RechargeOrder;
  7. use app\common\model\recharge\OrderGoods;
  8. use Exception;
  9. class EffectiveLogic extends BaseLogic
  10. {
  11. public static function receiveEffective($work)
  12. {
  13. $orderGoods = OrderGoods::whereIn('sn',RechargeOrder::where('work_id',$work->id)->column('sn'))->findOrEmpty();
  14. $effective = EffectiveCategory::with('effectiveRule')->where('goods_category_id',$orderGoods->goods_category_id)->findOrEmpty();
  15. if(!$effective->isEmpty()){
  16. OrderEffectiveLog::create([
  17. 'effective_id' => $effective->effectiveRule->id,
  18. 'sn' => $orderGoods['sn'],
  19. 'user_id' => $work['user_id'],
  20. 'work_id' => $work->id,
  21. 'goods_id' => $orderGoods->goods_id,
  22. 'effective_unit' => $effective->effectiveRule->effective_unit,
  23. 'effective_num' => $effective->effectiveRule->effective_num,
  24. 'remark' => $effective->effectiveRule->remark,
  25. 'end_effective_time' => EffectiveRules::formatEndEffectiveTime(time() ,$effective->effectiveRule->effective_num,$effective->effectiveRule->effective_unit),
  26. ]);
  27. }
  28. }
  29. }