MasterWorker.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * @author 林海涛
  4. * @date ${DATA}
  5. */
  6. namespace app\common\model\master_worker;
  7. use app\common\model\BaseModel;
  8. use app\common\model\dict\DictData;
  9. use app\common\model\MasterWorkerRegister;
  10. use think\facade\Cache;
  11. /**
  12. * 师傅表
  13. * Class MasterWorker
  14. * @package app\common\model
  15. */
  16. class MasterWorker extends BaseModel
  17. {
  18. protected $name = 'master_worker';
  19. public static function createUserSn($prefix = '', $length = 8)
  20. {
  21. $rand_str = '';
  22. for ($i = 0; $i < $length; $i++) {
  23. $rand_str .= mt_rand(1, 9);
  24. }
  25. $sn = $prefix . $rand_str;
  26. if (MasterWorker::where(['sn' => $sn])->find()) {
  27. return self::createUserSn($prefix, $length);
  28. }
  29. return $sn;
  30. }
  31. public function workerRegister()
  32. {
  33. return $this->hasOne(MasterWorkerRegister::class, 'worker_id', 'id');
  34. }
  35. public function getRetentionMoneyStatusTextAttr($value,$data):string{
  36. $default = Cache::get('RETENTION_MONEY_STATUS');
  37. if (!$default) {
  38. $status = DictData::whereIn('type_value', 'retention_money_status')->column('name','value');
  39. Cache::set('RETENTION_MONEY_STATUS', json_encode($status,true),5);
  40. } else {
  41. $status = json_decode($default,true);
  42. }
  43. return $status[$data['retention_money_status']] ?? '';
  44. }
  45. public function getRetentionPayStatusTextAttr($value,$data):string{
  46. $default = Cache::get('RETENTION_PAY_STATUS');
  47. if (!$default) {
  48. $status = DictData::whereIn('type_value', 'retention_pay_status')->column('name','value');
  49. Cache::set('RETENTION_PAY_STATUS', json_encode($status,true),5);
  50. } else {
  51. $status = json_decode($default,true);
  52. }
  53. return $status[$data['retention_pay_status']] ?? '';
  54. }
  55. }