MoneyLogLogic.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace app\admin\logic;
  3. use app\admin\model\dao\MoneyLog;
  4. use app\admin\model\dao\ScoreLog;
  5. use app\admin\model\dao\ShopOrder;
  6. use app\admin\model\dao\User;
  7. use app\common\model\UserMoneyModel;
  8. use think\facade\Cache;
  9. use think\facade\Db;
  10. class MoneyLogLogic
  11. {
  12. // 1.积分兑换 2.提现 3.购买商品 4.积分兑换 5.广告任务包分红,6-团队收益,8-利润结算兑换,10-提现失败退还,12-平台充补,13-平台扣除 14-提现失败退还手续费',
  13. private static $typeMap = [
  14. ['id' => 0, 'name' => '其他'],
  15. ['id' => 1, 'name' => '积分兑换'],
  16. ['id' => 2, 'name' => '提现'],
  17. ['id' => 3, 'name' => '购买商品'],
  18. ['id' => 4, 'name' => '积分兑换'],
  19. ['id' => 5, 'name' => '广告任务包分红'],
  20. ['id' => 6, 'name' => '团队收益'],
  21. ['id' => 8, 'name' => '利润结算兑换'],
  22. ['id' => 10, 'name' => '提现失败退还'],
  23. ['id' => 12, 'name' => '平台充补'],
  24. ['id' => 13, 'name' => '平台扣除'],
  25. ['id' => 14, 'name' => '提现失败退还手续费'],
  26. ];
  27. private static $stateMap = [
  28. ['id' => 1, 'name' => '增加'],
  29. ['id' => 2, 'name' => '减少']
  30. ];
  31. /**
  32. * @return array[]
  33. */
  34. public static function getStateMap(): array
  35. {
  36. return self::$stateMap;
  37. }
  38. /**
  39. * @return array[]
  40. */
  41. public static function getTypeMap(): array
  42. {
  43. return self::$typeMap;
  44. }
  45. public static function getMoneyLog($page, $limit, $where, $sort)
  46. {
  47. $model = new UserMoneyModel();
  48. $count = $model
  49. ->where($where)
  50. ->count();
  51. $type_conf = config('type.money');
  52. $list = $model
  53. ->where($where)
  54. ->withAttr('type', function ($value, $data) use ($type_conf) {
  55. return $type_conf[$value];
  56. })
  57. ->withAttr('money', function ($value, $data) {
  58. if ($data['state'] == 2)
  59. $value = '-' . $value;
  60. return $value;
  61. })
  62. ->page($page, $limit)
  63. ->order($sort)
  64. ->select();
  65. return [$count, $list];
  66. }
  67. }