1
0

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