Java tutorial
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.migo.controller; import com.migo.annotation.SysLog; import com.migo.entity.SysUserEntity; import com.migo.service.SysUserRoleService; import com.migo.service.SysUserService; import com.migo.utils.*; import com.migo.validator.Assert; import com.migo.validator.ValidatorUtils; import com.migo.validator.group.AddGroup; import com.migo.validator.group.UpdateGroup; import org.apache.commons.lang.ArrayUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.crypto.hash.Sha256Hash; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * * * @author * @email fei6751803@163.com */ @RestController @RequestMapping("/sys/user") public class SysUserController extends AbstractController { @Autowired private SysUserService sysUserService; @Autowired private SysUserRoleService sysUserRoleService; /** * */ @RequestMapping("/list") @RequiresPermissions("sys:user:list") public R list(@RequestParam Map<String, Object> params) { //???? if (getUserId() != Constant.SUPER_ADMIN) { params.put("createUserId", getUserId()); } //? Query query = new Query(params); List<SysUserEntity> userList = sysUserService.queryList(query); int total = sysUserService.queryTotal(query); PageUtils pageUtil = new PageUtils(userList, total, query.getLimit(), query.getPage()); return R.ok().put("page", pageUtil); } /** * ?? */ @RequestMapping("/info") public R info() { return R.ok().put("user", getUser()); } /** * ? */ @SysLog("?") @RequestMapping("/password") public R password(String password, String newPassword) { Assert.isBlank(newPassword, "??"); //sha256 password = new Sha256Hash(password).toHex(); //sha256 newPassword = new Sha256Hash(newPassword).toHex(); //? int count = sysUserService.updatePassword(getUserId(), password, newPassword); if (count == 0) { return R.error("??"); } // ShiroUtils.logout(); return R.ok(); } /** * ? */ @RequestMapping("/info/{userId}") @RequiresPermissions("sys:user:info") public R info(@PathVariable("userId") Long userId) { SysUserEntity user = sysUserService.queryObject(userId); //? List<Long> roleIdList = sysUserRoleService.queryRoleIdList(userId); user.setRoleIdList(roleIdList); return R.ok().put("user", user); } /** * ? */ @SysLog("?") @RequestMapping("/save") @RequiresPermissions("sys:user:save") public R save(@RequestBody SysUserEntity user) { ValidatorUtils.validateEntity(user, AddGroup.class); user.setCreateUserId(getUserId()); sysUserService.save(user); return R.ok(); } /** * */ @SysLog("") @RequestMapping("/update") @RequiresPermissions("sys:user:update") public R update(@RequestBody SysUserEntity user) { ValidatorUtils.validateEntity(user, UpdateGroup.class); user.setCreateUserId(getUserId()); sysUserService.update(user); return R.ok(); } /** * */ @SysLog("") @RequestMapping("/delete") @RequiresPermissions("sys:user:delete") public R delete(@RequestBody Long[] userIds) { if (ArrayUtils.contains(userIds, 1L)) { return R.error("??"); } if (ArrayUtils.contains(userIds, getUserId())) { return R.error("??"); } sysUserService.deleteBatch(userIds); return R.ok(); } }