| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- <?php
- // +----------------------------------------------------------------------
- // | saiadmin [ saiadmin快速开发框架 ]
- // +----------------------------------------------------------------------
- namespace plugin\saiadmin\app\controller\merchant;
- use plugin\saiadmin\app\logic\merchant\MerchantLogic;
- use plugin\saiadmin\app\validate\merchant\MerchantValidate;
- use plugin\saiadmin\basic\BaseController;
- use plugin\saiadmin\service\Permission;
- use support\Request;
- use support\Response;
- /**
- * 我的商户控制器
- */
- class MerchantController extends BaseController
- {
- public function __construct()
- {
- $this->logic = new MerchantLogic();
- $this->validate = new MerchantValidate();
- parent::__construct();
- }
- #[Permission('商户列表', 'core:merchant:index')]
- public function index(Request $request): Response
- {
- $where = $request->more([
- ['scope', 'own'],
- ['agent_id', ''],
- ['name', ''],
- ['phone', ''],
- ['distributed', ''],
- ['status', ''],
- ['profit_method', ''],
- ['device_category', 'all'],
- ['agent_type', ''],
- ['sort', 'default'],
- ]);
- return $this->success($this->logic->indexList($where));
- }
- #[Permission('商户详情', 'core:merchant:read')]
- public function read(Request $request): Response
- {
- return $this->success($this->logic->readAccessible((int) $request->input('id', 0)));
- }
- #[Permission('导出商户', 'core:merchant:export')]
- public function export(Request $request): Response
- {
- $where = $request->more([
- ['scope', 'own'],
- ['agent_id', ''],
- ['name', ''],
- ['phone', ''],
- ['distributed', ''],
- ['status', ''],
- ['profit_method', ''],
- ['device_category', 'all'],
- ['agent_type', ''],
- ['sort', 'default'],
- ]);
- return $this->logic->export($where);
- }
- #[Permission('新增商户', 'core:merchant:save')]
- public function save(Request $request): Response
- {
- $data = $request->post();
- $this->validate('save', $data);
- $id = $this->logic->addMerchant($data);
- return $this->success(['id' => $id], '添加成功');
- }
- #[Permission('编辑商户', 'core:merchant:update')]
- public function update(Request $request): Response
- {
- $data = $request->post();
- $this->validate('update', $data);
- $this->logic->editMerchant((int) $data['id'], $data);
- return $this->success([], '保存成功');
- }
- #[Permission('删除商户', 'core:merchant:destroy')]
- public function destroy(Request $request): Response
- {
- $this->logic->destroyAccessible($request->input('ids', []));
- return $this->success([], '删除成功');
- }
- #[Permission('重置商户密码', 'core:merchant:password')]
- public function password(Request $request): Response
- {
- $data = $request->post();
- $this->validate('password', $data);
- $this->logic->resetPassword((int) $data['id'], (string) $data['password']);
- return $this->success([], '密码重置成功');
- }
- #[Permission('商户绑定设备列表', 'core:merchant:device:index')]
- public function devices(Request $request): Response
- {
- return $this->success($this->logic->boundDevices((int) $request->input('id', 0)));
- }
- #[Permission('商户绑定设备', 'core:merchant:device:bind')]
- public function bindDevice(Request $request): Response
- {
- $data = $request->post();
- $this->validate('deviceBind', $data);
- $result = $this->logic->bindDevices((int) $data['merchant_id'], $data['device_sns']);
- return $this->success($result, (string) $result['message']);
- }
- #[Permission('商户解绑设备', 'core:merchant:device:unbind')]
- public function unbindDevice(Request $request): Response
- {
- $data = $request->post();
- $this->validate('deviceUnbind', $data);
- $this->logic->unbindDevice((int) $data['merchant_id'], (int) $data['device_id']);
- return $this->success([], '设备解绑成功');
- }
- #[Permission('商户提现更新配置', 'core:merchant:withdrawalSetting:read')]
- public function withdrawalSetting(Request $request): Response
- {
- return $this->success(
- $this->logic->readWithdrawalSetting((int) $request->input('id', 0))
- );
- }
- #[Permission('保存商户提现更新配置', 'core:merchant:withdrawalSetting:update')]
- public function updateWithdrawalSetting(Request $request): Response
- {
- $data = $request->post();
- $this->validate('withdrawalSetting', $data);
- $this->logic->updateWithdrawalSetting(
- (int) $data['merchant_id'],
- (int) $data['update_mode'],
- (int) $data['update_day']
- );
- return $this->success([], '提现更新设置保存成功');
- }
- #[Permission('商户营业时间', 'core:merchant:update')]
- public function businessTime(Request $request): Response
- {
- return $this->success(
- $this->logic->readBusinessTime((int) $request->input('id', 0))
- );
- }
- #[Permission('保存商户营业时间', 'core:merchant:update')]
- public function updateBusinessTime(Request $request): Response
- {
- $data = $request->post();
- $this->validate('businessTime', $data);
- $this->logic->updateBusinessTime(
- (int) $data['merchant_id'],
- (string) $data['business_time_des']
- );
- return $this->success([], '营业时间保存成功');
- }
- #[Permission('商户数据统计', 'core:merchant:statistics')]
- public function statistics(Request $request): Response
- {
- return $this->success($this->logic->statistics(
- (int) $request->input('id', 0),
- (string) $request->input('start_date', ''),
- (string) $request->input('end_date', '')
- ));
- }
- #[Permission('导出商户数据统计', 'core:merchant:statistics:export')]
- public function statisticsExport(Request $request): Response
- {
- return $this->logic->statisticsExport(
- (int) $request->input('id', 0),
- (string) $request->input('start_date', ''),
- (string) $request->input('end_date', '')
- );
- }
- }
|