|
|
@@ -16,6 +16,7 @@ use app\services\BaseServices;
|
|
|
use app\dao\wechat\WechatUserDao;
|
|
|
use app\services\user\UserServices;
|
|
|
use app\services\user\UserVisitServices;
|
|
|
+use app\services\user\UserWechatuserServices;
|
|
|
use crmeb\exceptions\ApiException;
|
|
|
use crmeb\services\app\MiniProgramService;
|
|
|
use crmeb\services\CacheService;
|
|
|
@@ -128,11 +129,28 @@ class WechatServices extends BaseServices
|
|
|
if (isset($wechatInfo['privilege'])) unset($wechatInfo['privilege']);
|
|
|
}
|
|
|
$wechatInfo['user_type'] = 'wechat';
|
|
|
- $wechatInfo['goods_user_type'] = $goods_user_type;
|
|
|
$openid = $wechatInfo['openid'];
|
|
|
/** @var WechatUserServices $wechatUserServices */
|
|
|
$wechatUserServices = app()->make(WechatUserServices::class);
|
|
|
$user = $wechatUserServices->getAuthUserInfo($openid, 'wechat');
|
|
|
+
|
|
|
+
|
|
|
+ if(!empty($user['uid'])){
|
|
|
+ /** @var UserWechatuserServices $userWechatUserServices */
|
|
|
+ $userWechatUserServices = app()->make(UserWechatuserServices::class);
|
|
|
+ $wechatUserInfo = $userWechatUserServices->getUserByUid($user['uid']);
|
|
|
+ $real_goods_user_type = $wechatUserInfo['goods_user_type'];
|
|
|
+ if(!is_null($goods_user_type)){
|
|
|
+ $goods_user_type = (int)$goods_user_type;
|
|
|
+ if($goods_user_type>0){
|
|
|
+ $wechatInfo['goods_user_type'] = $goods_user_type;
|
|
|
+ }else{
|
|
|
+ if(empty($real_goods_user_type)){
|
|
|
+ $wechatInfo['goods_user_type'] = $goods_user_type;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
$createData = [$openid, $wechatInfo, $spread, $agent_id, 'wechat', 'wechat'];
|
|
|
$storeUserMobile = sys_config('store_user_mobile');
|
|
|
if ($storeUserMobile && (($user && $user['phone'] == '') || !$user)) {
|
|
|
@@ -140,7 +158,10 @@ class WechatServices extends BaseServices
|
|
|
CacheService::set($userInfoKey, $createData, 7200);
|
|
|
return ['bindPhone' => true, 'key' => $userInfoKey];
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
$user = $wechatUserServices->wechatOauthAfter($createData);
|
|
|
+
|
|
|
$wechatUserServices->wechatUpdata([$user['uid'], $wechatInfo]);
|
|
|
$unionid = $wechatInfo['unionid'];
|
|
|
$this->readUserScore($user['uid'],$unionid);
|
|
|
@@ -170,11 +191,10 @@ class WechatServices extends BaseServices
|
|
|
$mark = $record['mark'];
|
|
|
$order_id = $record['order_id'];
|
|
|
$params = [$order_id];
|
|
|
- $affectedRows =Db::execute('update `eb_score_record` set `status` = 1,send_time = now() where `order_id` = ?', $params);
|
|
|
+ $affectedRows =Db::execute('update `eb_score_record` set `status` = 1,send_time = now() where `order_id` = ? and `status` = 0', $params);
|
|
|
if($affectedRows>0){
|
|
|
$result = $this->doAddScore($uid, $score, $integration_status, $title, $mark);
|
|
|
}
|
|
|
- Log::info($result.'Score record processed:'.$record);
|
|
|
}
|
|
|
}
|
|
|
}
|