CertificateClaim.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. namespace addons\Certificate\common\models;
  3. use common\models\user\User;
  4. use addons\Certificate\common\models\Certificate;
  5. use Yii;
  6. use yii\db\Exception;
  7. /**
  8. * This is the model class for table "{{%addons_certificate_claim}}".
  9. *
  10. * @property int $id
  11. * @property int|null $mall_id 商城ID
  12. * @property int|null $number 证书编号
  13. * @property int|null $certificate_id 证书ID
  14. * @property int|null $user_id 用户ID
  15. * @property string|null $status 状态(-1是已删除,0是禁用,1是正常)
  16. * @property int|null $created_at 创建时间
  17. * @property int|null $updated_at 更新时间
  18. */
  19. class CertificateClaim extends \common\models\base\BaseActiveRecord
  20. {
  21. /**
  22. * {@inheritdoc}
  23. */
  24. public static function tableName()
  25. {
  26. return '{{%addons_certificate_claim}}';
  27. }
  28. /**
  29. * {@inheritdoc}
  30. */
  31. public function rules()
  32. {
  33. return [
  34. [['mall_id','status', 'number', 'certificate_id', 'user_id', 'created_at', 'updated_at'], 'integer'],
  35. ];
  36. }
  37. /**
  38. * {@inheritdoc}
  39. */
  40. public function attributeLabels()
  41. {
  42. return [
  43. 'id' => 'ID',
  44. 'mall_id' => '商城ID',
  45. 'number' => '证书编号',
  46. 'certificate_id' => '证书ID',
  47. 'user_id' => '用户ID',
  48. 'status' => '状态(-1是已删除,0是禁用,1是正常)',
  49. 'created_at' => '创建时间',
  50. 'updated_at' => '更新时间',
  51. ];
  52. }
  53. /**
  54. * 保存数据
  55. * @Author: ltm
  56. * @DateTime: 2022/5/7 0022 17:13
  57. * @Copyright: copyright (c) 2021 广东七件事集团
  58. * @param array $params
  59. * @return string
  60. */
  61. public static function setData(array $params){
  62. try{
  63. $status = 0;
  64. $model = self::findOne(['certificate_id'=>$params['id'],'mall_id'=>$params['mall_id'],'user_id'=>$params['user_id']]);
  65. if (!$model) {
  66. $model = new self();
  67. $model->number = $params['user_id'].substr($params['mobile'],-4).$params['id'];
  68. $model->loadDefaultValues();
  69. $status = 1;
  70. }
  71. $model->certificate_id = $params['id'];
  72. $model->mall_id = $params['mall_id'];
  73. $certificate = Certificate::findOne(['id'=>$params['id'],'mall_id'=>$params['mall_id']]);
  74. $certificate->download_num = $certificate->download_num + 1;
  75. if(!$model->load($params,'') || !$model->save()){
  76. throw new Exception($model->getErrorMessage());
  77. }
  78. $certificate->save();
  79. return $model;
  80. }catch(\Exception $e){
  81. self::$static_error = $e->getMessage();
  82. return false;
  83. }
  84. }
  85. /**
  86. * 关联用户信息
  87. * @Author:ltm
  88. * @DateTime: 2022/5/7 0022 17:13
  89. * @Copyright: copyright (c) 2021 广东七件事集团
  90. * @return \yii\db\ActiveQuery
  91. */
  92. public function getUser()
  93. {
  94. return $this->hasOne(User::class, ['id' => 'user_id'])->select('id,nickname,username,mobile,avatar_url');
  95. }
  96. /**
  97. * 关联卡号信息
  98. * @Author:ltm
  99. * @DateTime: 2022/5/7 0022 17:13
  100. * @Copyright: copyright (c) 2021 广东七件事集团
  101. * @return \yii\db\ActiveQuery
  102. */
  103. public function getCertificate()
  104. {
  105. return $this->hasOne(Certificate::class, ['id' => 'certificate_id'])->select('id,name');
  106. }
  107. }