common.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2017~2021 https://www.yiovo.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
  8. // +----------------------------------------------------------------------
  9. // | Author: 萤火科技 <admin@yiovo.com>
  10. // +----------------------------------------------------------------------
  11. declare (strict_types = 1);
  12. // 应用公共函数库文件
  13. use app\api\model\card\UserRiceCard;
  14. use app\api\model\card\UserRiceCard as UserRiceCardModel;
  15. use app\api\model\card\UserRiceCardConsume;
  16. /**
  17. * 获取当前访问的渠道(微信小程序、H5、APP等)
  18. * @return int|null
  19. */
  20. function getPlatform()
  21. {
  22. static $value = null;
  23. // 从header中获取 channel
  24. empty($value) && $value = request()->header('platform');
  25. // 调试模式下可通过param中获取
  26. if (is_debug() && empty($value)) {
  27. $value = request()->param('platform');
  28. }
  29. return $value;
  30. }
  31. /*
  32. * 返回含有http状态码的json
  33. */
  34. function laravel_abort($code, $msg)
  35. {
  36. $arr = ['error' => ['message' => $msg, 'code' => $code]];
  37. header('Content-Type:application/json; charset=utf-8');
  38. http_response_code($code);
  39. exit(json_encode($arr, JSON_UNESCAPED_UNICODE));
  40. }
  41. //退还米卡
  42. function riceCardReturn(int $rice_card_id,$rice_card_money,$order_no,$pay_money){
  43. $riceCard = UserRiceCardModel::getValidRiceCardDetail($rice_card_id);
  44. if ($rice_card_id) { // 订单商品有使用现金卡
  45. // 验证余额
  46. if ($rice_card_money + $riceCard['balance'] > $riceCard['face_value']) {
  47. return false;
  48. }
  49. // 写入现金卡流水明细
  50. UserRiceCardConsume::add($riceCard, $order_no, $pay_money, $rice_card_money, 1, '商品退款');
  51. // 退还现金卡金额
  52. UserRiceCard::setIncByField($rice_card_id, 'balance', (float)$rice_card_money);
  53. $riceCard->effect_state = 1; // 改为 生效
  54. $riceCard->save();
  55. }
  56. return true;
  57. }