12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- namespace app\model;
- use think\Model;
- class WechatActivityIntegral extends Model
- {
- /**
- * 增加积分
- * $data 包含员工id,事件类型,客户id (团队id), 员工部门 ['customer_id'=> 1, 'employee_id'=> 1, 'type'=> 1, 'team_id'=> 1]
- * $type 1加微,2到店,3量房,4签单,5转单,6后台添加团队积分,7到场
- */
- public static function addIntegral($data, $root_id){
- // 判断本企业是否有微爆活动
- $where[] = ['start_date', '<', date('Y-m-d H:i:s')];
- $where[] = ['end_date', '>', date('Y-m-d H:i:s')];
- $where[] = ['root_id', '=', $root_id];
- $list = WechatActivity::where($where)->select()->toArray();
- if (!empty($list)) {
- // 同一时间段会不会有多个 活动?
- foreach ($list as $k => $v) {
- // 查询团队设置
- $org_ids = WechatActivityTeam::where([['activity_id', '=', $v['id']], ['root_id', '=', $root_id]])->column('org_id');
- if (!in_array($data['org_id'], $org_ids)) {
- continue;
- }
- // 加微先判断
- if ($data['type'] == 1 && ($data['add_wechat_time'] < $v['start_date'] || $data['add_wechat_time'] > $v['end_date'])){
- continue;
- }
- switch($data['type']) {
- case 1:
- $i_data['integral'] = $v['one_jv_integral'];
- break;
- case 2:
- $i_data['integral'] = $v['one_dd_integral'];
- break;
- case 3:
- $i_data['integral'] = $v['one_lf_integral'];
- break;
- case 4:
- $i_data['integral'] = $v['one_qd_integral'];
- break;
- case 5:
- $i_data['integral'] = $v['one_zd_integral'];
- break;
- case 7:
- $i_data['integral'] = $v['one_dc_integral'];
- break;
- default:
- break;
- }
- $f_where = [];
- $f_where[] = ['activity_id', '=', $v['id']];
- $f_where[] = ['employee_id', '=', $data['employee_id']];
- $f_where[] = ['customer_id', '=', $data['customer_id']];
- $f_where[] = ['type', '=', $data['type']];
- $f_where[] = ['root_id', '=', $root_id];
- $i_data['activity_id'] = $v['id'];
- $i_data['employee_id'] = $data['employee_id'];
- $i_data['customer_id'] = $data['customer_id'];
- $i_data['type'] = $data['type'];
- $i_data['root_id'] = $root_id;
- $i_data['org_id'] = $data['org_id'];
- $find = self::where($f_where)->find();
- if (empty($find)) {
- $result = self::create($i_data);
- }
- }
- }
- }
- }
- ?>
|