WechatActivityIntegral.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace app\model;
  3. use think\Model;
  4. class WechatActivityIntegral extends Model
  5. {
  6. /**
  7. * 增加积分
  8. * $data 包含员工id,事件类型,客户id (团队id), 员工部门 ['customer_id'=> 1, 'employee_id'=> 1, 'type'=> 1, 'team_id'=> 1]
  9. * $type 1加微,2到店,3量房,4签单,5转单,6后台添加团队积分,7到场
  10. */
  11. public static function addIntegral($data, $root_id){
  12. // 判断本企业是否有微爆活动
  13. $where[] = ['start_date', '<', date('Y-m-d H:i:s')];
  14. $where[] = ['end_date', '>', date('Y-m-d H:i:s')];
  15. $where[] = ['root_id', '=', $root_id];
  16. $list = WechatActivity::where($where)->select()->toArray();
  17. if (!empty($list)) {
  18. // 同一时间段会不会有多个 活动?
  19. foreach ($list as $k => $v) {
  20. // 查询团队设置
  21. $org_ids = WechatActivityTeam::where([['activity_id', '=', $v['id']], ['root_id', '=', $root_id]])->column('org_id');
  22. if (!in_array($data['org_id'], $org_ids)) {
  23. continue;
  24. }
  25. // 加微先判断
  26. if ($data['type'] == 1 && ($data['add_wechat_time'] < $v['start_date'] || $data['add_wechat_time'] > $v['end_date'])){
  27. continue;
  28. }
  29. switch($data['type']) {
  30. case 1:
  31. $i_data['integral'] = $v['one_jv_integral'];
  32. break;
  33. case 2:
  34. $i_data['integral'] = $v['one_dd_integral'];
  35. break;
  36. case 3:
  37. $i_data['integral'] = $v['one_lf_integral'];
  38. break;
  39. case 4:
  40. $i_data['integral'] = $v['one_qd_integral'];
  41. break;
  42. case 5:
  43. $i_data['integral'] = $v['one_zd_integral'];
  44. break;
  45. case 7:
  46. $i_data['integral'] = $v['one_dc_integral'];
  47. break;
  48. default:
  49. break;
  50. }
  51. $f_where = [];
  52. $f_where[] = ['activity_id', '=', $v['id']];
  53. $f_where[] = ['employee_id', '=', $data['employee_id']];
  54. $f_where[] = ['customer_id', '=', $data['customer_id']];
  55. $f_where[] = ['type', '=', $data['type']];
  56. $f_where[] = ['root_id', '=', $root_id];
  57. $i_data['activity_id'] = $v['id'];
  58. $i_data['employee_id'] = $data['employee_id'];
  59. $i_data['customer_id'] = $data['customer_id'];
  60. $i_data['type'] = $data['type'];
  61. $i_data['root_id'] = $root_id;
  62. $i_data['org_id'] = $data['org_id'];
  63. $find = self::where($f_where)->find();
  64. if (empty($find)) {
  65. $result = self::create($i_data);
  66. }
  67. }
  68. }
  69. }
  70. }
  71. ?>