|
|
@@ -38,13 +38,14 @@ class RechargeForm extends Model {
|
|
|
private $_userId;
|
|
|
|
|
|
public $id;
|
|
|
+ public $rechargeType;
|
|
|
|
|
|
/**
|
|
|
* @inheritdoc
|
|
|
*/
|
|
|
public function rules() {
|
|
|
return [
|
|
|
- [['userName', 'idCard', 'applyAmount', 'auditStatus', 'remark', 'selectedIds', 'sn','amount', 'bankRealName', 'bankNo'], 'trim'],
|
|
|
+ [['userName', 'idCard', 'applyAmount', 'auditStatus', 'remark', 'selectedIds', 'sn','amount', 'bankRealName', 'bankNo','rechargeType'], 'trim'],
|
|
|
[['selectedIds', 'auditStatus', 'userName','applyAmount','openBank','bankNo'/*,'bankAddress'*/], 'required'],
|
|
|
[['selectedIds'], 'exist', 'targetClass' => Recharge::class, 'targetAttribute' => 'ID', 'message' => 'Recharge does not exist'], // 充值申请不存在
|
|
|
[['userName'], 'exist', 'targetClass' => UserInfo::class, 'targetAttribute' => 'USER_NAME', 'message' => 'Member does not exist'],// 会员不存在
|
|
|
@@ -53,6 +54,8 @@ class RechargeForm extends Model {
|
|
|
[['applyAmount'], 'number', 'max' => 10000000000, 'min' => 1],
|
|
|
[['selectedIds'], 'isSelected'],
|
|
|
[['id'], 'number'],
|
|
|
+ ['rechargeType', 'string', 'max' => 50], // 限制长度
|
|
|
+ ['rechargeType', 'in', 'range' => ['Cash', 'Credit Card', 'Direct Banking']],
|
|
|
//[['sn'], 'isSn'],
|
|
|
];
|
|
|
}
|
|
|
@@ -65,9 +68,10 @@ class RechargeForm extends Model {
|
|
|
$parentScenarios = parent::scenarios();
|
|
|
$customScenarios = [
|
|
|
'addByAdmin' => ['userName', 'applyAmount'],
|
|
|
- 'addByUser' => ['applyAmount','openBank','bankNo','bankAddress'/*,'currency'*/],
|
|
|
- 'updateByUser' => ['id','applyAmount','openBank','bankNo','bankAddress'/*,'currency'*/],
|
|
|
+ 'addByUser' => ['applyAmount','openBank','bankNo','bankAddress','rechargeType'/*,'currency'*/],
|
|
|
+ 'updateByUser' => ['id','applyAmount','openBank','bankNo','bankAddress','rechargeType'/*,'currency'*/],
|
|
|
'statusByAdmin' => ['selectedIds', 'auditStatus', 'createRemark'],
|
|
|
+ 'updateByAdmin' => ['id', 'rechargeType'],
|
|
|
];
|
|
|
return array_merge($parentScenarios, $customScenarios);
|
|
|
}
|
|
|
@@ -211,6 +215,7 @@ class RechargeForm extends Model {
|
|
|
$rechargeModel->OPEN_BANK = $this->openBank;
|
|
|
$rechargeModel->BANK_ADDRESS = $this->bankAddress;
|
|
|
$rechargeModel->BANK_NO = $this->bankNo;
|
|
|
+ $rechargeModel->TYPE = $this->rechargeType;
|
|
|
// $rechargeModel->BANK_PROVINCE = $this->bankProvince ?? 0;
|
|
|
// $rechargeModel->BANK_CITY = $this->bankCity ?? 0;
|
|
|
// $rechargeModel->BANK_COUNTY = $this->bankCounty ?? 0;
|
|
|
@@ -268,6 +273,7 @@ class RechargeForm extends Model {
|
|
|
$rechargeLogModel->UPDATE_BANK_NO = $this->bankNo;
|
|
|
$rechargeLogModel->P_MONTH = $rechargeModel->P_MONTH;
|
|
|
$rechargeLogModel->AUDIT_STATUS = $rechargeModel->AUDIT_STATUS;
|
|
|
+ $rechargeLogModel->TYPE = $rechargeModel->TYPE;
|
|
|
$rechargeLogModel->CREATED_AT = $nowTime;
|
|
|
if (!$rechargeLogModel->save()) {
|
|
|
throw new Exception(Form::formatErrorsForApi($rechargeLogModel->getErrors()));
|
|
|
@@ -277,7 +283,8 @@ class RechargeForm extends Model {
|
|
|
$rechargeModel->OPEN_BANK = $this->openBank;
|
|
|
$rechargeModel->BANK_ADDRESS = $this->bankAddress;
|
|
|
$rechargeModel->BANK_NO = $this->bankNo;
|
|
|
- $rechargeModel->UPDATED_AT = $nowTime;
|
|
|
+// $rechargeModel->UPDATED_AT = $nowTime;
|
|
|
+ $rechargeModel->TYPE = $this->rechargeType;
|
|
|
if (!$rechargeModel->save()) {
|
|
|
throw new Exception(Form::formatErrorsForApi($rechargeModel->getErrors()));
|
|
|
}
|
|
|
@@ -290,6 +297,64 @@ class RechargeForm extends Model {
|
|
|
return $rechargeModel;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 更新充值申请
|
|
|
+ * @return null|string
|
|
|
+ * @throws \yii\db\Exception
|
|
|
+ */
|
|
|
+ public function updateType() {
|
|
|
+ if (!$this->validate(['id', 'rechargeType'])) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if(!$this->id){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $rechargeModel = Recharge::findOne(['ID' => $this->id]);
|
|
|
+// if(in_array($rechargeModel->AUDIT_STATUS,[Recharge::STATUS_PROCESSING,Recharge::STATUS_SUCCESS,Recharge::STATUS_REJECT])){
|
|
|
+// $this->addError('scenario', 'This status cannot be modified');
|
|
|
+// return false;
|
|
|
+// }
|
|
|
+ $db = \Yii::$app->db;
|
|
|
+ $transaction = $db->beginTransaction();
|
|
|
+ try {
|
|
|
+ $nowTime = Date::nowTime();
|
|
|
+ $rechargeLogModel = new RechargeLog();
|
|
|
+ $rechargeLogModel->SN = $this->_generateSn();
|
|
|
+ $rechargeLogModel->USER_ID = $rechargeModel->USER_ID;
|
|
|
+ $rechargeLogModel->REAL_NAME = $rechargeModel->REAL_NAME;
|
|
|
+ $rechargeLogModel->ID_CARD = $rechargeModel->ID_CARD;
|
|
|
+ $rechargeLogModel->RECHARGE_PERIOD_NUM = $rechargeModel->RECHARGE_PERIOD_NUM;
|
|
|
+ $rechargeLogModel->RECHARGE_YEAR = $rechargeModel->RECHARGE_YEAR;
|
|
|
+ $rechargeLogModel->RECHARGE_MONTH =$rechargeModel->RECHARGE_MONTH;
|
|
|
+ $rechargeLogModel->AMOUNT = $rechargeModel->AMOUNT;
|
|
|
+ $rechargeLogModel->UPDATE_AMOUNT = $rechargeModel->AMOUNT;
|
|
|
+ $rechargeLogModel->OPEN_BANK = $rechargeModel->OPEN_BANK;
|
|
|
+ $rechargeLogModel->UPDATE_OPEN_BANK = $rechargeModel->OPEN_BANK;
|
|
|
+ $rechargeLogModel->BANK_ADDRESS = $rechargeModel->BANK_ADDRESS;
|
|
|
+ $rechargeLogModel->UPDATE_BANK_ADDRESS = $rechargeModel->BANK_ADDRESS;
|
|
|
+ $rechargeLogModel->BANK_NO = $rechargeModel->BANK_NO;
|
|
|
+ $rechargeLogModel->UPDATE_BANK_NO = $rechargeModel->BANK_NO;
|
|
|
+ $rechargeLogModel->P_MONTH = $rechargeModel->P_MONTH;
|
|
|
+ $rechargeLogModel->AUDIT_STATUS = $rechargeModel->AUDIT_STATUS;
|
|
|
+ $rechargeLogModel->TYPE = $rechargeModel->TYPE;
|
|
|
+ $rechargeLogModel->CREATED_AT = $nowTime;
|
|
|
+ if (!$rechargeLogModel->save()) {
|
|
|
+ throw new Exception(Form::formatErrorsForApi($rechargeLogModel->getErrors()));
|
|
|
+ }
|
|
|
+
|
|
|
+ $rechargeModel->TYPE = $this->rechargeType;
|
|
|
+ if (!$rechargeModel->save()) {
|
|
|
+ throw new Exception(Form::formatErrorsForApi($rechargeModel->getErrors()));
|
|
|
+ }
|
|
|
+ $transaction->commit();
|
|
|
+ } catch (Exception $e) {
|
|
|
+ $transaction->rollBack();
|
|
|
+ $this->addError('updateType', $e->getMessage());
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return $rechargeModel;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 生成流水号
|
|
|
* @return string
|