MasterWorkerAgreeLogic.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. public static function getPolicyByType(string $type)
  26. {
  27. return [
  28. 'title' => ConfigService::get('agreement', $type . '_title', ''),
  29. 'content' => ConfigService::get('agreement', $type . '_content', ''),
  30. ];
  31. }
  32. /**
  33. *
  34. * @param $params
  35. * @return bool|void
  36. */
  37. public static function sign($params)
  38. {
  39. try {
  40. //查询协议
  41. $agree = MasterWorkerAgree::where(['worker_id'=>$params['user_id'],'agree_type'=>'master_service_content'])->findOrEmpty();
  42. //保存签名
  43. if($agree->isEmpty()){
  44. $agree->code = generate_sn(MasterWorkerAgree::class, 'code');
  45. $agree->agree_type = 'master_service_content';
  46. $agree->worker_id = $params['user_id'];
  47. }
  48. $result = UploadService::base64Image(4, $params['sign']);
  49. $sign = $result['url'];
  50. $agree->sign = $sign;
  51. $agree->sign_status = 1;
  52. $agree->sign_time = time();
  53. $agree->audit_state = 0;
  54. $agree->save();
  55. \think\facade\Log::write('签署协议'.$agree->code);
  56. //pdf队列发送
  57. AddAgreementPdf::sendMq($agree->code,'https://'.$_SERVER['SERVER_NAME'].'/index/agreement/index?code='.$agree->code);
  58. return true;
  59. } catch (\Exception $e) {
  60. self::setError($e->getMessage());
  61. return false;
  62. }
  63. }
  64. }