diff --git a/api/controllers/plan/Syt.php b/api/controllers/plan/Syt.php index 505df13d..e6d140ac 100644 --- a/api/controllers/plan/Syt.php +++ b/api/controllers/plan/Syt.php @@ -615,4 +615,65 @@ class Syt extends CI_Controller echo "订单不存在"; } } + + //根据订单生成kpi数据 + public function add_kpidata(){ + $this->load->model('market/market_sylive_activity_user_model', 'act_user_model'); + $this->load->model('market/market_sylive_order_model'); + $this->load->library('market/sylive2_entity'); + $this->load->model('market/market_sylive_user_model', 'user_model'); + $this->load->model('market/market_sylive_activity_user_model', 'act_user_model'); + $this->load->model('market/market_sylive_groups_model', 'groups_model'); + $this->load->model('market/market_sylive_groups_user_model', 'groups_user_model'); + $this->load->model('market/market_sys_dictionary_data_model'); + $this->load->model('market/market_sylive_activity_kpidata_model','mdSytActivityKpiData'); + $page = $this->input->get('page'); + $size = $this->input->get('size'); + !$page && $page=1; + !$size && $size=30; + $where = [ + "activityId" => 11, + "itemId" => 19, + ]; + $rows = $this->market_sylive_order_model->select($where,'id desc',$page,$size); + if($rows){ + $count = $this->market_sylive_order_model->count($where); + foreach ($rows as $key => $order) { + $re_kpi = $this->mdSytActivityKpiData->count(array("activityId" => $order['activityId'], 'tagId' => $order['id'], 'kpi' => 'order')); + if($re_kpi){ //kpi存在 + $res = "订单kpi数据已存在"; + }else{ + //增加记录 + $addData = [ + 'activityId' => $order['activityId'], + 'userId' => $order['userId'], + 'cfUserId' => $order['cfUserId'], + 'kpi' => 'order', + ]; + $addData['createTime'] = strtotime($order['createTime']); + $addData['updateTime'] = date('Y-m-d H:i:s',$addData['createTime']); + $addData['day'] = date('Y-m-d',$addData['createTime']); + $addData['bizId'] = $order['bizId']; + $addData['levelId1'] = $order['levelId1']; + $addData['levelId2'] = $order['levelId2']; + $addData['levelId3'] = $order['levelId3']; + $addData['tagId'] = $order['id']; + $addData['itemId'] = $order['itemId']; + $jsondata = ['order_id'=>$order['id'],'sid'=>$order['sid']]; + $addData['jsondata'] = json_encode($jsondata, JSON_UNESCAPED_UNICODE); + $id = $this->mdSytActivityKpiData->add($addData); + if (!$id) { + $res = "添加记录失败"; + }else{ + $this->sylive2_entity->kpi_count($order['activityId'],"order",$order["cfUserId"]); + $res = "添加记录成功"; + } + } + echo "订单id-{$order['id']},kpi结果:{$res}
\n"; + } + echo "剩余:".($count-$size*$page); + }else{ + echo "执行完毕"; + } + } } diff --git a/common/libraries/market/Sylive2_entity.php b/common/libraries/market/Sylive2_entity.php index 81b2789a..fb603e1d 100644 --- a/common/libraries/market/Sylive2_entity.php +++ b/common/libraries/market/Sylive2_entity.php @@ -52,7 +52,7 @@ class Sylive2_entity{ if(!$user || !$act_user){ return array('code' => 0, 'msg' => '顾问不存在'); } - if(!in_array($params['kpi'],['order'])){ //订单可添加多条kpi + if(!in_array($params['kpi'],['order']) || $params["itemId"]==19){ //订单可添加多条kpi 商品id=19也只能加一次 $re_kpi = $this->ci->mdSytActivityKpiData->get(array("activityId" => $params['a_id'], 'userId' => $params['uid'], 'kpi' => $params['kpi'])); if ($re_kpi) {//已添加过活动kpi(访活动只记录一次用户kpi记录) return array('code' => 0, 'msg' => '已添加过' . $params['kpi'] . '记录');