| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- <?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
- {
- 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);
- }
- }
|