|
@@ -6,6 +6,7 @@ use App\Http\Requests\Api\CustomAddr as Request;
|
|
|
use App\Models\City;
|
|
|
use App\Models\Custom;
|
|
|
use App\Models\WeiBan\Follow as WeiBanFollow;
|
|
|
+use App\Facades\Servers\WeiBan\OpenApi;
|
|
|
|
|
|
/**
|
|
|
* 客户地址
|
|
@@ -39,13 +40,19 @@ class CustomAddr extends Api{
|
|
|
* @param string $code 授权码
|
|
|
*
|
|
|
* */
|
|
|
- public function add(Request $request,Model $Model,Custom $Custom,City $City){
|
|
|
+ public function add(Request $request,Model $Model,Custom $Custom,City $City,WeiBanFollow $WeiBanFollow){
|
|
|
// 接口验签
|
|
|
// $this->verify_sign();
|
|
|
// 验证参数
|
|
|
$request->scene('add')->validate();
|
|
|
// 检查登录
|
|
|
$uid = $this->checkLogin();
|
|
|
+ // 获取客户信息
|
|
|
+ $custom = $Custom->getOne($uid);
|
|
|
+ // 如果客户信息不存在的话
|
|
|
+ if( !$custom ) return json_send(['code'=>'error','msg'=>'客户信息不存在','data'=>['error'=>'客户信息不存在']]);
|
|
|
+ // 如果用户状态被拉黑,不允许登录
|
|
|
+ if( $custom['status'] ) return json_send(['code'=>'error','msg'=>'禁用账号','data'=>['error'=>'禁用账号']]);
|
|
|
// 接收参数
|
|
|
$data['contact_province'] = trim(request('contact_province',''));
|
|
|
$data['contact_city'] = trim(request('contact_city',''));
|
|
@@ -57,11 +64,9 @@ class CustomAddr extends Api{
|
|
|
$data['contact_phone'] = trim(request('contact_phone',''));
|
|
|
$data['is_default'] = request('is_default',0);
|
|
|
$data['custom_uid'] = $uid;
|
|
|
- // 获取客户城市ID
|
|
|
- $cityId = (int) $Custom->getValue($uid,'city_id');
|
|
|
- $cityName = $City->getOne($cityId,'name');
|
|
|
- $pid = $City->getOne($cityId,'pid');
|
|
|
- $province = $City->getOne($pid,'name');
|
|
|
+ $cityName = $custom['city_id'] ? $City->getOne($custom['city_id'],'name') : '';
|
|
|
+ $pid = $custom['city_id'] ? $City->getOne($custom['city_id'],'pid') : 0;
|
|
|
+ $province = $pid ? $City->getOne($pid,'name') : '';
|
|
|
// 判断选择的城市名称是不是一致
|
|
|
if( trim($cityName) != trim($data['contact_city']) ) return json_send(['code'=>'error','msg'=>'收货地址请选择'.($province=='直辖县级'?$cityName:$province).'/'.$cityName,'data'=>['error'=>'收货地址需与您所选城市一致']]);
|
|
|
// 替换地址中间的空格
|
|
@@ -77,11 +82,51 @@ class CustomAddr extends Api{
|
|
|
$result = $Model->add($data);
|
|
|
// 如果用户状态被拉黑,不允许登录
|
|
|
if( !$result ) return json_send(['code'=>'error','msg'=>'保存失败,请重试','data'=>['error'=>'写入失败']]);
|
|
|
+ // 如果存在微伴ID
|
|
|
+ if( !$custom['weiban_extid'] ) return json_send(['code'=>'success','msg'=>'保存成功','data'=>$data]);
|
|
|
+ // 获取客服对应的备注等信息
|
|
|
+ $staffId = $WeiBanFollow->query()->where([['weiban_extid','=',$custom['weiban_extid']]])->value('staff_id');
|
|
|
+ // 如果存在微伴ID
|
|
|
+ if( !$staffId ) return json_send(['code'=>'success','msg'=>'保存成功','data'=>$data]);
|
|
|
+ // 自动标签
|
|
|
+ if( !$havaNum ) $this->autoTags($province,$cityName,$data['shop_type'],$staffId,$custom['weiban_extid']);
|
|
|
// 返回结果
|
|
|
return json_send(['code'=>'success','msg'=>'保存成功','data'=>$data]);
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 自动标签
|
|
|
+ */
|
|
|
+ private function autoTags($province,$cityName,$shopType,$staffId,$weibanExtid){
|
|
|
+ // 如果有地址信息
|
|
|
+ switch ($shopType) {
|
|
|
+ case '1':
|
|
|
+ $shopType = '单店';
|
|
|
+ break;
|
|
|
+ case '2':
|
|
|
+ $shopType = '连锁';
|
|
|
+ break;
|
|
|
+ case '3':
|
|
|
+ $shopType = '第三终端';
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ $shopType = '';
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ // 省份
|
|
|
+ $province = str_ireplace(['自治区','壮族','回族','维吾尔','特别行政区','省'],'',$province);
|
|
|
+ // 省份
|
|
|
+ $cityName = str_ireplace(['自治州','自治县','蒙古','蒙古族','回族','藏族','维吾尔','苗族','彝族','壮族','布依族','朝鲜族','满族','侗族','瑶族','白族','土家族','哈尼族','哈萨克','傣族','黎族','傈僳族','佤族','畲族','拉祜族','水族','东乡族','纳西族','景颇族','柯尔克孜','土族','达斡尔族','仫佬族','羌族','布朗族','撒拉族','毛南族','仡佬族','锡伯','阿昌族','普米族','塔吉克','怒族','鄂温克族','德昂族','保安族','裕固族','塔塔尔','独龙族'],'',$cityName);
|
|
|
+ // 打标签
|
|
|
+ if( $province ) OpenApi::addTag($staffId,$weibanExtid,'省份',$province);
|
|
|
+ if( $cityName ) OpenApi::addTag($staffId,$weibanExtid,$province,$cityName);
|
|
|
+ if( $shopType ) OpenApi::addTag($staffId,$weibanExtid,'企业类型',$shopType);
|
|
|
+ // 返回结果
|
|
|
+ return ['success'=>'返回结果'];
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 修改 /api/custom_addr/edit
|
|
|
*
|