PHP积分兑换接口实例

这篇文章主要介绍了PHP积分兑换接口,实例分析了积分兑换接口的逻辑处理与数据库操作技巧,需要的朋友可以参考下

本文实例讲述了PHP积分兑换接口的实现方法。分享给大家供大家参考。具体实现方法如下:

exchange.php接口内容如下:

  1. <?php
  2. /*session_start();
  3. if(!isset($_SESSION['zaszh_user_id'])){
  4. echo json_encode(array('status'=>'error','msg'=>'连接超时,请重新打开页面。'));
  5. exit;
  6. }
  7. $user_id = $_SESSION['zaszh_user_id'];*/
  8. $user_id = 1; // 测试用
  9. $exchange_points = intval($_GET['exchange_points']);
  10. require('connect_database.php');
  11. // 扣除答题积分
  12. $mysqli->query("update zaszh_user set answer_points=answer_points-{$exchange_points} where and answer_points>={$exchange_points}");
  13. if($mysqli->affected_rows){
  14. // 有积分
  15. switch($exchange_points){
  16. // 5元话费
  17. case 200:
  18. $mysqli->query("update zaszh_telephone_charge_surplus set charge_surplus=charge_surplus-5 where date=substring(now(),1,10) and charge_surplus>=5");
  19. if($mysqli->affected_rows){
  20. // 有剩余
  21. $mysqli->query("insert into zaszh_award(user_id,prize,create_date) values('{$user_id}','5元话费',unix_timestamp(now()))");
  22. if($mysqli->affected_rows){
  23. echo json_encode(array('status'=>'success','msg'=>'5元话费'));
  24. }else{
  25. // 获奖失败
  26. }
  27. }else{
  28. // 无剩余
  29. // 恢复答题积分
  30. $mysqli->query("update zaszh_user set answer_points=answer_points+{$exchange_points} where ");
  31. }
  32. break;
  33. // 10元话费
  34. case 400:
  35. $mysqli->query("update zaszh_telephone_charge_surplus set charge_surplus=charge_surplus-10 where date=substring(now(),1,10) and charge_surplus>=10");
  36. if($mysqli->affected_rows){
  37. // 有剩余
  38. $mysqli->query("insert into zaszh_award(user_id,prize,create_date) values('{$user_id}','10元话费',unix_timestamp(now()))");
  39. if($mysqli->affected_rows){
  40. echo json_encode(array('status'=>'success','msg'=>'10元话费'));
  41. }else{
  42. // 获奖失败
  43. }
  44. }else{
  45. // 无剩余
  46. // 恢复答题积分
  47. $mysqli->query("update zaszh_user set answer_points=answer_points+{$exchange_points} where ");
  48. }
  49. break;
  50. }
  51. // 记录积分消耗
  52. $mysqli->query("insert into zaszh_answer_points_consume(user_id,points_consume,consume_for,create_date) values('{$user_id}','{$exchange_points}','exchange',unix_timestamp(now()))");
  53. }else{
  54. // 无积分
  55. echo json_encode(array('status'=>'error','msg'=>'您的积分不足。'));
  56. }
  57. $mysqli->close();

希望本文所述对大家的php程序设计有所帮助。