This commit is contained in:
mkm 2023-07-20 16:30:00 +08:00
parent c5a6f20801
commit 8adef49360
4 changed files with 103 additions and 27 deletions

View File

@ -20,15 +20,9 @@ use app\adminapi\controller\BaseAdminController;
use app\adminapi\lists\CompanyLists; use app\adminapi\lists\CompanyLists;
use app\adminapi\logic\CompanyLogic; use app\adminapi\logic\CompanyLogic;
use app\adminapi\validate\CompanyValidate; use app\adminapi\validate\CompanyValidate;
use think\facade\Request;
use app\api\controller\JunziqianController; use app\api\controller\JunziqianController;
use app\api\logic\SmsLogic; use app\api\logic\SmsLogic;
use Cls\Log;
use com\junziqian\sdk\util\RequestUtils;
use think\App;
use think\facade\Db; use think\facade\Db;
use think\facade\Log as FacadeLog;
use think\Log as ThinkLog;
use think\view\driver\Think; use think\view\driver\Think;
/** /**
@ -117,16 +111,16 @@ class CompanyController extends BaseAdminController
return $this->data($result); return $this->data($result);
} }
// /**生成合同 */iHMb7rVj@service.ebaoquan.org // /**生成合同 */
public function Draftingcontracts() public function Draftingcontracts()
{ {
$params = (new CompanyValidate())->goCheck('detail'); $params = (new CompanyValidate())->goCheck('detail');
$result = CompanyLogic::detail($params); $result = CompanyLogic::detail($params);
if ($result && $result['contract'] && $result['contract']['contract_type_two_url'] != '') { if ($result && $result['contract'] && $result['contract']['file'] != '') {
$data = [ $data = [
'name' => $result['company_name'] . '合同', 'name' => $result['company_name'] . '合同',
'signatories' => [['fullName' => $result['company_name'], 'identityType' => 12, 'identityCard' => $result['organization_code'], 'mobile' => $result['master_phone'], 'email' => $result['master_email'], 'noNeedVerify' => 1, 'signLevel' => 1]], 'signatories' => [['fullName' => $result['company_name'], 'identityType' => 12, 'identityCard' => $result['organization_code'], 'mobile' => $result['master_phone'], 'email' => $result['master_email'], 'noNeedVerify' => 1, 'signLevel' => 1]],
'url' => $result['contract']['contract_type_two_url'] 'url' => $result['contract']['file']
]; ];
$res = app(JunziqianController::class)->Signing($data); $res = app(JunziqianController::class)->Signing($data);
if ($res->success == true) { if ($res->success == true) {
@ -134,8 +128,8 @@ class CompanyController extends BaseAdminController
$company = Db::name('company')->where('id', $params['id'])->find(); $company = Db::name('company')->where('id', $params['id'])->find();
if ($company && $company['contract_id']) { if ($company && $company['contract_id']) {
$find = Db::name('contract')->where('id', $company['contract_id']) $find = Db::name('contract')->where('id', $company['contract_id'])
->withAttr('contract_type_two_name', function ($value, $data) { ->withAttr('contract_type_name', function ($value, $data) {
return Db::name('dict_data')->where('id', $data['contract_type_two'])->value('name'); return Db::name('dict_data')->where('id', $data['contract_type'])->value('name');
})->find(); })->find();
if ($find) { if ($find) {
$data = array( $data = array(
@ -151,7 +145,7 @@ class CompanyController extends BaseAdminController
$sms = [ $sms = [
'mobile' => $company['master_phone'], 'mobile' => $company['master_phone'],
'name' => $company['company_name'], 'name' => $company['company_name'],
'type' => '《' . $find['contract_type_two_name'] . '》', 'type' => '《' . $find['contract_type_name'] . '》',
'code' => 'api/Hetong/url?id='.$find['id'], 'code' => 'api/Hetong/url?id='.$find['id'],
'scene' => 'WQ' 'scene' => 'WQ'
]; ];
@ -182,8 +176,8 @@ class CompanyController extends BaseAdminController
$company = Db::name('company')->where('id', $params['id'])->find(); $company = Db::name('company')->where('id', $params['id'])->find();
if ($company && $company['contract_id']) { if ($company && $company['contract_id']) {
$find = Db::name('contract')->where('id', $company['contract_id']) $find = Db::name('contract')->where('id', $company['contract_id'])
->withAttr('contract_type_two_name', function ($value, $data) { ->withAttr('contract_type_name', function ($value, $data) {
return Db::name('dict_data')->where('id', $data['contract_type_two'])->value('name'); return Db::name('dict_data')->where('id', $data['contract_type'])->value('name');
}) })
->find(); ->find();
if ($find) { if ($find) {
@ -191,7 +185,7 @@ class CompanyController extends BaseAdminController
$sms = [ $sms = [
'mobile' => $company['master_phone'], 'mobile' => $company['master_phone'],
'name' => $company['company_name'], 'name' => $company['company_name'],
'type' => '《' . $find['contract_type_two_name'] . '》', 'type' => '《' . $find['contract_type_name'] . '》',
'code' => 'api/Hetong/url?id='.$find['id'], 'code' => 'api/Hetong/url?id='.$find['id'],
'scene' => 'WQ' 'scene' => 'WQ'
]; ];

View File

@ -20,7 +20,9 @@ use app\adminapi\validate\auth\AdminValidate;
use app\adminapi\logic\auth\AdminLogic; use app\adminapi\logic\auth\AdminLogic;
use app\adminapi\validate\auth\editSelfValidate; use app\adminapi\validate\auth\editSelfValidate;
use think\exception\ValidateException; use think\exception\ValidateException;
use think\facade\Db;
use think\facade\Request; use think\facade\Request;
use app\api\logic\SmsLogic;
/** /**
* 管理员控制器 * 管理员控制器
@ -53,9 +55,9 @@ class AdminController extends BaseAdminController
$params = Request::param(); $params = Request::param();
try { try {
$params['account']=$params['phone']; $params['phone'] = $params['account'];
$params['password']='m'.$params['phone']; $params['password'] = 'm' . $params['account'];
$params['password_confirm']='m'.$params['phone']; $params['password_confirm'] = 'm' . $params['account'];
$params['root'] = 0; $params['root'] = 0;
$params['qualification'] = json_encode($params['qualification']); $params['qualification'] = json_encode($params['qualification']);
$params['disable'] = 1; $params['disable'] = 1;
@ -147,5 +149,80 @@ class AdminController extends BaseAdminController
$result = AdminLogic::editSelf($params); $result = AdminLogic::editSelf($params);
return $this->success('操作成功', [], 1, 1); return $this->success('操作成功', [], 1, 1);
} }
// /**生成合同 */
public function Draftingcontracts()
{
$params = Request::param();
$result = AdminLogic::detail($params);
if ($result && $result['contract'] && $result['contract']['file'] != '') {
$data = [
'name' => $result['company_name'] . '合同',
'signatories' => [['fullName' => $result['company_name'], 'identityType' => 1, 'identityCard' => $result['id_card'], 'mobile' => $result['account'], 'noNeedVerify' => 1, 'signLevel' => 1]],
'url' => $result['contract']['file']
];
$res = app(JunziqianController::class)->Signing($data);
if ($res->success == true) {
Db::name('contract')->where('admin_id', $params['id'])->update(['contract_no' => $res->data]);
$data = array(
"applyNo" => $res->data, //TODO *
"fullName" => $result['company_name'], //TODO *
"identityCard" => $result['id_card'], //TODO *
"identityType" => 1, //TODO *
);
$res = app(JunziqianController::class)->SigningLink($data);
if ($res->success == true) {
Db::name('contract')->where('admin_id', $params['id'])->update(['url' => $res->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());
}
} else {
return $this->fail($res->msg);
}
return $this->success('生成合同成功', [], 1, 1);
} else {
return $this->fail($res->msg);
}
} else {
return $this->fail('生成合同成功失败,联系管理员');
}
}
//**发送短信 */
public function postsms()
{
$params = Request::param();
$admin=Db::name('admin')->where('id',$params['id'])->find();
$find = Db::name('contract')->where('admin_id', $params['id'])
->withAttr('contract_type_name', function ($value, $data) {
return Db::name('dict_data')->where('id', $data['contract_type'])->value('name');
})
->find();
if ($find && $find['url'] != '') {
//发送短信
$sms = [
'mobile' => $admin['phone'],
'name' => $admin['name'],
'type' => '《' . $find['contract_type_name'] . '》',
'code' => 'api/Hetong/url?id=' . $find['id'],
'scene' => 'WQ'
];
$result = SmsLogic::contractUrl($sms);
if (true === $result) {
return $this->success('发送成功');
} else {
return $this->fail(SmsLogic::getError());
}
}
}
} }

View File

@ -177,9 +177,9 @@ class CompanyLogic extends BaseLogic
->withAttr('party_a_name',function($value,$data){ ->withAttr('party_a_name',function($value,$data){
return Db::name('company')->where('id',$data['party_a'])->value('company_name'); return Db::name('company')->where('id',$data['party_a'])->value('company_name');
}) })
->withAttr('contract_type_two_url',function($value,$data){ // ->withAttr('contract_file_url',function($value,$data){
return Db::name('dict_data')->where('id',$data['contract_type_two'])->value('value'); // return Db::name('dict_data')->where('id',$data['contract_type_two'])->value('value');
}) // })
->find(); ->find();
} }
return $data; return $data;

View File

@ -225,6 +225,11 @@ class AdminLogic extends BaseLogic
'multipoint_login', 'avatar', 'sex', 'province', 'city', 'area', 'street', 'address', 'qualification', 'is_contract', 'id_card' 'multipoint_login', 'avatar', 'sex', 'province', 'city', 'area', 'street', 'address', 'qualification', 'is_contract', 'id_card'
])->findOrEmpty($params['id'])->toArray(); ])->findOrEmpty($params['id'])->toArray();
$admin['qualification'] = json_decode($admin['qualification'], true); $admin['qualification'] = json_decode($admin['qualification'], true);
$admin['contract']=Db::name('contract')->where('admin_id',$params['id'])
->withAttr('contract_type_name',function($value,$data){
return Db::name('dict_data')->where('id',$data['contract_type'])->value('name');
})
->find();
if ($action == 'detail') { if ($action == 'detail') {
return $admin; return $admin;
} }