| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?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;
- class MasterWorkerAgreeLogic extends BaseLogic
- {
- public static function getAgreeByType($type)
- {
- 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 {
- //查询协议
- $agree = MasterWorkerAgree::where(['worker_id'=>$params['user_id'],'agree_type'=>'master_service_content'])->findOrEmpty();
- if(!$agree->isEmpty() and !empty($agree->sign)){
- throw new Exception('请勿重复签名');
- }
- //保存签名
- if($agree->isEmpty()){
- $agree->code = generate_sn(MasterWorkerAgree::class, 'code');
- $agree->agree_type = 'master_service_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->save();
- //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;
- }
- }
- }
|