StoreOrderEconomizeServices.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\services\order;
  12. use app\dao\order\StoreOrderEconomizeDao;
  13. use app\services\BaseServices;
  14. use crmeb\traits\ServicesTrait;
  15. use think\exception\ValidateException;
  16. /**
  17. * 计算节省金额
  18. * Class StoreOrderEconomizeServices
  19. * @package app\services\order
  20. * @mixin StoreOrderEconomizeDao
  21. */
  22. class StoreOrderEconomizeServices extends BaseServices
  23. {
  24. use ServicesTrait;
  25. /**
  26. * StoreOrderEconomizeServices constructor.
  27. * @param StoreOrderEconomizeDao $dao
  28. */
  29. public function __construct(StoreOrderEconomizeDao $dao)
  30. {
  31. $this->dao = $dao;
  32. }
  33. /**
  34. * 添加节省金额数据
  35. * @param array $add
  36. * @return \crmeb\basic\BaseModel|\think\Model
  37. */
  38. public function addEconomize(array $add)
  39. {
  40. if (!$add) throw new ValidateException('数据不存在');
  41. return $this->dao->save($add);
  42. }
  43. /**
  44. * @param array $where
  45. * @return array|\think\Model|null
  46. * @throws \think\db\exception\DataNotFoundException
  47. * @throws \think\db\exception\DbException
  48. * @throws \think\db\exception\ModelNotFoundException
  49. */
  50. public function getOne(array $where)
  51. {
  52. if (!$where) throw new ValidateException('条件缺失');
  53. return $this->dao->getOne($where);
  54. }
  55. /**
  56. * 汇总付费会员节省金额
  57. * @param $uid
  58. * @return false|string
  59. * @throws \think\db\exception\DataNotFoundException
  60. * @throws \think\db\exception\DbException
  61. * @throws \think\db\exception\ModelNotFoundException
  62. */
  63. public function sumEconomizeMoney($uid)
  64. {
  65. if (!$uid) return false;
  66. $list = $this->dao->getList(['uid' => $uid]);
  67. $economizeMoney = 0.00;
  68. if ($list) {
  69. foreach ($list as $k => $v) {
  70. $economizeMoney += $v['postage_price'];
  71. $economizeMoney += $v['member_price'];
  72. $economizeMoney += $v['offline_price'];
  73. $economizeMoney += $v['coupon_price'];
  74. }
  75. }
  76. return sprintf("%.2f", $economizeMoney);
  77. }
  78. }