SigninController.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace app\index\controller;
  3. use think\exception\ValidateException;
  4. use app\model\Signin;
  5. use app\model\Points;
  6. use app\model\SigninConfig;
  7. use app\model\Member;
  8. class SigninController extends Base
  9. {
  10. public function list()
  11. {
  12. $where['weid'] = weid();
  13. $where['uid'] = UID();
  14. $data = Signin::where($where)
  15. ->order('id desc')
  16. ->select()
  17. ->toArray();
  18. return $this->json(['data' => $data]);
  19. }
  20. public function add()
  21. {
  22. if (!Signin::getIsDaySgin()) {
  23. try {
  24. $number = Signin::getSginNumber();
  25. $uid = UID();
  26. $weid = weid();
  27. $SumSginDay = Signin::getSumSginDay() + 1;
  28. $description = '连续签到' . $SumSginDay . '天奖励积分';
  29. Signin::create([
  30. 'weid' => $weid,
  31. 'uid' => $uid,
  32. 'number' => (int) $number,
  33. 'title' => $description
  34. ]);
  35. Points::create([
  36. 'weid' => $weid,
  37. 'uid' => $uid,
  38. 'points' => (int) $number,
  39. 'description' => $description,
  40. 'prefix' => 1,
  41. 'type' => 3
  42. ]);
  43. Member::where('id', $uid)
  44. ->inc('points', (int) $number)
  45. ->update();
  46. } catch (\Exception $e) {
  47. $res['errno'] = 1;
  48. $res['msg'] = $e->getMessage();
  49. }
  50. } else {
  51. $res['errno'] = 1;
  52. $res['msg'] = '你今天已签到!';
  53. }
  54. $memberinfo = Member::where('id', $uid)->find();
  55. if ($memberinfo) {
  56. $memberinfo = $memberinfo->toArray();
  57. }
  58. $memberinfo['sign_index'] = Signin::getSignIndex();
  59. $memberinfo['is_day_sgin'] = Signin::getIsDaySgin();
  60. $memberinfo['sum_sgin_day'] = Signin::getSumSginDay();
  61. $memberinfo['getpoints'] = $number;
  62. $res['data'] = $memberinfo;
  63. return $this->json($res);
  64. }
  65. public function memberinfo()
  66. {
  67. $Membermob = new Member;
  68. $memberinfo = $Membermob->getUserByWechat();
  69. $memberinfo['sign_index'] = Signin::getSignIndex();
  70. $memberinfo['is_day_sgin'] = Signin::getIsDaySgin();
  71. $memberinfo['sum_sgin_day'] = Signin::getSumSginDay();
  72. return $this->json(['data' => $memberinfo]);
  73. }
  74. public function signinconfig()
  75. {
  76. $where['weid'] = weid();
  77. $data = SigninConfig::where($where)
  78. ->order('sort asc')
  79. ->select()
  80. ->toArray();
  81. return $this->json(['data' => $data]);
  82. }
  83. }