Test.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <?php
  2. namespace app\api\controller\v1;
  3. use AlibabaCloud\SDK\OSS\OSS\DeleteMultipleObjectsRequest\body\delete;
  4. use app\admin\controller\coupon\Couponarea;
  5. use app\admin\service\ConfigService;
  6. use app\api\services\ThirdPayServices;
  7. use app\api\services\UserAuthServices;
  8. use app\api\services\UserServices;
  9. use app\common\model\BoxMidHandleModel;
  10. use app\common\model\BoxHandleModel;
  11. use app\common\model\CouponAreaModel;
  12. use app\common\model\CouponPlanLogModel;
  13. use app\common\model\CouponPlanModel;
  14. use app\common\model\GreenScoreLogModel;
  15. use app\common\model\MachineListModel;
  16. use app\common\model\MachineModel;
  17. use app\common\model\ShopGoodsModel;
  18. use app\common\model\User;
  19. use app\common\model\UserDataModel;
  20. use app\common\model\UserFansModel;
  21. use app\common\model\UserModel;
  22. use app\common\model\YgOrderModel;
  23. use app\common\service\SystemConfigService;
  24. use Grpc\Timeval;
  25. use jobs\CouponPlanJob;
  26. use jobs\JpOrderJob;
  27. use jobs\ShopOrderJob;
  28. use jobs\SystemMiddleOpenBox;
  29. use PhpOffice\PhpSpreadsheet\IOFactory;
  30. use PhpOffice\PhpSpreadsheet\Reader\Xls\MD5;
  31. use Rsa\RsaClient;
  32. use services\CacheServices;
  33. use think\cache\driver\Redis;
  34. use think\db\Where;
  35. use think\Exception;
  36. use think\facade\Cache;
  37. use think\facade\Db;
  38. use think\facade\Filesystem;
  39. use think\Request;
  40. use utils\Queue;
  41. use jianyan\excel\Excel;
  42. use utils\RedisCache;
  43. class Test
  44. {
  45. public function test(Request $request)
  46. {
  47. Db::startTrans();
  48. $lists = UserModel::field('id,money,score,profit_money,green_score')->select();
  49. $logs = [];
  50. foreach($lists as $item){
  51. $id = isset($item['id'])? $item['id'] : 0;
  52. $score = isset($item['score'])? $item['score'] : 0;
  53. $money = isset($item['money'])? $item['money'] : 0;
  54. $profit = isset($item['profit_money'])? $item['profit_money'] : 0;
  55. $greenScore = UserModel::where('id', $id)->value('green_score');
  56. $newGreenScore = $greenScore;
  57. if($score>0){
  58. echo "用户{$id} {$score} 积分转入<br>";
  59. $logs[] = [
  60. 'uid'=> $id,
  61. 'type'=> 1,
  62. 'score'=> $score,
  63. 'create_at'=> date('Y-m-d H:i:s'),
  64. 'from_id'=> 0,
  65. 'uid2'=> 0,
  66. 'state'=> 1,
  67. 'before_score'=> $greenScore,
  68. 'after_score'=> $newGreenScore+$score,
  69. 'remark'=> '积分转入'
  70. ];
  71. $newGreenScore += $score;
  72. }
  73. if($money>0){
  74. echo "用户{$id} {$money} 余额转入<br>";
  75. $logs[] = [
  76. 'uid'=> $id,
  77. 'type'=> 3,
  78. 'score'=> $money,
  79. 'create_at'=> date('Y-m-d H:i:s'),
  80. 'from_id'=> 0,
  81. 'uid2'=> 0,
  82. 'state'=> 1,
  83. 'before_score'=> $newGreenScore,
  84. 'after_score'=> $newGreenScore+$money,
  85. 'remark'=> '余额转入'
  86. ];
  87. $newGreenScore += $money;
  88. }
  89. if($profit>0){
  90. echo "用户{$id} {$profit} 利润转入<br>";
  91. $logs[] = [
  92. 'uid'=> $id,
  93. 'type'=> 2,
  94. 'score'=> $profit,
  95. 'create_at'=> date('Y-m-d H:i:s'),
  96. 'from_id'=> 0,
  97. 'uid2'=> 0,
  98. 'state'=> 1,
  99. 'before_score'=> $newGreenScore,
  100. 'after_score'=> $newGreenScore+$profit,
  101. 'remark'=> '利润转入'
  102. ];
  103. $newGreenScore +=$profit;
  104. }
  105. if($newGreenScore>0 && !UserModel::where('id',$id)->inc('green_score',$newGreenScore)->update()){
  106. Db::rollback();
  107. return 'fail';
  108. }
  109. }
  110. if($logs){
  111. if(!GreenScoreLogModel::insertAll($logs)){
  112. Db::rollback();
  113. return 'fail';
  114. }
  115. if(!UserModel::where('id','>',0)->update(['score'=>0,'money'=>0,'profit_money'=>0,'update_time'=>date('Y-m-d H:i:s')])){
  116. Db::rollback();
  117. return 'fail';
  118. }
  119. }
  120. Db::commit();
  121. return 'success';
  122. }
  123. }