* @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); } }