diff --git a/app/adminapi/controller/CompanyController.php b/app/adminapi/controller/CompanyController.php index db39e90c5..7c2f5bb80 100644 --- a/app/adminapi/controller/CompanyController.php +++ b/app/adminapi/controller/CompanyController.php @@ -17,14 +17,13 @@ namespace app\adminapi\controller; use app\adminapi\lists\CompanyLists; -use app\adminapi\logic\CompanyLogic; +use app\common\logic\CompanyLogic; use app\adminapi\validate\CompanyValidate; use app\api\controller\JunziqianController; -use app\api\logic\SmsLogic; use app\common\model\auth\Admin; use app\common\model\Company; use think\facade\Db; -use app\common\logic\CompanyLogic as CommonCompanyLogic; +use app\common\logic\contract\ContractLogic; /** * Company控制器 @@ -118,32 +117,32 @@ class CompanyController extends BaseAdminController $params = $this->request->param(); $params['party_a'] = $this->adminInfo['company_id']; $params['type'] = 1; - $result = CommonCompanyLogic::initiate_contract($params); + $result = ContractLogic::initiate_contract($params); if ($result == true) { return $this->success('发起成功,等待平台风控部上传合同'); } - return $this->fail(CommonCompanyLogic::getError()); + return $this->fail(ContractLogic::getError()); } // /**生成合同 */ public function Draftingcontracts() { $params = $this->request->param(); - $result = CommonCompanyLogic::Draftingcontracts($params); + $result = ContractLogic::Draftingcontracts($params); if ($result == true) { return $this->success('生成合同成功'); } - return $this->fail(CommonCompanyLogic::getError()); + return $this->fail(ContractLogic::getError()); } //**发送短信 */ public function postsms() { $params = (new CompanyValidate())->goCheck('detail'); - $res = CommonCompanyLogic::postsms($params); + $res = ContractLogic::postsms($params); if ($res == true) { return $this->success('发送成功', [], 1, 1); } else { - return $this->fail(CommonCompanyLogic::getError()); + return $this->fail(ContractLogic::getError()); } } diff --git a/app/adminapi/controller/auth/AdminController.php b/app/adminapi/controller/auth/AdminController.php index 1166b624c..47f66499c 100755 --- a/app/adminapi/controller/auth/AdminController.php +++ b/app/adminapi/controller/auth/AdminController.php @@ -237,41 +237,4 @@ class AdminController extends BaseAdminController } } } - - //**废除合同 */ - public function abolition() - { - $params = Request::param(); - $result = AdminLogic::detail($params); - $find=Db::name('article')->where('id',2)->value('content'); - $data = [ - 'name' => $result['name'] . '合同', - 'signatories' => [['fullName' => $result['name'], 'identityType' => 1, 'identityCard' => $result['id_card'], 'mobile' => $result['account'], 'noNeedVerify' => 1, 'signLevel' => 1]], - 'url' => $result['contract']['file'], - 'content'=>''.$find, - ]; - $res = app(JunziqianController::class)->html_contract($data,$result['contract']['id']); - $data = array( - "applyNo" => $res->data, //TODO * - "fullName" => $result['name'], //TODO * - "identityCard" => $result['id_card'], //TODO * - "identityType" => 1, //TODO * - ); - $res = app(JunziqianController::class)->SigningLink($data); - $sms = [ - 'mobile' => $result['phone'], - 'name' => $result['name'], - 'type' => '《' . $result['contract']['contract_type_name'] . '》', - 'code' => 'api/Hetong/url?id=' . $result['contract']['id'], - 'scene' => 'WQ' - ]; - $result = SmsLogic::contractUrl($sms); - if (true === $result) { - return $this->success('发送成功'); - } else { - return $this->fail(SmsLogic::getError()); - } - halt($res); - - } } diff --git a/app/adminapi/controller/category_business/CategoryBusinessController.php b/app/adminapi/controller/category_business/CategoryBusinessController.php index 459e3c699..40cba6a68 100644 --- a/app/adminapi/controller/category_business/CategoryBusinessController.php +++ b/app/adminapi/controller/category_business/CategoryBusinessController.php @@ -18,7 +18,7 @@ namespace app\adminapi\controller\category_business; use app\adminapi\controller\BaseAdminController; use app\adminapi\lists\category_business\CategoryBusinessLists; -use app\adminapi\logic\category_business\CategoryBusinessLogic; +use app\common\logic\category_business\CategoryBusinessLogic; use app\adminapi\validate\category_business\CategoryBusinessValidate; diff --git a/app/adminapi/controller/contract/ContractController.php b/app/adminapi/controller/contract/ContractController.php index 76a74e99c..65bea96bc 100644 --- a/app/adminapi/controller/contract/ContractController.php +++ b/app/adminapi/controller/contract/ContractController.php @@ -18,7 +18,7 @@ namespace app\adminapi\controller\contract; use app\adminapi\controller\BaseAdminController; use app\adminapi\lists\contract\ContractLists; -use app\adminapi\logic\contract\ContractLogic; +use app\common\logic\contract\ContractLogic; use app\adminapi\validate\contract\ContractValidate; use app\common\model\contract\Contract; use think\facade\Request; @@ -157,41 +157,4 @@ class ContractController extends BaseAdminController } } } - - //**废除合同 */ - public function abolition() - { - // $params = Request::param(); - // $result = UserLogic::detail($params); - // $find=Db::name('article')->where('id',2)->value('content'); - // $data = [ - // 'name' => $result['name'] . '合同', - // 'signatories' => [['fullName' => $result['name'], 'identityType' => 1, 'identityCard' => $result['id_card'], 'mobile' => $result['account'], 'noNeedVerify' => 1, 'signLevel' => 1]], - // 'url' => $result['contract']['file'], - // 'content'=>''.$find, - // ]; - // $res = app(JunziqianController::class)->html_contract($data,$result['contract']['id']); - // $data = array( - // "applyNo" => $res->data, //TODO * - // "fullName" => $result['name'], //TODO * - // "identityCard" => $result['id_card'], //TODO * - // "identityType" => 1, //TODO * - // ); - // $res = app(JunziqianController::class)->SigningLink($data); - // $sms = [ - // 'mobile' => $result['phone'], - // 'name' => $result['name'], - // 'type' => '《' . $result['contract']['contract_type_name'] . '》', - // 'code' => 'api/Hetong/url?id=' . $result['contract']['id'], - // 'scene' => 'WQ' - // ]; - // $result = SmsLogic::contractUrl($sms); - // if (true === $result) { - // return $this->success('发送成功'); - // } else { - // return $this->fail(SmsLogic::getError()); - // } - // halt($res); - - } } diff --git a/app/adminapi/controller/user/UserController.php b/app/adminapi/controller/user/UserController.php index 6a0051a02..4dade2e82 100755 --- a/app/adminapi/controller/user/UserController.php +++ b/app/adminapi/controller/user/UserController.php @@ -20,9 +20,7 @@ use app\adminapi\validate\user\AdjustUserMoney; use app\adminapi\validate\user\UserValidate; use think\facade\Db; use think\facade\Request; -use app\api\logic\SmsLogic; -use app\api\controller\JunziqianController; -use app\common\model\contract\Contract; +use app\common\logic\contract\ContractLogic; /** * 用户控制器 @@ -95,64 +93,21 @@ class UserController extends BaseAdminController return $this->fail('甲方不存在,请联系平台绑定公司'); } $params['check_status']=1; - $res=Contract::Initiate_contract($params); + $res=ContractLogic::Initiate_contract($params); if (true === $res) { return $this->success('发起成功,等待平台风控部上传合同'); } return $this->fail('发起失败'); } - // /**生成合同 */ + // /**发送合同 */ public function Draftingcontracts() { $params = Request::param(); - $result = UserLogic::detail($params['id']); - if ($result && $result['contract'] && $result['contract']['file'] != '') { - if($result['contract']['check_status']==3){ - return $this->fail('你已经生成过合同,请问重复生成'); - } - $data = [ - 'name' => $result['nickname'] . '的合同', - 'signatories' => [ - ['fullName' => $result['nickname'], 'identityType' => 1, 'identityCard' => $result['id_card'], 'mobile' => $result['mobile'], 'noNeedVerify' => 1, 'signLevel' => 1], - ['fullName' => $result['contract']['party_a_info']['company_name'], 'identityType' => 12, 'identityCard' => $result['contract']['party_a_info']['organization_code'], 'email' => $result['contract']['party_a_info']['master_email'], 'noNeedVerify' => 1, 'signLevel' => 1] - ], - 'url' => $result['contract']['file'] - ]; - $res = app(JunziqianController::class)->Signing($data,$result['contract']['id']); - if ($res->success == true) { - Db::name('contract')->where('id', $result['contract']['id'])->update(['contract_no' => $res->data,'check_status'=>3]); - $data = array( - "applyNo" => $res->data, //TODO * - "fullName" => $result['nickname'], //TODO * - "identityCard" => $result['id_card'], //TODO * - "identityType" => 1, //TODO * - ); - $res = app(JunziqianController::class)->SigningLink($data); - if ($res->success == true) { - Db::name('contract')->where('id', $result['contract']['id'])->update(['url' => $res->data]); - //发送短信 - $sms = [ - 'mobile' => $result['mobile'], - 'name' => $result['nickname'], - 'type' => '《' . $result['contract']['contract_type_name'] . '》', - 'code' => 'api/Hetong/url?id=' . $result['contract']['id'], - 'scene' => 'WQ' - ]; - $result = SmsLogic::contractUrl($sms); - if (true === $result) { - return $this->success('发送成功'); - } else { - return $this->fail(SmsLogic::getError()); - } - } else { - return $this->fail($res->msg); - } - return $this->success('生成合同成功', [], 1, 1); - } else { - return $this->fail($res->msg); - } + $result = ContractLogic::Draftingcontracts($params); + if ($result === true) { + return $this->success('发送合同成功'); } else { - return $this->fail('生成合同成功失败,联系管理员'); + return $this->fail(ContractLogic::getError()); } } } \ No newline at end of file diff --git a/app/adminapi/lists/article/ArticleLists.php b/app/adminapi/lists/article/ArticleLists.php index f9f420f87..1fe95c690 100755 --- a/app/adminapi/lists/article/ArticleLists.php +++ b/app/adminapi/lists/article/ArticleLists.php @@ -15,7 +15,7 @@ namespace app\adminapi\lists\article; use app\adminapi\lists\BaseAdminDataLists; -use app\adminapi\logic\CompanyLogic; +use app\common\logic\CompanyLogic; use app\common\lists\ListsSearchInterface; use app\common\lists\ListsSortInterface; use app\common\model\article\Article; diff --git a/app/adminapi/lists/informationg/UserInformationgLists.php b/app/adminapi/lists/informationg/UserInformationgLists.php index feab6a76b..ddf2a3347 100644 --- a/app/adminapi/lists/informationg/UserInformationgLists.php +++ b/app/adminapi/lists/informationg/UserInformationgLists.php @@ -55,7 +55,7 @@ class UserInformationgLists extends BaseAdminDataLists implements ListsSearchInt public function lists(): array { $lists = UserInformationg::where($this->searchWhere) - ->field(['id','create_user_id','company_id','area_id','area_id area_name','street_id','street_id street_name','village_id','village_id village_name', 'brigade_id','brigade_id brigade_name', 'address', 'name', 'phone', 'sex', 'age','update_time','status']) + ->field(['id','create_user_id','company_id','area_id','area_id area_name','street_id','street_id street_name','village_id','village_id village_name', 'brigade_id','brigade_id brigade_name', 'address', 'name', 'phone', 'sex', 'age','update_time','create_time','status']) ->append(['extend']) ->order(['id' => 'desc']) ->select() diff --git a/app/adminapi/lists/recharge/RechargeLists.php b/app/adminapi/lists/recharge/RechargeLists.php index fb16607ac..12fe639dd 100755 --- a/app/adminapi/lists/recharge/RechargeLists.php +++ b/app/adminapi/lists/recharge/RechargeLists.php @@ -15,7 +15,7 @@ namespace app\adminapi\lists\recharge; use app\adminapi\lists\BaseAdminDataLists; -use app\adminapi\logic\CompanyLogic; +use app\common\logic\CompanyLogic; use app\common\lists\ListsExcelInterface; use app\common\lists\ListsSearchInterface; use app\common\model\recharge\RechargeOrder; diff --git a/app/adminapi/logic/CompanyLogic.php b/app/adminapi/logic/CompanyLogic.php deleted file mode 100644 index ca510e36e..000000000 --- a/app/adminapi/logic/CompanyLogic.php +++ /dev/null @@ -1,237 +0,0 @@ -find(); - // if (!empty($exist)) { - // throw new ValidateException('该账号已经注册过企业'); - // } - $level_one = $params['contract']['party_a'] ?? 0; - $arr=[ - 'company_name' => $params['company_name'], - 'organization_code' => $params['organization_code'], - 'province' => $params['province'], - 'city' => $params['city'], - 'area' => $params['area'], - 'street' => $params['street'], - 'address' => $params['address'], - 'company_type' => $params['company_type'], - 'master_name' => $params['master_name'], - 'master_position' => $params['master_position'], - 'master_phone' => $params['master_phone'], - 'master_email' => $params['master_email'], - 'other_contacts' => $params['other_contacts'], - 'area_manager' => $params['area_manager'] ?? 0, - 'qualification' => $params['qualification'], - 'admin_id' => $params['admin_id'] ?? 0, - 'level_one' => $level_one, - ]; - $data = Company::create($arr); - $passwordSalt = Config::get('project.unique_identification'); - $defaultAvatar = config('project.default_image.admin_avatar'); - $admin=$arr; - $admin['id_card']=$params['id_card']; - $admin['area_manager']=$params['area_manager']; - $admin['sex']=$params['sex']; - $admin['name']=$params['master_name']; - $admin['account']=$params['master_phone']; - $admin['avatar'] = !empty($params['avatar']) ? FileService::setFileUrl($params['avatar']) : $defaultAvatar; - $admin['phone']=$params['master_phone']; - $admin['password'] = create_password(123456, $passwordSalt); - - $admin_id=Admin::strict(false)->insertGetId($admin); - $userSn = User::createUserSn(); - $admin['admin_id']=$admin_id; - $admin['sn']=$userSn; - $admin['sechannel']=4; - $admin['company_id']=$data['id']; - $admin['real_name']=$params['master_name']; - $admin['nickname']=$params['master_name']; - $admin['mobile']=$params['master_phone']; - $admin['phone']=$params['master_phone']; - User::strict(false)->insert($admin); - // if ($level_one > 0) { - // $contractId = self::contract($data['id'], $params); - // } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑 - * @param array $params - * @return bool - * @author likeadmin - * @date 2023/07/15 14:43 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - Company::where('id', $params['id'])->update([ - // 'level_two' => $params['level_two'], - // 'level_one' => $params['level_one'], - 'company_name' => $params['company_name'], - 'organization_code' => $params['organization_code'], - 'province' => $params['province'], - 'city' => $params['city'], - 'area' => $params['area'], - 'street' => $params['street'], - 'address' => $params['address'], - 'company_type' => $params['company_type'], - 'master_name' => $params['master_name'], - 'master_position' => $params['master_position'], - 'master_phone' => $params['master_phone'], - 'master_email' => $params['master_email'], - 'other_contacts' => $params['other_contacts'], - 'area_manager' => $params['area_manager'] ?? 0, - // 'is_contract' => $params['is_contract'], - // 'account' => $params['account'], - // 'password' => $params['password'], - // 'deposit' => $params['deposit'], - // 'deposit_time' => $params['deposit_time'], - 'qualification' => $params['qualification'], - 'admin_id' => $params['admin_id'] ?? 0, - 'level_one' => $params['contract']['party_a'] ?? 0, - // 'status' => $params['status'] - ]); - if ($params['contract']) { - $contractId = self::contract($params['id'], $params); - Company::update(['contract_id' => $contractId], ['id' => $params['id']]); - } - if($params['admin_id']){ - $admin=Admin::where('company_id', $params['id'])->find(); - Admin::where('id' , $params['admin_id'])->update(['company_id' => $params['id']]); - User::where('admin_id',$params['admin_id'])->update(['company_id' => $params['id'],'qualification'=>$params['qualification'],'province'=>$params['province'],'city'=>$params['city'],'area'=>$params['area'],'street'=>$params['street'],'address'=>$params['address'],'is_contract'=>$admin['is_contract'],'mobile'=>$admin['phone']]); - if($admin['id']!=$params['admin_id']){ - Admin::where('id',$admin['id'])->update(['company_id' =>0]); - User::where('admin_id' , $admin['id'])->update(['company_id' => 0]); - } - } - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage(), $e->getFile()); - return false; - } - } - - - /** - * @notes 删除 - * @param array $params - * @return bool - * @author likeadmin - * @date 2023/07/15 14:43 - */ - public static function delete(array $params): bool - { - return Company::destroy($params['id']); - } - - - /** - * @notes 获取详情 - * @param $params - * @return array - * @author likeadmin - * @date 2023/07/15 14:43 - */ - public static function detail($params): array - { - $data = Company::findOrEmpty($params['id'])->toArray(); - if ($data) { - $data['other_contacts'] = json_decode($data['other_contacts'], true); - $data['qualification'] = json_decode($data['qualification'], true); - $data['admin_name'] = Db::name('admin')->where('id', $data['admin_id'])->value('name'); - $data['area_manager_name'] = Db::name('admin')->where('id', $data['area_manager'])->value('name'); - $data['contract'] = Db::name('contract')->where('party_b', $data['id']) - ->withAttr('party_a_name', function ($value, $data) { - return Db::name('company')->where('id', $data['party_a'])->value('company_name'); - }) - ->find(); - } - return $data; - } - - public static function contract($companyId, $params) - { - $model = Contract::where(['party_b' => $companyId])->find(); - if (empty($model)) { - $model = new Contract(); - $model->contract_no = time(); - $model->create_time = time(); - $model->type = 1; - } - $model->update_time = time(); - $model->party_a = $params['contract']['party_a'] ?? 0; - $model->contract_type = $params['contract']['contract_type'] ?? 0; - $model->file = $params['contract']['file'] ?? ''; - $model->party_b = $companyId; - $model->save(); - return $model->id; - } - - public static function getAllCompanyIds() - { - $companyId = request()->adminInfo['company_id'] ?? 0; - $companyIds[] = $companyId; - $companies = loopGetChild(Company::class, $companyId, 'level_one', 'id,level_one'); - if (!empty($companies)) { - $companyIds = array_merge(array_column($companies, 'id'), $companyIds); - } - return array_filter($companyIds); - } -} diff --git a/app/adminapi/logic/contract/ContractLogic.php b/app/adminapi/logic/contract/ContractLogic.php deleted file mode 100644 index 3f8bf98eb..000000000 --- a/app/adminapi/logic/contract/ContractLogic.php +++ /dev/null @@ -1,163 +0,0 @@ - $params['company_id'], - 'contract_type' => $params['contract_type'], - 'contract_no' => $params['contract_no'], - 'file' => $params['file'], - 'status' => $params['status'], - 'party_a' => $params['party_a'], - 'party_b' => $params['party_b'], - 'area_manager' => $params['area_manager'] - ]); - - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑 - * @param array $params - * @return bool - * @author likeadmin - * @date 2023/07/18 14:28 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - Contract::where('id', $params['id'])->update([ - 'company_id' => $params['company_id'], - 'contract_type' => $params['contract_type'], - 'contract_no' => $params['contract_no'], - 'file' => $params['file'], - 'status' => $params['status'], - 'party_a' => $params['party_a'], - 'party_b' => $params['party_b'], - 'area_manager' => $params['area_manager'] - ]); - - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 删除 - * @param array $params - * @return bool - * @author likeadmin - * @date 2023/07/18 14:28 - */ - public static function delete(array $params): bool - { - return Contract::destroy($params['id']); - } - - - /** - * @notes 获取详情 - * @param $params - * @return array - * @author likeadmin - * @date 2023/07/18 14:28 - */ - public static function detail($params): array - { - $data = Db::name('contract')->where('id', $params['id']) - ->withAttr('party_b_info', function ($value, $data) { - if ($data['type'] == 1) { - $field=['id,company_name,company_type,company_type company_type_name,organization_code, - province,city,area,street,village,brigade,address,province province_name,city city_name,area area_name,street street_name,village village_name,brigade brigade_name, - qualification']; - $company=Company::where(['id'=> $data['party_b']])->field($field)->find(); - $company['qualification']=json_decode($company['qualification'],true); - return $company; - } else { - $filed=['id,avatar,nickname,sex,mobile, - province,city,area,street,village,brigade,address,province province_name,city city_name,area area_name,street street_name,village village_name,brigade brigade_name, - qualification']; - $user= User::where('id', $data['party_b'])->field($filed)->find(); - $user['qualification']=json_decode($user['qualification'],true); - return $user; - } - }) - ->withAttr('party_a_info', function ($value, $data) { - $field=['id,company_name,company_type,company_type company_type_name,organization_code, - province,city,area,street,village,brigade,address,province province_name,city city_name,area area_name,street street_name,village village_name,brigade brigade_name, - qualification']; - $company=Company::where(['id'=> $data['party_a']])->field($field)->find(); - $company['qualification']=json_decode($company['qualification'],true); - return $company; - - }) - ->withAttr('area_manager_name', function ($value, $data) { - return Db::name('admin')->where('id', $data['area_manager'])->value('name'); - }) - ->withAttr('contract_type_name', function ($value, $data) { - return Db::name('dict_data')->where('id', $data['contract_type'])->value('name'); - }) - ->withAttr('type_name', function ($value, $data) { - return $data['type']==1?'公司':'个人'; - }) - ->withAttr('status_name', function ($value, $data) { - return $data['status']==1?'已签约':'未签约'; - }) - ->find(); - - return $data; - } -} diff --git a/app/api/controller/CompanyController.php b/app/api/controller/CompanyController.php index 643e643e7..212d3dd19 100644 --- a/app/api/controller/CompanyController.php +++ b/app/api/controller/CompanyController.php @@ -2,17 +2,14 @@ namespace app\api\controller; +use app\common\logic\contract\ContractLogic; use app\common\model\auth\Admin; -use app\common\model\auth\AdminRole; -use app\common\model\auth\SystemRole; use app\common\model\Company; use app\common\model\contract\Contract; use app\common\model\user\User; use app\common\model\user\UserAccountLog; use think\facade\Db; -use app\common\logic\CompanyLogic as CommonCompanyLogic; use app\common\model\informationg\UserInformationg; - /** * Class CompanyController * @package app\api\controller @@ -147,32 +144,32 @@ class CompanyController extends BaseApiController $params = $this->request->param(); $params['party_a'] = $this->userInfo['company_id']; $params['type'] = 1; - $result = CommonCompanyLogic::initiate_contract($params); + $result = ContractLogic::initiate_contract($params); if ($result == true) { return $this->success('发起成功,等待平台风控部上传合同'); } - return $this->fail(CommonCompanyLogic::getError()); + return $this->fail(ContractLogic::getError()); } - // /**生成合同 */ + // /**发送合同 */ public function Draftingcontracts() { $params = $this->request->param(); - $result = CommonCompanyLogic::Draftingcontracts($params); + $result = ContractLogic::Draftingcontracts($params,1); if ($result == true) { return $this->success('生成合同成功'); } - return $this->fail(CommonCompanyLogic::getError()); + return $this->fail(ContractLogic::getError()); } //**发送短信 */ public function postsms() { $params = $this->request->param(); - $res = CommonCompanyLogic::postsms($params); + $res = ContractLogic::postsms($params); if ($res == true) { return $this->success('发送成功', [], 1, 1); } else { - return $this->fail(CommonCompanyLogic::getError()); + return $this->fail(ContractLogic::getError()); } } } diff --git a/app/api/controller/HetongController.php b/app/api/controller/HetongController.php index 820265808..b4f0565f0 100644 --- a/app/api/controller/HetongController.php +++ b/app/api/controller/HetongController.php @@ -22,14 +22,21 @@ class HetongController extends BaseApiController public function url() { - $id=Request()->get('id'); - if($id){ - $url=Db::name('contract')->where('id',$id)->value('url'); - if($url){ - return redirect($url); + $id = Request()->get('id'); + $type = Request()->get('tyep'); + $msg='合同不存在'; + if(empty($type)){ + $msg='参数错误'; + } + if ($id && $type) { + $find = Db::name('contract')->where('id', $id)->find(); + if ($find && $find['url']) { + $url = json_decode($find['url'], true); + if(isset($url[$type])){ + return redirect($url[$type]); + } } } - return '

:)

合同不存在

'; - + return '

:)

'.$msg.'

'; } -} \ No newline at end of file +} diff --git a/app/api/controller/UserController.php b/app/api/controller/UserController.php index 50c003cb5..0e63c58f0 100755 --- a/app/api/controller/UserController.php +++ b/app/api/controller/UserController.php @@ -19,6 +19,7 @@ use app\common\logic\UserLogic as CommonUserLogic; use app\api\validate\PasswordValidate; use app\api\validate\SetUserInfoValidate; use app\api\validate\UserValidate; +use app\common\logic\contract\ContractLogic; use Common; use think\facade\Db; @@ -176,32 +177,33 @@ class UserController extends BaseApiController { $params = $this->request->param(); $admin_id = Db::name('user')->where('id', $this->userId)->value('admin_id'); - $result = CommonUserLogic::initiate_contract($params, $admin_id); + $params['check_status'] = 1; + $result = ContractLogic::initiate_contract($params, $admin_id); if ($result == true) { return $this->success('发起成功,等待平台风控部上传合同'); } - return $this->fail(CommonUserLogic::getError()); + return $this->fail(ContractLogic::getError()); } // /**生成合同 */ public function Draftingcontracts() { $params = $this->request->param(); - $result = CommonUserLogic::Draftingcontracts($params); + $result = ContractLogic::Draftingcontracts($params,2); if ($result == true) { return $this->success('生成合同成功'); } - return $this->fail(CommonUserLogic::getError()); + return $this->fail(ContractLogic::getError()); } //**发送短信 */ public function postsms() { $params = $this->request->param(); - $res = CommonUserLogic::postsms($params); + $res = ContractLogic::postsms($params); if ($res == true) { return $this->success('发送成功', [], 1, 1); } else { - return $this->fail(CommonUserLogic::getError()); + return $this->fail(ContractLogic::getError()); } } } diff --git a/app/common/logic/CompanyLogic.php b/app/common/logic/CompanyLogic.php index 8ae839bda..a30b6c4c9 100644 --- a/app/common/logic/CompanyLogic.php +++ b/app/common/logic/CompanyLogic.php @@ -35,7 +35,7 @@ class CompanyLogic extends BaseLogic { - /** + /** * @notes 添加 * @param array $params * @return bool @@ -44,6 +44,7 @@ class CompanyLogic extends BaseLogic */ public static function add(array $params): bool { + unset($params['id']); Db::startTrans(); try { // $exist = Company::where('admin_id', $params['admin_id'])->find(); @@ -51,9 +52,7 @@ class CompanyLogic extends BaseLogic // throw new ValidateException('该账号已经注册过企业'); // } $level_one = $params['contract']['party_a'] ?? 0; - $data = Company::create([ - // 'level_two' => $params['level_two'], - // 'level_one' => $params['level_one'], + $arr=[ 'company_name' => $params['company_name'], 'organization_code' => $params['organization_code'], 'province' => $params['province'], @@ -68,19 +67,37 @@ class CompanyLogic extends BaseLogic 'master_email' => $params['master_email'], 'other_contacts' => $params['other_contacts'], 'area_manager' => $params['area_manager'] ?? 0, - // 'is_contract' => $params['is_contract'], - // 'account' => $params['account'], - // 'password' => $params['password'], - // 'deposit' => $params['deposit'], - // 'deposit_time' => $params['deposit_time'], 'qualification' => $params['qualification'], 'admin_id' => $params['admin_id'] ?? 0, 'level_one' => $level_one, - // 'status' => $params['status'] - ]); - if ($level_one > 0) { - $contractId = self::contract($data['id'], $params); - } + ]; + $data = Company::create($arr); + $passwordSalt = Config::get('project.unique_identification'); + $defaultAvatar = config('project.default_image.admin_avatar'); + $admin=$arr; + $admin['id_card']=$params['id_card']; + $admin['area_manager']=$params['area_manager']; + $admin['sex']=$params['sex']; + $admin['name']=$params['master_name']; + $admin['account']=$params['master_phone']; + $admin['avatar'] = !empty($params['avatar']) ? FileService::setFileUrl($params['avatar']) : $defaultAvatar; + $admin['phone']=$params['master_phone']; + $admin['password'] = create_password(123456, $passwordSalt); + + $admin_id=Admin::strict(false)->insertGetId($admin); + $userSn = User::createUserSn(); + $admin['admin_id']=$admin_id; + $admin['sn']=$userSn; + $admin['sechannel']=4; + $admin['company_id']=$data['id']; + $admin['real_name']=$params['master_name']; + $admin['nickname']=$params['master_name']; + $admin['mobile']=$params['master_phone']; + $admin['phone']=$params['master_phone']; + User::strict(false)->insert($admin); + // if ($level_one > 0) { + // $contractId = self::contract($data['id'], $params); + // } Db::commit(); return true; } catch (\Exception $e) { @@ -133,13 +150,13 @@ class CompanyLogic extends BaseLogic $contractId = self::contract($params['id'], $params); Company::update(['contract_id' => $contractId], ['id' => $params['id']]); } - if ($params['admin_id']) { - $admin = Admin::where('company_id', $params['id'])->find(); - Admin::where('id', $params['admin_id'])->update(['company_id' => $params['id']]); - User::where('admin_id', $params['admin_id'])->update(['company_id' => $params['id'], 'qualification' => $params['qualification'], 'province' => $params['province'], 'city' => $params['city'], 'area' => $params['area'], 'street' => $params['street'], 'address' => $params['address'], 'is_contract' => $admin['is_contract'], 'mobile' => $admin['phone']]); - if ($admin['id'] != $params['admin_id']) { - Admin::where('id', $admin['id'])->update(['company_id' => 0]); - User::where('admin_id', $admin['id'])->update(['company_id' => 0]); + if($params['admin_id']){ + $admin=Admin::where('company_id', $params['id'])->find(); + Admin::where('id' , $params['admin_id'])->update(['company_id' => $params['id']]); + User::where('admin_id',$params['admin_id'])->update(['company_id' => $params['id'],'qualification'=>$params['qualification'],'province'=>$params['province'],'city'=>$params['city'],'area'=>$params['area'],'street'=>$params['street'],'address'=>$params['address'],'is_contract'=>$admin['is_contract'],'mobile'=>$admin['phone']]); + if($admin['id']!=$params['admin_id']){ + Admin::where('id',$admin['id'])->update(['company_id' =>0]); + User::where('admin_id' , $admin['id'])->update(['company_id' => 0]); } } Db::commit(); @@ -178,13 +195,12 @@ class CompanyLogic extends BaseLogic if ($data) { $data['other_contacts'] = json_decode($data['other_contacts'], true); $data['qualification'] = json_decode($data['qualification'], true); + if($data['qualification'] && isset($data['qualification']['other_qualifications'])){ + $data['qualification']['other_qualifications']=json_decode($data['qualification']['other_qualifications'],true); + } $data['admin_name'] = Db::name('admin')->where('id', $data['admin_id'])->value('name'); $data['area_manager_name'] = Db::name('admin')->where('id', $data['area_manager'])->value('name'); - $data['contract'] = Db::name('contract')->where('party_b', $data['id']) - ->withAttr('party_a_info', function ($value, $data) { - return Db::name('company')->where('id', $data['party_a'])->field('id,company_name,organization_code,master_name,master_email,master_phone')->find(); - }) - ->find(); + $data['contract'] = Contract::where(['party_b' => $data['id']])->with(['partyAInfo', 'contractType'])->find(); } return $data; } @@ -217,143 +233,4 @@ class CompanyLogic extends BaseLogic } return array_filter($companyIds); } - - //**发起合同 */ - public static function initiate_contract($params) - { - $find = Db::name('company')->where('id', $params['party_b'])->value('is_contract'); - if ($find == 1) { - return self::setError('该公司已签约无法发起合同'); - } - $params['check_status'] = 1; - $res = Contract::Initiate_contract($params); - if (true === $res) { - return true; - } - return self::setError('发起失败'); - } - - // /**生成合同 */ - public static function Draftingcontracts($params) - { - $result = self::detail($params); - halt($result); - if ($result && $result['contract'] && $result['contract']['file'] != '') { - $data = [ - 'name' => $result['company_name'] . '合同', - 'signatories' => [ - ['fullName' => $result['company_name'], 'identityType' => 12, 'identityCard' => $result['organization_code'], 'email' => $result['master_email'], 'noNeedVerify' => 1, 'signLevel' => 1], - ['fullName' => $result['contract']['party_a_info']['company_name'], 'identityType' => 12, 'identityCard' => $result['contract']['party_a_info']['organization_code'], 'email' => $result['contract']['party_a_info']['master_email'], 'noNeedVerify' => 1, 'signLevel' => 1] - ], - 'url' => $result['contract']['file'] - ]; - $res = app(JunziqianController::class)->Signing($data, $result['contract']['id']); - if ($res->success == true) { - Db::name('contract')->where('id', $result['contract']['id'])->update(['contract_no' => $res->data, 'check_status' => 3]); - $company = Db::name('company')->where('id', $params['id'])->find(); - if ($company) { - $find = Db::name('contract')->where('party_b', $company['id']) - ->withAttr('contract_type_name', function ($value, $data) { - return Db::name('dict_data')->where('id', $data['contract_type'])->value('name'); - })->find(); - if ($find) { - $data = [ - [ - "applyNo" => $find['contract_no'], //TODO * - "fullName" => $result['contract']['party_a_info']['company_name'], //TODO * - "identityCard" => $result['contract']['party_a_info']['organization_code'], //TODO * - "identityType" => 12, //TODO * - "master_phone"=>$result['contract']['party_a_info']['master_phone'] - ], - [ - "applyNo" => $find['contract_no'], //TODO * - "fullName" => $result['company_name'], //TODO * - "identityCard" => $result['organization_code'], //TODO * - "identityType" => 12, //TODO * - "master_phone"=>$result['master_phone'] - ] - ]; - foreach($data as $k=>$v){ - $res = app(JunziqianController::class)->SigningLink($data); - if ($res->success == true ) { - Db::name('contract')->where('id', $find['id'])->update(['url' => $res->data]); - //发送短信 - $sms = [ - 'mobile' => $v['master_phone'], - 'name' => $v['company_name'], - 'type' => '《' . $find['contract_type_name'] . '》', - 'code' => 'api/Hetong/url?id=' . $find['id'], - 'scene' => 'WQ' - ]; - $result = SmsLogic::contractUrl($sms); - if (true === $result) { - return true; - } else { - return self::setError(SmsLogic::getError()); - } - } else { - return self::setError($res->msg); - } - } - } - } - return true; - } else { - return self::setError($res->msg); - } - } else { - return self::setError('生成合同成功失败,联系管理员'); - } - } - - //**发送短信 */ - public static function postsms($params) - { - $result = self::detail($params); - if ($result && $result['contract'] && $result['contract']['file'] != '') { - //发送短信 - $data = [ - [ - "applyNo" => $result['contract_no'], //TODO * - "fullName" => $result['contract']['party_a_info']['company_name'], //TODO * - "identityCard" => $result['contract']['party_a_info']['organization_code'], //TODO * - "identityType" => 12, //TODO * - "master_phone"=>$result['contract']['party_a_info']['master_phone'] - ], - [ - "applyNo" => $result['contract_no'], //TODO * - "fullName" => $result['company_name'], //TODO * - "identityCard" => $result['organization_code'], //TODO * - "identityType" => 12, //TODO * - "master_phone"=>$result['master_phone'] - ] - ]; - $find = Db::name('contract')->where('party_b', $params['id']) - ->withAttr('contract_type_name', function ($value, $data) { - return Db::name('dict_data')->where('id', $data['contract_type'])->value('name'); - })->find(); - foreach($data as $k=>$v){ - $res = app(JunziqianController::class)->SigningLink($data); - if ($res->success == true ) { - Db::name('contract')->where('id', $find['id'])->update(['url' => $res->data]); - //发送短信 - $sms = [ - 'mobile' => $v['master_phone'], - 'name' => $v['company_name'], - 'type' => '《' . $find['contract_type_name'] . '》', - 'code' => 'api/Hetong/url?id=' . $find['id'], - 'scene' => 'WQ' - ]; - $result = SmsLogic::contractUrl($sms); - if (true === $result) { - return true; - } else { - return self::setError(SmsLogic::getError()); - } - } else { - return self::setError($res->msg); - } - } - } - } } diff --git a/app/common/logic/UserLogic.php b/app/common/logic/UserLogic.php index ddf2d0d18..af8bd5ccc 100755 --- a/app/common/logic/UserLogic.php +++ b/app/common/logic/UserLogic.php @@ -122,99 +122,5 @@ class UserLogic extends BaseLogic return $e->getMessage(); } } - //**发起合同 */ - public static function initiate_contract($params, $adminId) - { - $params['party_a'] = Db::name('company')->where('admin_id', $adminId)->value('id'); - if ($params['party_a'] <= 0) { - return self::setError('甲方不存在,请联系平台绑定公司'); - } - $params['check_status'] = 1; - $res = Contract::Initiate_contract($params); - if (true === $res) { - return true; - } - return self::setError('发起失败'); - } - // /**生成合同 */ - public static function Draftingcontracts($params) - { - - $result = self::detail($params['id']); - if ($result && $result['contract'] && $result['contract']['file'] != '') { - if ($result['contract']['check_status'] == 3) { - return self::setError('你已经生成过合同,请问重复生成'); - } - $data = [ - 'name' => $result['nickname'] . '的合同', - 'signatories' => [ - ['fullName' => $result['nickname'], 'identityType' => 1, 'identityCard' => $result['id_card'], 'mobile' => $result['mobile'], 'noNeedVerify' => 1, 'signLevel' => 1], - ['fullName' => $result['contract']['party_a_info']['company_name'], 'identityType' => 12, 'identityCard' => $result['contract']['party_a_info']['organization_code'], 'email' => $result['contract']['party_a_info']['master_email'], 'noNeedVerify' => 1, 'signLevel' => 1] - ], - 'url' => $result['contract']['file'] - ]; - $res = app(JunziqianController::class)->Signing($data, $result['contract']['id']); - if ($res->success == true) { - Db::name('contract')->where('id', $result['contract']['id'])->update(['contract_no' => $res->data, 'check_status' => 3]); - $data = array( - "applyNo" => $res->data, //TODO * - "fullName" => $result['nickname'], //TODO * - "identityCard" => $result['id_card'], //TODO * - "identityType" => 1, //TODO * - ); - $res = app(JunziqianController::class)->SigningLink($data); - if ($res->success == true) { - Db::name('contract')->where('id', $result['contract']['id'])->update(['url' => $res->data]); - //发送短信 - $sms = [ - 'mobile' => $result['mobile'], - 'name' => $result['nickname'], - 'type' => '《' . $result['contract']['contract_type_name'] . '》', - 'code' => 'api/Hetong/url?id=' . $result['contract']['id'], - 'scene' => 'WQ' - ]; - $result = SmsLogic::contractUrl($sms); - if (true === $result) { - return true; - } else { - return self::setError(SmsLogic::getError()); - } - } else { - return self::setError($res->msg); - } - } else { - return self::setError($res->msg); - } - } else { - return self::setError('生成合同成功失败,联系管理员'); - } - } - - //**发送短信 */ - public static function postsms($params) - { - $find = Db::name('contract')->where('party_b', $params['id']) - ->withAttr('contract_type_name', function ($value, $data) { - return Db::name('dict_data')->where('id', $data['contract_type'])->value('name'); - }) - ->find(); - $user = User::where('id', $params['id'])->find(); - if ($find) { - //发送短信 - $sms = [ - 'mobile' => $user['mobile'], - 'name' => $user['nickname'], - 'type' => '《' . $find['contract_type_name'] . '》', - 'code' => 'api/Hetong/url?id=' . $find['id'], - 'scene' => 'WQ' - ]; - $result = SmsLogic::contractUrl($sms); - if (true === $result) { - return true; - } else { - return self::setError(SmsLogic::getError()); - } - } - } } diff --git a/app/adminapi/logic/category_business/CategoryBusinessLogic.php b/app/common/logic/category_business/CategoryBusinessLogic.php similarity index 98% rename from app/adminapi/logic/category_business/CategoryBusinessLogic.php rename to app/common/logic/category_business/CategoryBusinessLogic.php index 94e42f293..7f1cf0105 100644 --- a/app/adminapi/logic/category_business/CategoryBusinessLogic.php +++ b/app/common/logic/category_business/CategoryBusinessLogic.php @@ -12,7 +12,7 @@ // | author: likeadminTeam // +---------------------------------------------------------------------- -namespace app\adminapi\logic\category_business; +namespace app\common\logic\category_business; use app\common\model\category_business\CategoryBusiness; diff --git a/app/common/logic/contract/ContractLogic.php b/app/common/logic/contract/ContractLogic.php new file mode 100644 index 000000000..625c58760 --- /dev/null +++ b/app/common/logic/contract/ContractLogic.php @@ -0,0 +1,269 @@ + $params['company_id'], + 'contract_type' => $params['contract_type'], + 'contract_no' => $params['contract_no'], + 'file' => $params['file'], + 'status' => $params['status'], + 'party_a' => $params['party_a'], + 'party_b' => $params['party_b'], + 'area_manager' => $params['area_manager'] + ]); + + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 编辑 + * @param array $params + * @return bool + * @author likeadmin + * @date 2023/07/18 14:28 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + Contract::where('id', $params['id'])->update([ + 'company_id' => $params['company_id'], + 'contract_type' => $params['contract_type'], + 'contract_no' => $params['contract_no'], + 'file' => $params['file'], + 'status' => $params['status'], + 'party_a' => $params['party_a'], + 'party_b' => $params['party_b'], + 'area_manager' => $params['area_manager'] + ]); + + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除 + * @param array $params + * @return bool + * @author likeadmin + * @date 2023/07/18 14:28 + */ + public static function delete(array $params): bool + { + return Contract::destroy($params['id']); + } + + + /** + * @notes 获取详情 + * @param $params + * @return array + * @author likeadmin + * @date 2023/07/18 14:28 + */ + public static function detail($params): array + { + $data = Db::name('contract')->where('id', $params['id']) + ->withAttr('party_b_info', function ($value, $data) { + if ($data['type'] == 1) { + $field = ['id,company_name,company_type,company_type company_type_name,organization_code, + province,city,area,street,village,brigade,address,province province_name,city city_name,area area_name,street street_name,village village_name,brigade brigade_name, + qualification']; + $company = Company::where(['id' => $data['party_b']])->field($field)->find(); + $company['qualification'] = json_decode($company['qualification'], true); + return $company; + } else { + $filed = ['id,avatar,nickname,sex,mobile, + province,city,area,street,village,brigade,address,province province_name,city city_name,area area_name,street street_name,village village_name,brigade brigade_name, + qualification']; + $user = User::where('id', $data['party_b'])->field($filed)->find(); + $user['qualification'] = json_decode($user['qualification'], true); + return $user; + } + }) + ->withAttr('party_a_info', function ($value, $data) { + $field = ['id,company_name,company_type,company_type company_type_name,organization_code, + province,city,area,street,village,brigade,address,province province_name,city city_name,area area_name,street street_name,village village_name,brigade brigade_name, + qualification']; + $company = Company::where(['id' => $data['party_a']])->field($field)->find(); + $company['qualification'] = json_decode($company['qualification'], true); + return $company; + }) + ->withAttr('area_manager_name', function ($value, $data) { + return Db::name('admin')->where('id', $data['area_manager'])->value('name'); + }) + ->withAttr('contract_type_name', function ($value, $data) { + return Db::name('dict_data')->where('id', $data['contract_type'])->value('name'); + }) + ->withAttr('type_name', function ($value, $data) { + return $data['type'] == 1 ? '公司' : '个人'; + }) + ->withAttr('status_name', function ($value, $data) { + return $data['status'] == 1 ? '已签约' : '未签约'; + }) + ->find(); + + return $data; + } + + //生成合同 + public static function Initiate_contract($data) + { + $model = Contract::where(['party_b' => $data['party_b']])->find(); + if (empty($model)) { + $model = new Contract(); + $model->party_b = $data['party_b']; + $model->contract_no = time(); + $model->create_time = time(); + } + $model->update_time = time(); + $model->setAttrs($data); + return $model->save($data); + } + + // /**发送合同 */ + public static function Draftingcontracts($params,$type=1) + { + if($type==1){ + $result = CompanyLogic::detail($params); + }else{ + $result = UserLogic::detail($params['id']); + } + if ($result && isset($result['contract']) && isset($result['contract']['file']) && $result['contract']['file'] != '') { + if ($result['contract']['check_status'] == 3) { + return self::setError('你已经生成过合同,请问重复生成'); + } + $data = [ + 'name' => $result['nickname'] . '的合同', + 'signatories' => [ + ['fullName' => $result['nickname'], 'identityType' => 1, 'identityCard' => $result['id_card'], 'mobile' => $result['mobile'], 'noNeedVerify' => 1, 'signLevel' => 1], + ['fullName' => $result['contract']['party_a_info']['company_name'], 'identityType' => 12, 'identityCard' => $result['contract']['party_a_info']['organization_code'], 'email' => $result['contract']['party_a_info']['master_email'], 'noNeedVerify' => 1, 'signLevel' => 1] + ], + 'url' => $result['contract']['file'] + ]; + $res = app(JunziqianController::class)->Signing($data, $result['contract']['id']); + if ($res->success == true) { + Db::name('contract')->where('id', $result['contract']['id'])->update(['contract_no' => $res->data, 'check_status' => 3]); + self::postsms($params); + return true; + } else { + return self::setError($res->msg); + } + } else { + return self::setError('生成合同成功失败,联系管理员'); + } + } + + //**发送短信 */ + public static function postsms($params) + { + $result = self::detail($params); + if ($result && $result['contract'] && $result['contract']['file'] != '') { + //发送短信 + $data = [ + [ + "applyNo" => $result['contract_no'], //TODO * + "fullName" => $result['contract']['party_a_info']['company_name'], //TODO * + "identityCard" => $result['contract']['party_a_info']['organization_code'], //TODO * + "identityType" => 12, //TODO * + "master_phone" => $result['contract']['party_a_info']['master_phone'] + ], + [ + "applyNo" => $result['contract_no'], //TODO * + "fullName" => $result['company_name'], //TODO * + "identityCard" => $result['organization_code'], //TODO * + "identityType" => 12, //TODO * + "master_phone" => $result['master_phone'] + ] + ]; + $find = Db::name('contract')->where('party_b', $params['id']) + ->withAttr('contract_type_name', function ($value, $data) { + return Db::name('dict_data')->where('id', $data['contract_type'])->value('name'); + })->find(); + foreach ($data as $k => $v) { + $res = app(JunziqianController::class)->SigningLink($data); + $url = []; + if ($res->success == true) { + if ($v['type'] == 'party_a') { + $url['party_a'] =$res->data; + } else { + $url['party_b'] =$res->data; + } + //发送短信 + $sms = [ + 'mobile' => $v['master_phone'], + 'name' => $v['fullName'], + 'type' => '《' . $find['contract_type_name'] . '》', + 'code' => 'api/Hetong/url?id=' . $find['id'].'&type='.$v['type'], + 'scene' => 'WQ' + ]; + $result = SmsLogic::contractUrl($sms); + if ($result != true) { + return self::setError(SmsLogic::getError()); + } + } else { + return self::setError($res->msg); + } + Db::name('contract')->where('id', $find['id'])->update(['url' => json_encode($url)]); + } + }else{ + return self::setError('没找到合同,联系管理员'); + } + } +} diff --git a/app/common/model/contract/Contract.php b/app/common/model/contract/Contract.php index 0b6bd0613..8f473d46f 100644 --- a/app/common/model/contract/Contract.php +++ b/app/common/model/contract/Contract.php @@ -25,11 +25,11 @@ use app\common\model\dict\DictData; */ class Contract extends BaseModel { - - protected $name = 'contract'; - - + protected $name = 'contract'; + + + /** * @notes 关联company_name * @return \think\model\relation\HasOne @@ -46,19 +46,19 @@ class Contract extends BaseModel } public function partyAInfo() { - return $this->hasOne(Company::class, 'id', 'party_a')->filed('id,company_name,organization_code,master_name,master_phone,master_email'); + return $this->hasOne(Company::class, 'id', 'party_a')->field('id,company_name,organization_code,master_name,master_phone,master_email'); } public function partyA() { - return $this->hasOne(Company::class, 'id', 'party_a')->bind(['party_a_name'=>'company_name']); + return $this->hasOne(Company::class, 'id', 'party_a')->bind(['party_a_name' => 'company_name']); } public function partyB() { - return $this->hasOne(Company::class, 'id', 'party_b')->bind(['party_b_name'=>'company_name']); + return $this->hasOne(Company::class, 'id', 'party_b')->bind(['party_b_name' => 'company_name']); } public function contractType() { - return $this->hasOne(DictData::class, 'id', 'contract_type')->bind(['contract_type_name'=>'name']); + return $this->hasOne(DictData::class, 'id', 'contract_type')->bind(['contract_type_name' => 'name']); } public function getContractTypeNameAttr($value) @@ -66,18 +66,4 @@ class Contract extends BaseModel return DictData::where(['id' => $this->contract_type])->value('name'); } - //生成合同 - public static function Initiate_contract($data) - { - $model = self::where(['party_b'=>$data['party_b']])->find(); - if (empty($model)) { - $model = new Contract(); - $model->party_b = $data['party_b']; - $model->contract_no = time(); - $model->create_time = time(); - } - $model->update_time = time(); - $model->setAttrs($data); - return $model->save($data); - } -} \ No newline at end of file +} diff --git a/app/common/model/informationg/UserInformationg.php b/app/common/model/informationg/UserInformationg.php index 6c56d058f..5cadc8666 100644 --- a/app/common/model/informationg/UserInformationg.php +++ b/app/common/model/informationg/UserInformationg.php @@ -48,6 +48,7 @@ class UserInformationg extends BaseModel // 插入数据 $data = [ 'create_user_id' => $param['admin_id'], + 'company_id' => $param['company_id'], 'name' => $param['name'], 'phone' => $param['phone'], 'age' => $param['age'],