PrizeController.php 5.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <?php
  2. namespace App\Http\Controllers\brainstorming;
  3. use App\Common\Api;
  4. use App\Models\LotteryBoxs;
  5. use App\Services\ActivityService;
  6. use Illuminate\Http\Request;
  7. use App\Http\Controllers\Controller;
  8. use App\Services\PrizeService;
  9. class PrizeController extends Controller
  10. {
  11. public function __construct()
  12. {
  13. //加载中间键
  14. // $this->middleware('CheckLogin');
  15. // $this->middleware('Logs');
  16. // $this->middleware('CacheClear');
  17. }
  18. /**
  19. * 宝箱——添加/修改奖品
  20. */
  21. public function postSave(Request $request){
  22. try {
  23. $params = $request->all();
  24. $keys = array('activity_id', 'corp_id', 'lottery_level', 'prize_name', 'prize_day_rule', 'prize_count', 'prize_weights', 'prize_image_url');
  25. foreach ($keys as $key) {
  26. if (empty($params[$key])) {
  27. return Api::json(config('code.params_error'), trans('params.'.$key) . trans('msg.params_not_null'));
  28. }
  29. }
  30. $res = PrizeService::prizeDetail($params);
  31. return Api::json($res['code'], $res['msg'], $res['data']);
  32. }catch(\Exception $e) {
  33. return Api::serviceError($e);
  34. }
  35. }
  36. /**
  37. * 获取宝箱内的奖品列表
  38. * @param Request $request
  39. * @return string
  40. */
  41. public function getList(Request $request){
  42. try {
  43. $params = $request->all();
  44. $keys = array('activity_id', 'lottery_level', 'corp_id');
  45. foreach ($keys as $key) {
  46. if (empty($params[$key])) {
  47. return Api::json(config('code.params_error'), trans('params.'.$key) . trans('msg.params_not_null'));
  48. }
  49. }
  50. $res = PrizeService::getPrizeList($params['corp_id'], $params['activity_id'], $params['lottery_level']);
  51. return Api::json($res['code'], $res['msg'], $res['data']);
  52. }catch(\Exception $e) {
  53. return Api::serviceError($e);
  54. }
  55. }
  56. /**
  57. * 奖品删除或冻结
  58. * @param Request $request
  59. * @return string
  60. */
  61. public function postSoldOut(Request $request){
  62. try {
  63. $params = $request->all();
  64. $keys = array('activity_id', 'lottery_level', 'corp_id', 'prize_id', 'status');
  65. foreach ($keys as $key) {
  66. if (empty($params[$key]) && $params[$key] != 0) {
  67. return Api::json(config('code.params_error'), $key.trans('msg.params_not_null'));
  68. }
  69. //status只允许0 删除 2 冻结 其他则视为参数错误
  70. if($params['status'] && !in_array($params['status'], array(0,2))){
  71. return Api::json(config('code.params_error'), trans('msg.params_error'));
  72. }
  73. }
  74. $res = PrizeService::prizeSoldOut($params);
  75. return Api::json($res['code'], $res['msg'], $res['data']);
  76. }catch(\Exception $e) {
  77. return Api::serviceError($e);
  78. }
  79. }
  80. /**
  81. * 默认宝箱数据生成
  82. * @param Request $request
  83. * @return string
  84. */
  85. public function postBoxDefault(Request $request){
  86. $params = $request->all();
  87. if(empty($params['activity_id']) || empty($params['corp_id'])){
  88. return Api::json(config('code.params_error'), trans('msg.params_error'));
  89. }
  90. $activityInfo = ActivityService::getActivityInfo($params['activity_id']);
  91. if(!$activityInfo){
  92. return Api::json(config('code.fail'), trans('msg.activity_not_exist'));
  93. }
  94. //获取活动宝箱信息
  95. $res = PrizeService::getLotteryBoxs($params);
  96. if(empty($res['data'])){
  97. //插入默认宝箱
  98. $result = PrizeService::defaultBox($params, true);
  99. if($result['code'] == 0){
  100. return Api::json($result['code'], $result['msg'], $result['data']);
  101. } else {
  102. return Api::json($result['code'], $result['msg']);
  103. }
  104. } else {
  105. return Api::json(config('code.success'), trans('msg.success'), $res['data']);
  106. }
  107. }
  108. // /**
  109. // * 宝箱状态修改
  110. // * @param Request $request
  111. // * @return string
  112. // */
  113. // public function postBoxStatus(Request $request){
  114. // $params = $request->all();
  115. // $keys = array('activity_id', 'lottery_level', 'corp_id', 'status');
  116. // foreach ($keys as $key) {
  117. // if (empty($params[$key]) && $params[$key] != 0) {
  118. // return Api::json(config('code.params_error'), $key.trans('msg.params_not_null'));
  119. // }
  120. // //status只允许0 删除 2 冻结 其他则视为参数错误
  121. // if($params['status'] && !in_array($params['status'], array(0,1))){
  122. // return Api::json(config('code.params_error'), trans('msg.params_error'));
  123. // }
  124. // }
  125. //
  126. // $box = LotteryBoxs::where('activity_id', $params['activity_id'])
  127. // ->where('corp_id',$params['corp_id'])
  128. // ->where('lottery_level', $params['lottery_level'])->first();
  129. //
  130. // if(!$box){
  131. // return Api::json(config('code.fail'), '宝箱不存在');
  132. // }
  133. // $res = LotteryBoxs::where('activity_id', $params['activity_id'])
  134. // ->where('corp_id',$params['corp_id'])
  135. // ->where('lottery_level', $params['lottery_level'])
  136. // ->update(['status'=>$params['status'], 'update_time'=>time()]);
  137. // if($res){
  138. // return Api::json(config('code.success'), trans('msg.success'));
  139. // } else {
  140. // Api::json(config('code.sql_error'), trans('msg.sql_error'));
  141. // }
  142. // }
  143. }
  144. ?>