瀏覽代碼

同步购房系统

linwu 3 年之前
父節點
當前提交
1acfea6ce8
共有 2 個文件被更改,包括 74 次插入2 次删除
  1. 69 2
      app/Admin/Controllers/Content/BuyHouseController.php
  2. 5 0
      app/Models/TalentHouseApply.php

+ 69 - 2
app/Admin/Controllers/Content/BuyHouseController.php

@@ -153,6 +153,7 @@ class BuyHouseController extends Controller
     {
         $form = new ValidateForm(new TalentHouse());
         $form->text('name', '项目名称')->rules('required|max:100', ['required' => '标题不能为空。', 'max' => '标题长度不能大于100。'])->setWidth(4)->setMustMark();
+        $form->number('project_id', '选房系统项目id')->rules('required', ['required' => '项目id不能为空。若未确定id,请填0'])->setWidth(4)->setMustMark();
         $form->datetime('declare_time', '申报时间')->rules('required', ['required' => '申报时间不能为空。'])->setWidth(4)->setMustMark();
         $form->datetime('apply_time_start', '报名开始时间')->rules('required', ['required' => '报名开始时间不能为空。'])->setWidth(4)->setMustMark();
         $form->datetime('apply_time_end', '报名结束时间')->rules('required', ['required' => '报名结束时间不能为空。'])->setWidth(4)->setMustMark();
@@ -184,6 +185,7 @@ class BuyHouseController extends Controller
     {
         $form = new ValidateForm(new TalentHouse());
         $form->text('name', '项目名称')->rules('required|max:100', ['required' => '标题不能为空。', 'max' => '标题长度不能大于100。'])->setWidth(4)->setMustMark();
+        $form->number('project_id', '选房系统项目id')->rules('required', ['required' => '项目id不能为空。若未确定id,请填0'])->setWidth(4)->setMustMark();
         $form->datetime('declare_time', '申报时间')->rules('required', ['required' => '申报时间不能为空。'])->setWidth(4)->setMustMark();
         $form->datetime('apply_time_start', '报名开始时间')->rules('required', ['required' => '报名开始时间不能为空。'])->setWidth(4)->setMustMark();
         $form->datetime('apply_time_end', '报名结束时间')->rules('required', ['required' => '报名结束时间不能为空。'])->setWidth(4)->setMustMark();
@@ -284,6 +286,9 @@ class BuyHouseController extends Controller
         }
 
         $house = TalentHouse::find($id);
+        if ($house['project_id'] == 0) {
+            return response()->json(['code' => 0, 'content' => '请先填选房系统项目id']);
+        }
         if (strtotime($house['supply_time']) > time()) {
             return response()->json(['code' => 0, 'content' => '报名还未结束']);
         }
@@ -292,8 +297,70 @@ class BuyHouseController extends Controller
         }
 
         //TODO:同步选房系统,等接口
-        TalentHouse::where('id', $id)->update(['sync_status' => 1]);
+        $apply = TalentHouseApply::with('idcard')->where('select_house_no', '<', 999999)->orderBy('select_house_no', 'asc')->get();
+        if (empty($apply)) {
+            return response()->json(['code' => 0, 'content' => '请先填写选房顺序号']);
+        }
+        $api_data = [
+            'xmId'   => $house['project_id'],
+            'xmName' => $house['name'],
+            'data'   => [],
+        ];
+        foreach ($apply as $v) {
+            $data_item          = [];
+            $data_item['index'] = $v['select_house_no'];
+            $data_item['xm1']   = $v['name'];
+            $data_item['card1'] = $v['idcard']['id_card'];
+            $family             = $v['family'] ? json_decode($v['family'],true) : [];
+
+            //家庭关系
+            if (empty($family)) {
+                $data_item['xm2'] = $data_item['card2'] = $data_item['xm3'] = $data_item['card3'] = '';
+            } else {
+                $child_names = [];
+                $child_cards = [];
+                foreach ($family as $fa) {
+                    if ($fa['relation'] == '配偶') {
+                        $data_item['xm2']   = $fa['realname'];
+                        $data_item['card2'] = $fa['idcard'];
+                    } else {
+                        $child_names[] = $fa['realname'];
+                        $child_cards[] = $fa['idcard'];
+                    }
+                }
+                $data_item['xm3']   = implode('/', $child_names);
+                $data_item['card3'] = implode('/', $child_cards);
+            }
 
-        return response()->json(['code' => 1]);
+            $data_item['hjh']    = '';
+            $data_item['phone']  = $v['mobile'];
+            $data_item['hunyin'] = $v['marry'] == 1 ? '未婚' : '已婚';
+            $data_item['kx']     = '是';
+
+            $api_data['data'][] = $data_item;
+        }
+
+        $ch = curl_init();
+        curl_setopt($ch, CURLOPT_URL, "http://jjzf.fjeda.com:9001/admin/xuanfang/importGaojiRencai");
+        curl_setopt($ch, CURLOPT_HTTPHEADER, [
+                'Content-Type: application/json; charset=utf-8'   //json版本需要填写  Content-Type: application/json;
+            ]
+        );
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+        curl_setopt($ch, CURLOPT_TIMEOUT, 60);
+        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
+        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
+        curl_setopt($ch,CURLOPT_POST, true);
+        curl_setopt($ch,CURLOPT_POSTFIELDS, json_encode($api_data));
+        $result = curl_exec($ch);
+        curl_close($ch);
+        $ret = json_decode($result, true);
+
+        if ($ret['code'] == '0000') {
+            TalentHouse::where('id', $id)->update(['sync_status' => 1]);
+            return response()->json(['code' => 1]);
+        } else {
+            return response()->json(['code' => 0, 'content' => $ret['msg']]);
+        }
     }
 }

+ 5 - 0
app/Models/TalentHouseApply.php

@@ -12,4 +12,9 @@ class TalentHouseApply extends Model
     {
         return $this->hasOne(TalentHouse::class,'id','house_id')->select(['id','name','declare_time']);
     }
+
+    public function idcard()
+    {
+        return $this->hasOne(MemberInfo::class,'uid','user_id')->select(['uid','card_t_cn','id_card']);
+    }
 }