MasterWorkerAgreeLogic.php 1.8 KB

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