diff --git a/api/controllers/plan/Liche.php b/api/controllers/plan/Liche.php
index f19d59df..49536d5b 100644
--- a/api/controllers/plan/Liche.php
+++ b/api/controllers/plan/Liche.php
@@ -12,6 +12,67 @@ class Liche extends HD_Controller
parent::__construct();
}
+ /**
+ * Notes:更新异业店车主企业微信
+ * Created on: 2022/6/21 16:00
+ * Created by: dengbw
+ * https://liche-api-dev.xiaoyu.com/plan/liche/owners_wxqy_different?rds=1
+ * https://api.liche.cn/plan/liche/owners_wxqy_different
+ */
+ public function owners_wxqy_different()
+ {
+ $params = $this->input->get();
+ $size = 100;//每次最多处理多少条
+ $rds = intval($this->input->get('rds'));
+ $redis = &load_cache('redis');
+ $redisKey = 'update_owners_different_wxqy_c_time';
+ if ($rds) {
+ $redis->delete($redisKey);
+ }
+ $c_time = $redis->get($redisKey);
+ !$c_time && $c_time = strtotime(date('Y-m-d') . ' 00:00:00');
+ $log = [];
+ $this->load->model('app/app_different_qy_log_model', 'mdWechatqyLog');
+ $this->load->model('app/app_different_qy_model', 'mdWechatqy');
+ $this->load->model('receiver/receiver_owners_model', 'mdOwners');
+ $this->load->model('app/liche/app_liche_users_model', 'mdUsers');
+ $res = $this->mdWechatqyLog->select(["c_time>=" => $c_time, "change_type in('add_external_contact','edit_external_contact')" => null]
+ , 'c_time asc', 1, $size, 'change_type,external_userid,c_time');
+ if (!$res) {
+ if ($params['rds']) {
+ echo '1执行到当前c_time:' . date('Y-m-d H:i:s', $c_time) . '暂无数据';
+ }
+ return;
+ }
+ foreach ($res as $key => $value) {
+ $c_time = $value['c_time'];
+ if ($value['external_userid']) {
+ $re_qy = $this->mdWechatqy->get(['external_userid' => $value['external_userid']]);
+ $mobile = $re_qy['mobile'];
+ if ($mobile) {
+ $re_own = $this->mdOwners->get(['mobile' => $mobile]);
+ if ($re_own) {
+ $this->mdOwners->update(['wxqy' => 1], ['id' => $re_own['id']]);
+ if ($params['rds']) {
+ $log[] = ['mobile' => $mobile];
+ }
+ }
+ }
+ }
+ }
+ $redis->save($redisKey, $c_time);
+ if ($params['rds']) {
+ echo '
2执行到当前c_time:' . date('Y-m-d H:i:s', $c_time);
+ echo '
成功新增:
';
+ if ($log) {
+ echo json_encode($log, JSON_UNESCAPED_UNICODE);
+ echo '
';
+ }
+ echo '数据库获取:
';
+ echo json_encode($res, JSON_UNESCAPED_UNICODE);
+ }
+ }
+
/**
* Notes:更新车主企业微信
* Created on: 2022/6/21 16:00
@@ -106,6 +167,7 @@ class Liche extends HD_Controller
$this->load->model('app/liche/app_liche_users_model', 'mdUsers');
$this->load->model('receiver/receiver_owners_model', 'mdOwners');
$this->load->model('app/app_lichene_qy_model', 'mdWechatqy');
+ $this->load->model('app/app_different_qy_model', 'mdDifferentQy');
$this->load->model("biz/biz_model", 'mdBiz');
$t1 = 'lc_receiver_orders_v2';
$t2 = 'lc_receiver_order_status';
@@ -143,23 +205,30 @@ class Liche extends HD_Controller
$data = ['o_id' => $value['id'], 'uid' => $uid, 'name' => $value['owner_name'], 'mobile' => $value['owner_mobile'],
'birth_day' => $birth_day, 'sex' => $sex, 'brand_id' => $value['brand_id'], 's_id' => $value['s_id'],
'v_id' => $value['v_id'], 'order_time' => $value['order_time'], 'ck_time' => $value['ck_time'], 'car_num' => $car_num];
+ $biz_type = 0;
if ($value['biz_id']) {
$re_biz = $this->mdBiz->get(['id' => $value['biz_id']]);
if ($re_biz) {
+ $biz_type = $re_biz['type'];
$data['province_id'] = $re_biz['province_id'];
$data['city_id'] = $re_biz['city_id'];
$data['county_id'] = $re_biz['county_id'];
}
}
if ($value['owner_mobile']) {//查找企微
- $re_qy = $this->mdWechatqy->get(['mobile' => $value['owner_mobile']]);
- if ($re_qy) {
- $data['wxqy'] = 1;
+ if ($biz_type == 5) {//异业店
+ $re_qy = $this->mdDifferentQy->get(['mobile' => $value['owner_mobile']]);
+ $re_qy && $data['wxqy'] = 1;
} else {
- $re_use = $this->mdUsers->get(['mobile' => $value['owner_mobile'], 'status<>' => -1]);
- if ($re_use['unionid']) {
- $re_qy = $this->mdWechatqy->get(['unionid' => $re_use['unionid']]);
- $re_qy && $data['wxqy'] = 1;
+ $re_qy = $this->mdWechatqy->get(['mobile' => $value['owner_mobile']]);
+ if ($re_qy) {
+ $data['wxqy'] = 1;
+ } else {
+ $re_use = $this->mdUsers->get(['mobile' => $value['owner_mobile'], 'status<>' => -1]);
+ if ($re_use['unionid']) {
+ $re_qy = $this->mdWechatqy->get(['unionid' => $re_use['unionid']]);
+ $re_qy && $data['wxqy'] = 1;
+ }
}
}
}
diff --git a/api/controllers/plan/Licheb.php b/api/controllers/plan/Licheb.php
index 986ee921..6f466ba9 100644
--- a/api/controllers/plan/Licheb.php
+++ b/api/controllers/plan/Licheb.php
@@ -258,7 +258,7 @@ class Licheb extends HD_Controller
$qy_adds = $qy_dels = $customers = 0;
if ($value['userid']) {
$qy_where = ['userid' => $value['userid'], 'c_time>=' => $s_time, 'c_time<=' => $e_time];
- if ($type == 5) {
+ if ($type == 5) {//异业店
$qy_adds = $this->mdDifferentQyLog->count(array_merge($qy_where, ['change_type' => 'add_external_contact']));
$qy_dels = $this->mdDifferentQyLog->count(array_merge($qy_where, ["change_type in('del_external_contact','del_follow_user')" => null]));
} else {
diff --git a/api/controllers/plan/Plan.php b/api/controllers/plan/Plan.php
index b2ea8f9e..945a017a 100644
--- a/api/controllers/plan/Plan.php
+++ b/api/controllers/plan/Plan.php
@@ -39,6 +39,7 @@ class Plan extends CI_Controller
$plan[] = array('url' => base_url(array('plan', 'liche', 'add_owners')), 'interval' => 5);//新增车主
$plan[] = array('url' => base_url(array('plan', 'liche', 'owners_wxqy')), 'interval' => 60);//更新车主企业微信
+ $plan[] = array('url' => base_url(array('plan', 'liche', 'owners_wxqy_different')), 'interval' => 60);//更新异业店车主企业微信
$plan[] = array('url' => base_url(array('plan', 'items', 'stock_log')), 'interval' => 5);//库存车辆日志
diff --git a/api/controllers/wechat/Different.php b/api/controllers/wechat/Different.php
index 6cff7a95..87f34090 100644
--- a/api/controllers/wechat/Different.php
+++ b/api/controllers/wechat/Different.php
@@ -154,6 +154,41 @@ Class Different extends HD_Controller
}
}
+ /**
+ * Notes:企业微信接收事件(测试用)
+ * https://liche-api-dev.xiaoyu.com/wechat/different/get_qy?bid=133
+ * https://api.liche.cn/wechat/different/get_qy?bid=133
+ * https://open.work.weixin.qq.com/wwopen/devtool/interface?doc_id=14961 测试回调模式
+ * Created on: 2022/3/23 17:23
+ * Created by: dengbw
+ */
+ public function get_qy()
+ {
+ $param = $this->input->get();
+ require_once(COMMPATH . '/third_party/WXqy/WXBizMsgCrypt.php');
+ $sVerifyMsgSig = $param['msg_signature'];
+ $sVerifyTimeStamp = $param['timestamp'];
+ $sVerifyNonce = $param['nonce'];
+ $sVerifyEchoStr = $param['echostr'];
+ $token = 'y1U8zJBQWsHC';
+ $encodingAesKey = 'sA52I1PPw4ahdWrJjOKRlDtyyKUMBasTGdl5aCqszpi';
+ $corpid = 'ww0fb634daed56031e';
+ // 需要返回的明文
+ $sEchoStr = "";
+ $wxcpt = new WXBizMsgCrypt($token, $encodingAesKey, $corpid);
+ if ($sVerifyEchoStr) {//验证回调URL
+ $errCode = $wxcpt->VerifyURL($sVerifyMsgSig, $sVerifyTimeStamp, $sVerifyNonce, $sVerifyEchoStr, $sEchoStr);
+ debug_log('qymsg_errCode:' . $errCode, $this->log_file);
+ if ($errCode == 0) {
+ // 验证URL成功,将sEchoStr返回
+ echo urldecode($sEchoStr);
+ } else {
+ echo $errCode;
+ }
+ exit;
+ }
+ }
+
/**
* Notes:临时更新用户客户id
diff --git a/common/libraries/Wx_qyapi.php b/common/libraries/Wx_qyapi.php
index c61fac22..78437531 100644
--- a/common/libraries/Wx_qyapi.php
+++ b/common/libraries/Wx_qyapi.php
@@ -54,10 +54,10 @@ class Wx_qyapi
),
//异业店_凯利之星
'diff_133' => array(
- 'corpid' => 'ww0fb634daed56031e',
- 'corpsecret' => 'ho5SeDUuoZ2TgkzJJt_mEtLaJW_eYXW_drLmibNmbZU',
- 'token' => 'y1U8zJBQWsHC',//接收事件使用
- 'encodingAesKey' => 'sA52I1PPw4ahdWrJjOKRlDtyyKUMBasTGdl5aCqszpi',//接收事件使用
+ 'corpid' => 'ww1493c3e4fb56ef29',
+ 'corpsecret' => 'wbQ6zvc8vdJmpuWYAHH2yr4_izBQlVTByWIWPoGNyZw',
+ 'token' => 'wEa15o5kmUXOutqg',//接收事件使用
+ 'encodingAesKey' => 'qeHFP89LQAGK1LzLcsxBZ2nrqpTMWfkQ1WYd4mz5atX',//接收事件使用
),
);
$params['corpid'] && $this->corpid = $params['corpid'];
diff --git a/common/libraries/Wx_qyapi_agent.php b/common/libraries/Wx_qyapi_agent.php
index 3a79ec71..a6b72eb7 100644
--- a/common/libraries/Wx_qyapi_agent.php
+++ b/common/libraries/Wx_qyapi_agent.php
@@ -50,10 +50,10 @@ class Wx_qyapi_agent
'agentid' => 1000024
),
//异业店_凯利之星_客户画像
- 'diff_133_1000004' => array(
- 'corpid' => 'ww0fb634daed56031e',
- 'corpsecret' => 'v-OCOKbBBd6FGiazrETTDO03Fz-2XF73aECYfOQpahc',
- 'agentid' => 1000004
+ 'diff_133_1000002' => array(
+ 'corpid' => 'ww1493c3e4fb56ef29',
+ 'corpsecret' => 'W6iKxOYqNLidbN4-7mYUYbiLKaMZmm7UHFF_TfpOk8M',
+ 'agentid' => 1000002
),
);
$params['corpid'] && $this->corpid = $params['corpid'];
diff --git a/common/models/biz/Biz_model.php b/common/models/biz/Biz_model.php
index c2e3f382..75ebd47a 100755
--- a/common/models/biz/Biz_model.php
+++ b/common/models/biz/Biz_model.php
@@ -63,7 +63,7 @@ class Biz_model extends HD_Model
*/
function type_ary($key = null)
{
- $map = array('1' => '品牌店', '2' => '合伙店', '3' => '代理店', '4' => '合作店');
+ $map = array('1' => '品牌店', '2' => '合伙店', '3' => '代理店', '4' => '合作店', '5' => '异业店');
if (!is_null($key)) {
return $map[$key];
}
diff --git a/home/controllers/h5/Different.php b/home/controllers/h5/Different.php
index 6ccaf29c..4f93439b 100644
--- a/home/controllers/h5/Different.php
+++ b/home/controllers/h5/Different.php
@@ -22,7 +22,7 @@ class Different extends CI_Controller
$this->bid = intval($bid);
if ($this->bid == 133) {
$this->config_qyapi = ['app' => "diff_{$this->bid}"];
- $this->config_qyapi_agent = ['app' => "diff_{$this->bid}_1000004"];
+ $this->config_qyapi_agent = ['app' => "diff_{$this->bid}_1000002"];
} else {
$this->show_json(400, '参数错误~');
}
@@ -240,7 +240,7 @@ class Different extends CI_Controller
$jsondata['tag_group'] = $tag_group;
$up_data['jsondata'] = json_encode($jsondata, JSON_UNESCAPED_UNICODE);
$re_cus2['wxqy'] != 1 && $up_data['wxqy'] = 1;
- if(!$re_cus2['unionid'] && $userInfo['unionid']){
+ if (!$re_cus2['unionid'] && $userInfo['unionid']) {
$up_data['unionid'] = $userInfo['unionid'];
}
$result = $this->mdCustomers->update($up_data, ['id' => $c_id]);
@@ -332,7 +332,7 @@ class Different extends CI_Controller
$this->wx_qyapi->get_external_contact(['url' => 'mark_tag', 'userid' => $userInfo['userid'],
'external_userid' => $userInfo['external_userid'], 'add_tag' => $add_tag, 'remove_tag' => $remove_tag]);
}
- if ($re_cus) {
+ if ($re_cus && $re_cus['admin_id'] != $uid) {
$this->show_json(200, '已有同事在跟进该客户');
}
if ($result) {
diff --git a/home/controllers/h5/Persona.php b/home/controllers/h5/Persona.php
index 6ac2d446..998c2adc 100644
--- a/home/controllers/h5/Persona.php
+++ b/home/controllers/h5/Persona.php
@@ -350,7 +350,7 @@ class Persona extends CI_Controller
$this->wx_qyapi->get_external_contact(['url' => 'mark_tag', 'userid' => $userInfo['userid'],
'external_userid' => $userInfo['external_userid'], 'add_tag' => $add_tag, 'remove_tag' => $remove_tag]);
}
- if ($re_cus) {
+ if ($re_cus && $re_cus['admin_id'] != $uid) {
$this->show_json(200, '已有同事在跟进该客户');
}
if ($result) {
diff --git a/www/home/WW_verify_XY1NT1LdcnUTlQZJ.txt b/www/home/WW_verify_XY1NT1LdcnUTlQZJ.txt
new file mode 100644
index 00000000..ac4a0c31
--- /dev/null
+++ b/www/home/WW_verify_XY1NT1LdcnUTlQZJ.txt
@@ -0,0 +1 @@
+XY1NT1LdcnUTlQZJ
\ No newline at end of file