| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <?php
- namespace app\workerapi\logic;
- use app\common\command\AddAgreementPdf;
- use app\common\logic\BaseLogic;
- use app\common\model\master_worker\MasterWorkerAgree;
- use app\common\service\ConfigService;
- use app\common\service\UploadService;
- use think\Exception;
- use think\facade\Db;
- use think\Log;
- class MasterWorkerAgreeLogic extends BaseLogic
- {
- public static function getAgreeByType($type,$userId)
- {
- //服务合作协议是否存在pdf
- if($type=='master_service'){
- $pdf = MasterWorkerAgree::where(['agree_type'=>'master_service_content','worker_id'=>$userId])->value('pdf_url');
- }
- if($type=='harmless'){
- $pdf = MasterWorkerAgree::where(['agree_type'=>'harmless_content','worker_id'=>$userId])->value('pdf_url');
- }
- if($type=='crime'){
- $pdf = MasterWorkerAgree::where(['agree_type'=>'crime_content','worker_id'=>$userId])->value('pdf_url');
- }
- return [
- 'title' => ConfigService::get('master_agreement', $type . '_title', ''),
- 'content' => ConfigService::get('master_agreement', $type . '_content', ''),
- 'pdf'=>!empty($pdf)?'https://'.$_SERVER['SERVER_NAME'].'/'.$pdf:''
- ];
- }
- public static function getPolicyByType(string $type)
- {
- if($type == 'service'){
- return [
- 'title' => ConfigService::get('agreement', $type . '_title', ''),
- 'content' => ConfigService::get('agreement', $type . '_content', ''),
- ];
- }else{
- return [
- 'title' => ConfigService::get('master_agreement', $type . '_title', ''),
- 'content' => ConfigService::get('master_agreement', $type . '_content', ''),
- ];
- }
- }
- /**
- *
- * @param $params
- * @return bool|void
- */
- public static function sign($params)
- {
- try {
- //查询协议
- // crime harmless master_service
- if(isset($params['agree_type']) && $params['agree_type']) {
- $agree_type = $params['agree_type'];
- $view_url = $agree_type;
- }else{
- $agree_type = 'master_service';
- $view_url = 'index';
- }
- $agree = MasterWorkerAgree::where(['worker_id'=>$params['user_id'],'agree_type'=>$agree_type.'_content'])->findOrEmpty();
- //保存签名
- if($agree->isEmpty()){
- $agree->code = generate_sn(MasterWorkerAgree::class, 'code');
- $agree->agree_type = $agree_type.'_content';
- $agree->worker_id = $params['user_id'];
- }
- $result = UploadService::base64Image(4, $params['sign']);
- $sign = $result['url'];
- $agree->sign = $sign;
- $agree->sign_status = 1;
- $agree->sign_time = time();
- $agree->audit_state = 0;
- $agree->save();
- \think\facade\Log::write('签署协议'.$agree->code);
- AddAgreementPdf::addPdf(['code'=>$agree->code,'url'=>'https://'.$_SERVER['SERVER_NAME'].'/index/agreement/'.$view_url.'?code='.$agree->code]);
- //pdf队列发送
- // AddAgreementPdf::sendMq($agree->code,'https://'.$_SERVER['SERVER_NAME'].'/index/agreement/index?code='.$agree->code);
- return true;
- } catch (\Exception $e) {
- self::setError($e->getMessage());
- return false;
- }
- }
- }
|