Enterprise.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <?php
  2. namespace app\job;
  3. use think\queue\Job;
  4. use think\facade\Log;
  5. use think\facade\Db;
  6. use app\common\api\ChuanglanSmsApi;
  7. use app\common\model\MessageRecord;
  8. /**
  9. * Description of Enterprise
  10. * 企业相关事务处理
  11. * @author sgq
  12. */
  13. class Enterprise {
  14. public function fire(Job $job, $data) {
  15. if ($this->deal($data)) {
  16. $job->delete();
  17. return true;
  18. }
  19. if ($job->attempts() >= 3) {
  20. $job->delete();
  21. return false;
  22. }
  23. $job->release(10); //10秒后重试
  24. }
  25. /**
  26. * 处理业务逻辑
  27. * @param type $data
  28. * @return bool
  29. */
  30. public function deal($data): bool {
  31. $type = $data["type"];
  32. switch ($type) {
  33. case 1:
  34. $id = $data["id"];
  35. //注册成功,检查是否重新注册,如果是,继承账号所有人才数据和申报数据
  36. $ep = \app\common\api\EnterpriseApi::getOne($id);
  37. if ($ep && $ep["checkState"] == 3) {
  38. $where = [];
  39. $where[] = ["idCard", "=", $ep["idCard"]];
  40. $where[] = ["checkState", "=", 3];
  41. $closeRecord = \app\common\model\EnterpriseCloseAccount::where($where)->order("passTime desc")->find();
  42. if ($closeRecord && $closeRecord["enterpriseId"]) {
  43. $oldEpId = $closeRecord["enterpriseId"];
  44. //开始转移数据
  45. Db::startTrans();
  46. try {
  47. unset($where);
  48. //生活补贴
  49. $where[] = ["enterpriseId", "=", $oldEpId];
  50. $upd["enterpriseId"] = $id;
  51. $upd["type"] = $ep["type"];
  52. $upd["enterpriseName"] = $ep["name"];
  53. Db::table("md_living_allowance_info")->where($where)->save($upd);
  54. //津补贴
  55. Db::table("un_talent_allowance_info")->where($where)->save($upd);
  56. //积分
  57. unset($where);
  58. unset($upd);
  59. $where[] = ["enterprise_id", "=", $oldEpId];
  60. $upd["enterprise_id"] = $id;
  61. $upd["type"] = $ep["type"];
  62. Db::table("new_integral_log")->where($where)->save($upd);
  63. unset($upd["type"]);
  64. Db::table("new_integral_record")->where($where)->save($upd);
  65. Db::table("new_integral_veto")->where($where)->save($upd);
  66. //人才
  67. unset($where);
  68. unset($upd);
  69. $where[] = ["enterprise_id", "=", $oldEpId];
  70. $upd["enterprise_id"] = $id;
  71. Db::table("new_talent_info")->where($where)->save($upd);
  72. //信息变更
  73. unset($where);
  74. unset($upd);
  75. $where[] = ["enterpriseId", "=", $oldEpId];
  76. $upd["enterpriseId"] = $id;
  77. $upd["type"] = $ep["type"];
  78. Db::table("un_talent_basic_change")->where($where)->save($upd);
  79. $upd["enterpriseName"] = $ep["name"];
  80. Db::table("un_talent_type_change")->where($where)->save($upd);
  81. Db::table("un_talent_quit")->where($where)->save($upd);
  82. Db::table("un_talent_bank_change")->where($where)->save($upd);
  83. //工作变更情况1 作为变更前时候
  84. unset($where);
  85. unset($upd);
  86. $where[] = ["oldEnterpriseId", "=", $oldEpId];
  87. $upd["oldEnterpriseId"] = $id;
  88. Db::table("un_talent_workunit_change")->where($where)->save($upd);
  89. //工作变更情况2 作为变更后时候
  90. unset($where);
  91. unset($upd);
  92. $where[] = ["newEnterpriseId", "=", $oldEpId];
  93. $upd["newEnterpriseId"] = $id;
  94. $upd["type"] = $ep["type"];
  95. Db::table("un_talent_workunit_change")->where($where)->save($upd);
  96. //other
  97. unset($where);
  98. unset($upd);
  99. $where[] = ["enterpriseId", "=", $oldEpId];
  100. $upd["enterpriseId"] = $id;
  101. Db::table("un_talent_allowance_project")->where($where)->save($upd);
  102. Db::table("un_talent_allowancecontract_detail")->where($where)->save($upd);
  103. $upd["type"] = $ep["type"];
  104. Db::table("un_childschool_fees")->where($where)->save($upd);
  105. Db::table("un_house_renting")->where($where)->save($upd);
  106. Db::table("un_house_renting_fees")->where($where)->save($upd);
  107. Db::table("un_house_renting_purchase_fees")->where($where)->save($upd);
  108. Db::table("un_housepurchase")->where($where)->save($upd);
  109. Db::table("un_houser_renting_purchase_apply")->where($where)->save($upd);
  110. Db::table("un_medical_subsidy")->where($where)->save($upd);
  111. Db::table("un_training_subsidy")->where($where)->save($upd);
  112. Db::table("un_major_projects")->where($where)->save($upd);
  113. Db::commit();
  114. return true;
  115. } catch (\think\Exception $e) {
  116. Db::rollback();
  117. Log::error(json_encode($data));
  118. Log::error($e->getMessage());
  119. return false;
  120. }
  121. }
  122. }
  123. break;
  124. }
  125. return false;
  126. }
  127. }