* @version : HUOSDK 8.0 */ namespace huo\controller\agent; use huo\controller\common\Base; use huo\model\agent\AgentManModel; use huolib\constant\SettleConst; use huolib\status\CommonStatus; use huolib\status\MemberStatus; use huolib\status\SettleStatus; class AgentMan extends Base { /** * @param $agent_id * @param $type * * @return mixed */ public function getInfoByAgentAndType($agent_id, $type) { return (new AgentManModel())->getInfoByAgentAndType($agent_id, $type); } /** * @param $agent_id * * @return array */ public function getList($agent_id) { $_am_model = new AgentManModel(); $_types = [SettleConst::SETTLE_TYPE_BANK, SettleConst::SETTLE_TYPE_ALIPAY, SettleConst::SETTLE_TYPE_WXPAY]; $_rdatas = $_am_model->getInfoByAgent($agent_id); if (empty($_rdatas)) { foreach ($_types as $_type) { $_data['type'] = $_type; $_data['agent_id'] = $agent_id; $_am_model->addData($_data); } $_rdatas = $_am_model->getInfoByAgent($agent_id); } if (empty($_rdatas)) { $_code = CommonStatus::INVALID_PARAMS; return $this->huoError($_code, CommonStatus::getMsg($_code)); } $_code = CommonStatus::NO_ERROR; $_data['count'] = 3; $_data['list'] = $_rdatas; return $this->huoSuccess($_code, CommonStatus::getMsg($_code), $_data); } public function edit($param, $agent_id) { if (empty($agent_id)) { $_code = MemberStatus::UID_NOT_EXISTS; return $this->huoError($_code, MemberStatus::getMsg($_code)); } $_chk_rs = $this->checkSettleParam($param); if (SettleStatus::NO_ERROR != $_chk_rs) { return $this->huoError($_chk_rs, SettleStatus::getMsg($_chk_rs)); } $_am_model = new AgentManModel(); $_data = $_am_model->getInfoByAgentAndType($agent_id, $param['type']); if (empty($_data)) { $_data = $param; $_data['agent_id'] = $agent_id; $_rs = $_am_model->addData($_data); } else { $_data = array_merge($_data, $param); $_rs = $_am_model->updateData($_data, $_data['id']); } if (false === $_rs) { $_rs = SettleStatus::INNER_ERROR; return $this->huoError($_rs, SettleStatus::getMsg($_rs)); } $_code = SettleStatus::NO_ERROR; return $this->huoError($_code, SettleStatus::getMsg($_code)); } /** * @param $param * * @return int */ public function checkSettleParam($param) { if (empty($param)) { return SettleStatus::INVALID_PARAMS; } if (empty($param['type'])) { return SettleStatus::TYPE_EMPTY; } if (empty($param['cardholder'])) { return SettleStatus::CARDHOLDER_EMPTY; } switch ($param['type']) { case SettleConst::SETTLE_TYPE_BANK: { if (empty($param['banknum'])) { return SettleStatus::BANKNUM_EMPTY; } if (empty($param['bankname'])) { return SettleStatus::BANKNAME_EMPTY; } if (empty($param['branchname'])) { return SettleStatus::BRANCHNAME_EMPTY; } break; } case SettleConst::SETTLE_TYPE_ALIPAY: { if (empty($param['banknum'])) { return SettleStatus::ALIPAY_EMPTY; } break; } case SettleConst::SETTLE_TYPE_WXPAY: case SettleConst::SETTLE_TYPE_MP: { if (empty($param['banknum'])) { return SettleStatus::WXPAY_EMPTY; } break; } default: { return SettleStatus::TYPE_EMPTY; } } return SettleStatus::NO_ERROR; } }