MasterWorkerAgreeLogic.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace app\workerapi\logic;
  3. use app\common\command\AddAgreementPdf;
  4. use app\common\logic\BaseLogic;
  5. use app\common\model\master_worker\MasterWorkerAgree;
  6. use app\common\service\ConfigService;
  7. use app\common\service\UploadService;
  8. use think\Exception;
  9. use think\facade\Db;
  10. use think\Log;
  11. class MasterWorkerAgreeLogic extends BaseLogic
  12. {
  13. public static function getAgreeByType($type,$userId)
  14. {
  15. //服务合作协议是否存在pdf
  16. if($type=='master_service'){
  17. $pdf = MasterWorkerAgree::where(['agree_type'=>'master_service_content','worker_id'=>$userId])->value('pdf_url');
  18. }
  19. return [
  20. 'title' => ConfigService::get('master_agreement', $type . '_title', ''),
  21. 'content' => ConfigService::get('master_agreement', $type . '_content', ''),
  22. 'pdf'=>!empty($pdf)?'https://'.$_SERVER['SERVER_NAME'].'/'.$pdf:''
  23. ];
  24. }
  25. /**
  26. *
  27. * @param $params
  28. * @return bool|void
  29. */
  30. public static function sign($params)
  31. {
  32. try {
  33. //查询协议
  34. $agree = MasterWorkerAgree::where(['worker_id'=>$params['user_id'],'agree_type'=>'master_service_content'])->findOrEmpty();
  35. //保存签名
  36. if($agree->isEmpty()){
  37. $agree->code = generate_sn(MasterWorkerAgree::class, 'code');
  38. $agree->agree_type = 'master_service_content';
  39. $agree->worker_id = $params['user_id'];
  40. }
  41. $result = UploadService::base64Image(4, $params['sign']);
  42. $sign = $result['url'];
  43. $agree->sign = $sign;
  44. $agree->sign_status = 1;
  45. $agree->sign_time = time();
  46. $agree->save();
  47. \think\facade\Log::write('签署协议'.$agree->code);
  48. //pdf队列发送
  49. AddAgreementPdf::sendMq($agree->code,'https://'.$_SERVER['SERVER_NAME'].'/index/agreement/index?code='.$agree->code);
  50. return true;
  51. } catch (\Exception $e) {
  52. self::setError($e->getMessage());
  53. return false;
  54. }
  55. }
  56. }