ManyOrder.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. /**
  3. * @author: xaboy<365615158@qq.com>
  4. * @day: 2017/11/11
  5. */
  6. namespace app\models\many;
  7. use app\models\user\User;
  8. use app\models\user\UserBill;
  9. use crmeb\services\PHPExcelService;
  10. use crmeb\traits\ModelTrait;
  11. use crmeb\basic\BaseModel;
  12. /**
  13. * Class StoreCategory
  14. * @package app\admin\model\store
  15. */
  16. class ManyOrder extends BaseModel
  17. {
  18. /**
  19. * 数据表主键
  20. * @var string
  21. */
  22. protected $pk = 'id';
  23. /**
  24. * 模型名称
  25. * @var string
  26. */
  27. protected $name = 'many_order';
  28. use ModelTrait;
  29. protected $autoWriteTimestamp = true;
  30. public static function list($where)
  31. {
  32. $model = self::alias('a')
  33. ->field('a.*,b.name,u.nickname')
  34. ->leftJoin('many b', 'b.id = a.many_id')
  35. ->leftJoin('user u', 'u.uid = a.uid')
  36. ->where('a.uid', $where['uid']);
  37. if ($where['status'])$model->where('a.status' , '=', $where['status']);
  38. $data['count'] = $model->count();
  39. if ($where['page'] && $where['limit']){
  40. $model->page($where['page'], $where['limit']);
  41. }else{
  42. $model->page(20, 1);
  43. }
  44. $list = $model->select()->toArray();
  45. $data['data'] = $list;
  46. return $data;
  47. }
  48. /**
  49. * 众筹成功订单返还
  50. * @return void
  51. * @throws \think\db\exception\DataNotFoundException
  52. * @throws \think\db\exception\DbException
  53. * @throws \think\db\exception\ModelNotFoundException
  54. */
  55. public static function suc_return()
  56. {
  57. $order = self::where('is_return', 1)->where('status', 0)->select(); // 查询需要返还的订单
  58. if ($order){
  59. foreach ($order as $item)
  60. {
  61. if (strtotime($item['create_time'])+(86400*7) < time()){
  62. $user = User::where('uid', $item['uid'])->find();//用户
  63. $user1 = [];
  64. $user2 = [];
  65. if ($user['spread_uid'] > 0){
  66. $user1 = User::where('uid', $user['spread_uid'])->find();//用户
  67. if ($user1['spread_uid'] > 0) $user2 = User::where('uid', $user1['spread_uid'])->find();//用户
  68. }
  69. $purple_integral = round($item['price'] * 1.07, 2);// 奖励紫积分积分
  70. $business_integral = round($item['price'] * 0.03, 2);// 奖励商家积分
  71. $user['purple_integral'] += $purple_integral;
  72. $user['business_integral'] += $business_integral;
  73. if ($user1){
  74. // 直推收益的百分之十
  75. $sy1 = $item['price'] * 0.1;
  76. $user1['purple_integral'] += $sy1 * 0.7;
  77. $user1['business_integral'] += $sy1 * 0.3;
  78. }
  79. if ($user2){
  80. // 间推收益的百分之五
  81. $sy2 = $item['price'] * 0.05;
  82. $user2['purple_integral'] += $sy2 * 0.7;
  83. $user2['business_integral'] += $sy2 * 0.3;
  84. }
  85. self::where('id', $item['id'])->update(['status' => 1]);
  86. $user->save();
  87. UserBill::income('众筹成功奖励紫积分', $user['uid'], 'purple_integral', 'zccg', $purple_integral, $user['spread_uid'], $user['purple_integral'], '众筹成功返还紫积分');
  88. UserBill::income('众筹成功奖励商家积分', $user['uid'], 'business_integral', 'zccg', $business_integral, $user['spread_uid'], $user['business_integral'], '众筹成功返还商家积分');
  89. if ($user1){
  90. UserBill::income('直推奖励紫积分', $user1['uid'], 'purple_integral', 'zccg', $sy1*0.7, $user1['spread_uid'], $user1['purple_integral'], '直推奖励紫积分');
  91. UserBill::income('直推奖励商家积分', $user1['uid'], 'business_integral', 'zccg', $sy1*0.3, $user1['spread_uid'], $user1['business_integral'], '直推奖励商家积分');
  92. $user1->save();
  93. }
  94. if ($user2){
  95. UserBill::income('间推奖励紫积分', $user1['uid'], 'purple_integral', 'zccg', $sy2*0.7, $user2['spread_uid'], $user2['purple_integral'], '间推奖励紫积分');
  96. UserBill::income('间推奖励商家积分', $user1['uid'], 'business_integral', 'zccg', $sy2*0.3, $user2['spread_uid'], $user2['business_integral'], '间推奖励商家积分');
  97. $user2->save();
  98. }
  99. }
  100. }
  101. }
  102. }
  103. }