RiddleRecord.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php namespace App\Http\Controllers\Api\Lottery;
  2. use App\Http\Controllers\Api\Api;
  3. use App\Models\Lottery\RiddleRecord as Model;
  4. use App\Models\Lottery\RiddleReward as RiddleReward;
  5. use App\Http\Requests\Api\Lottery\OrderRecord as Request;
  6. use App\Models\CustomAddr;
  7. use App\Models\Custom;
  8. /**
  9. * 积分抽奖记录
  10. *
  11. * @author 刘相欣
  12. *
  13. * */
  14. class RiddleRecord extends Api{
  15. /**
  16. * 获取抽奖记录 /api/lottery_riddle_record/get_list
  17. *
  18. * */
  19. public function get_list(Request $request,Model $Model){
  20. // 接口验签
  21. // $this->verify_sign();
  22. // 验证参数
  23. $request->scene('get_list')->validate();
  24. // 检查登录
  25. $uid = $this->checkLogin();
  26. // 接受参数
  27. $lotteryId = request('lottery_id',0);
  28. //
  29. $map = [['custom_uid','=',$uid],['lottery_id','=',$lotteryId]];
  30. // 获取客户城市的数据
  31. $list = $Model->query()->where($map)->orderByDesc('id')->get(['id','reward_name','contact_addr','status','insert_time'])->toArray();
  32. // 处理请求
  33. foreach ($list as $key => $value ) {
  34. // 处理数据
  35. $value['insert_time'] = date('m/d H:i',$value['insert_time']);
  36. $value['state'] = $Model->getRecordState($value['status'],'name');
  37. // 重组数据
  38. $list[$key] = $value;
  39. }
  40. // 返回结果
  41. return json_send(['code'=>'success','msg'=>'获取成功','data'=>$list]);
  42. }
  43. /**
  44. * 获取抽奖配置 /api/lottery_riddle_record/set_addr
  45. *
  46. * */
  47. public function set_addr(Request $request,Model $Model,CustomAddr $CustomAddr){
  48. // 接口验签
  49. // $this->verify_sign();
  50. // 验证参数
  51. $request->scene('set_addr')->validate();
  52. // 检查登录
  53. $uid = $this->checkLogin();
  54. // 接受参数
  55. $id = request('id',0);
  56. $addrId = request('addr_id',0);
  57. // 获取地址
  58. $addr = $CustomAddr->getOne($addrId);
  59. // 如果不存在数据
  60. if( !$addr ) return json_send(['code'=>'error','msg'=>'地址有误,请核对','data'=>['error'=>'没有找到对应的地址']]);
  61. // 重组数据
  62. $addr = ['status'=>1,'contact_name'=>$addr['contact_name'],'contact_shop'=>$addr['contact_shop'],'contact_phone'=>$addr['contact_phone'],'contact_province'=>$addr['contact_province'],'contact_city'=>$addr['contact_city'],'contact_area'=>$addr['contact_area'],'contact_addr'=>$addr['contact_addr'],'update_time'=>time()];
  63. // 组合条件
  64. $map = [['custom_uid','=',$uid],['id','=',$id]];
  65. // 获取客户城市的数据
  66. $result = $Model->query()->where($map)->update($addr);
  67. // 成功
  68. if( !$result ) return json_send(['code'=>'error','msg'=>'地址填写失败','data'=>['error'=>'地址填写失败']]);
  69. // 返回结果
  70. return json_send(['code'=>'success','msg'=>'获取成功','data'=>['id'=>$id]]);
  71. }
  72. /**
  73. * 获取所有用户抽奖记录 /api/lottery_riddle_record/get_list_all
  74. *
  75. * */
  76. public function get_list_all(Model $Model,RiddleReward $RiddleReward,Custom $Custom){
  77. // 接口验签
  78. // $this->verify_sign();
  79. // 检查登录
  80. //$uid = $this->checkLogin();
  81. // 接受参数
  82. $lotteryId = request('lottery_id',0);
  83. if( !$lotteryId ) return json_send(['code'=>'error','msg'=>'暂无活动','data'=>'缺少活动id']);
  84. $map = [['lottery_id','=',$lotteryId]];
  85. // 获取客户城市的数据
  86. $list = $Model->query()
  87. ->where($map)
  88. ->orderByDesc('id')
  89. ->take(20)
  90. ->get(['id','reward_name','custom_uid','reward_id','contact_addr','status','insert_time'])
  91. ->toArray();
  92. // 处理请求
  93. foreach ($list as $key => $value ) {
  94. // 处理数据
  95. $value['insert_time'] = date('m/d H:i',$value['insert_time']);
  96. $value['state'] = $Model->getRecordState($value['status'],'name');
  97. $value['reward_info'] = $RiddleReward->query()->where('id',$value['reward_id'])->value('reward_info');
  98. $value['username'] = $Custom->query()->where('uid',$value['custom_uid'])->value('username');
  99. // 重组数据
  100. $list[$key] = $value;
  101. }
  102. // 返回结果
  103. return json_send(['code'=>'success','msg'=>'获取成功','data'=>$list]);
  104. }
  105. }