| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- <?php
- /**
- * 邀请规则.
- *
- * @author jim <jim458734573@gmail.com>
- * @date 2020-01-29 10:15:03
- */
- declare (strict_types=1);
- namespace Modules\Manage\Controllers;
- use App\Model\InviteRuleModel;
- use Hyperf\Validation\Contract\ValidatorFactoryInterface;
- class InviteRuleController extends BaseController
- {
- use \Hyperf\Di\Aop\ProxyTrait;
- use \Hyperf\Di\Aop\PropertyHandlerTrait;
- function __construct()
- {
- if (method_exists(parent::class, '__construct')) {
- parent::__construct(...func_get_args());
- }
- $this->__handlePropertyHandler(__CLASS__);
- }
- public function lists(ValidatorFactoryInterface $validatorFactory)
- {
- $inputData = $this->getJsonData();
- $rules = ['page' => 'required|int', 'page_size' => 'required|int'];
- $validator = $validatorFactory->make($inputData, $rules);
- if ($validator->fails()) {
- // 如果有错误(可能是多个信息),这里只取第一个错误信息返回.
- return json_fail($validator->errors()->first());
- }
- $result = InviteRuleModel::query()->paginate($inputData['page_size'], ['*'], 'page', $inputData['page']);
- return json_success($result);
- }
- public function store(ValidatorFactoryInterface $validatorFactory)
- {
- $inputData = $this->getJsonData();
- $rules = ['person' => 'required|int', 'day' => 'required|int'];
- $validator = $validatorFactory->make($inputData, $rules);
- if ($validator->fails()) {
- // 如果有错误(可能是多个信息),这里只取第一个错误信息返回.
- return json_fail($validator->errors()->first());
- }
- $result = InviteRuleModel::query()->create($inputData);
- // 操作日志.
- $logSubject = '保存邀请规则';
- $logSvalue = '';
- $logDbData = ['after_items' => [], 'before_items' => []];
- $this->log($logSubject, $logSvalue, $logDbData);
- return json_success($result);
- }
- public function detail(ValidatorFactoryInterface $validatorFactory)
- {
- $inputData = $this->getJsonData();
- $rules = ['rule_id' => 'required|int'];
- $validator = $validatorFactory->make($inputData, $rules);
- if ($validator->fails()) {
- // 如果有错误(可能是多个信息),这里只取第一个错误信息返回.
- return json_fail($validator->errors()->first());
- }
- $result = InviteRuleModel::query()->find($inputData['rule_id']);
- return json_success($result);
- }
- public function update(ValidatorFactoryInterface $validatorFactory)
- {
- $inputData = $this->getJsonData();
- $rules = ['rule_id' => 'required|int', 'person' => 'required|int', 'day' => 'required|int'];
- $validator = $validatorFactory->make($inputData, $rules);
- if ($validator->fails()) {
- // 如果有错误(可能是多个信息),这里只取第一个错误信息返回.
- return json_fail($validator->errors()->first());
- }
- $old_items = InviteRuleModel::query()->where('id', $inputData['rule_id'])->first();
- $result = InviteRuleModel::query()->where('id', $inputData['rule_id'])->update(['person' => $inputData['person'], 'day' => $inputData['day']]);
- $new_items = InviteRuleModel::query()->where('id', $inputData['rule_id'])->first();
- // 操作日志.
- $logSubject = '更改邀请规则';
- $logSvalue = $inputData['rule_id'];
- $logDbData = ['after_items' => [$new_items->toArray()], 'before_items' => [$old_items->toArray()]];
- $this->log($logSubject, $logSvalue, $logDbData);
- return json_success($result);
- }
- public function delete(ValidatorFactoryInterface $validatorFactory)
- {
- $inputData = $this->getJsonData();
- $rules = ['rule_id' => 'required|int'];
- $validator = $validatorFactory->make($inputData, $rules);
- if ($validator->fails()) {
- // 如果有错误(可能是多个信息),这里只取第一个错误信息返回.
- return json_fail($validator->errors()->first());
- }
- $old_info = InviteRuleModel::query()->where('id', $inputData['rule_id'])->first();
- $result = InviteRuleModel::query()->where('id', $inputData['rule_id'])->delete();
- // 操作日志.
- $old_items = clone $old_info;
- $logSubject = '删除邀请规则';
- $logSvalue = $inputData['rule_id'];
- $logDbData = ['after_items' => [], 'before_items' => [$old_items->toArray()]];
- $this->log($logSubject, $logSvalue, $logDbData);
- return json_success($result);
- }
- }
|