IntegralService.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace app\common\service;
  3. use app\common\model\UserIntegral as UserIntegralModel;
  4. use app\common\model\UserParam as UserParamModel;
  5. use app\common\model\User as UserModel;
  6. class IntegralService extends BaseService
  7. {
  8. const REGISTER = 0;
  9. const IMPROVERESUME = 1;
  10. const CERTIFICATION = 2;
  11. const ENTRY = 3;
  12. const SINGIN = 4;
  13. const SHAREJOB = 5;
  14. private $_type = [
  15. ['field' => 'register', 'title' => '新用户注册奖励', 'remark' => '邀请新用户注册奖励积分'],
  16. ['field' => 'improveresume', 'title' => '首次完善简历奖励', 'remark' => '首次完善简历奖励积分'],
  17. ['field' => 'certification', 'title' => '首次实名认证通过奖励', 'remark' => '首次实名认证通过奖励积分'],
  18. ['field' => 'entry', 'title' => '对接成功奖励', 'remark' => '对接成功并入职奖励积分'],
  19. ['field' => 'signin', 'title' => '签到奖励', 'remark' => '对签到奖励积分'],
  20. ['field' => 'sharejob', 'title' => '每日分享岗位奖励', 'remark' => '每日分享岗位奖励积分'],
  21. ];
  22. public function add($user_id, $type_index, $itype = 1)
  23. {
  24. $type = $this->_type[$type_index];
  25. $param = UserParamModel::where(1)->findOrEmpty();
  26. $intvalue = $param[$type['field']];
  27. if (empty($intvalue)) {
  28. return false;
  29. }
  30. $integral = new UserIntegralModel();
  31. $integral->save([
  32. 'userid' => $user_id,
  33. 'title' => $type['title'],
  34. 'intvalue' => $intvalue,
  35. 'intmoney' => 0.00,
  36. 'onlycontent' => "",
  37. 'remark' => $type['remark'],
  38. 'itype' => $itype,
  39. 'createtime' => time(),
  40. 'yeartime' => date("Y"),
  41. 'monthtime' => date("Ym"),
  42. ]);
  43. $user = UserModel::where('id', $user_id)->find();
  44. $user->integral += $intvalue;
  45. $user->inttotal += $intvalue;
  46. $user->save();
  47. }
  48. }