diff --git a/maku-framework/src/main/resources/auth.yml b/maku-framework/src/main/resources/auth.yml index 12dbb99..00fcd50 100644 --- a/maku-framework/src/main/resources/auth.yml +++ b/maku-framework/src/main/resources/auth.yml @@ -8,4 +8,8 @@ auth: - /swagger-ui.html - /swagger-ui/** - /doc.html - - / \ No newline at end of file + - / + - /maku/t_user/login + - /maku/t_user/updateUser + - /maku/t_user/register + - /maku/t_user/logout \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/controller/TBookController.java b/maku-server/src/main/java/net/maku/maku/controller/TBookController.java index 582b6e5..c1fb10f 100644 --- a/maku-server/src/main/java/net/maku/maku/controller/TBookController.java +++ b/maku-server/src/main/java/net/maku/maku/controller/TBookController.java @@ -1,6 +1,7 @@ package net.maku.maku.controller; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import net.maku.framework.common.utils.PageResult; @@ -30,6 +31,23 @@ import java.util.List; public class TBookController { private final TBookService tBookService; + @GetMapping("/list") + @Operation(summary = "列表") + public Result> list() { + List list = tBookService.list(); + + return Result.ok(list); + } + + @GetMapping("") + @Operation(summary = "书籍") + @Parameter + public Result getById(@PathVariable Long id){ + TBookEntity entity = tBookService.getById(id); + + return Result.ok(entity); + } + @GetMapping("page") @Operation(summary = "分页") @PreAuthorize("hasAuthority('maku:t_book:page')") diff --git a/maku-server/src/main/java/net/maku/maku/controller/TUserController.java b/maku-server/src/main/java/net/maku/maku/controller/TUserController.java index 507c1b9..ff71544 100644 --- a/maku-server/src/main/java/net/maku/maku/controller/TUserController.java +++ b/maku-server/src/main/java/net/maku/maku/controller/TUserController.java @@ -1,8 +1,11 @@ package net.maku.maku.controller; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; import lombok.AllArgsConstructor; +import net.maku.framework.common.cache.RedisCache; import net.maku.framework.common.utils.PageResult; import net.maku.framework.common.utils.Result; import net.maku.maku.convert.TUserConvert; @@ -10,7 +13,9 @@ import net.maku.maku.entity.TUserEntity; import net.maku.maku.service.TUserService; import net.maku.maku.query.TUserQuery; import net.maku.maku.vo.TUserVO; +import oracle.jdbc.proxy.annotation.Post; import org.springdoc.core.annotations.ParameterObject; +import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -18,7 +23,7 @@ import jakarta.validation.Valid; import java.util.List; /** -* +* * * @author 阿沐 babamu@126.com * @since 1.0.0 2024-07-16 @@ -29,6 +34,55 @@ import java.util.List; @AllArgsConstructor public class TUserController { private final TUserService tUserService; + private final RedisCache redisCache; + + @PostMapping("/register") + @Operation(summary = "注册") + public ResponseEntity> register(@RequestBody TUserEntity entity) { + TUserEntity existingUser = tUserService.login(entity); + if (existingUser != null) { + return ResponseEntity.badRequest().body(Result.error("用户名已存在")); + } else { + tUserService.save(entity); + return ResponseEntity.ok(Result.ok("注册成功")); + } + } + + + @PostMapping("/login") + @Operation(summary = "登录") + public Result login(@RequestBody TUserEntity entity){ + TUserEntity entity1 = tUserService.login(entity); + if(ObjectUtils.isNotNull(entity1)){ + return Result.ok(entity1); + }else { + return Result.error("登录失败"); + } + } + + + @GetMapping("/updateUser") + @Operation(summary = "修改") + public Result updateUser(@RequestBody TUserVO vo){ + TUserVO tUserVO = tUserService.updateUser(vo); + + return Result.ok(tUserVO); + } + + @PostMapping("/logout") + @Operation(summary = "退出登录") + public Result logout(HttpServletRequest request) { + String token = request.getHeader("token"); + if (token == null) { + return Result.error("token为空"); + } + Object o = redisCache.get(token); + if (o != null) { + redisCache.delete(token); + return Result.ok("退出登录"); + } + return Result.error("登录失败"); + } @GetMapping("page") @Operation(summary = "分页") @@ -74,4 +128,6 @@ public class TUserController { return Result.ok(); } + + } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/service/TBookService.java b/maku-server/src/main/java/net/maku/maku/service/TBookService.java index 96bdeed..896f5ca 100644 --- a/maku-server/src/main/java/net/maku/maku/service/TBookService.java +++ b/maku-server/src/main/java/net/maku/maku/service/TBookService.java @@ -23,4 +23,5 @@ public interface TBookService extends BaseService { void update(TBookVO vo); void delete(List idList); + } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/service/TUserService.java b/maku-server/src/main/java/net/maku/maku/service/TUserService.java index 9279f5c..5dbb763 100644 --- a/maku-server/src/main/java/net/maku/maku/service/TUserService.java +++ b/maku-server/src/main/java/net/maku/maku/service/TUserService.java @@ -23,4 +23,9 @@ public interface TUserService extends BaseService { void update(TUserVO vo); void delete(List idList); + + TUserEntity login(TUserEntity entity); + + TUserVO updateUser(TUserVO vo); + } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TUserServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TUserServiceImpl.java index 36f00e8..38412d7 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TUserServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TUserServiceImpl.java @@ -1,5 +1,6 @@ package net.maku.maku.service.impl; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -16,6 +17,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.UUID; /** * @@ -27,6 +29,7 @@ import java.util.List; @AllArgsConstructor public class TUserServiceImpl extends BaseServiceImpl implements TUserService { + @Override public PageResult page(TUserQuery query) { IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); @@ -60,4 +63,28 @@ public class TUserServiceImpl extends BaseServiceImpl imp removeByIds(idList); } + public TUserEntity login(TUserEntity entity) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TUserEntity::getUsername, entity.getUsername()); + wrapper.eq(TUserEntity::getPassword, entity.getPassword()); + TUserEntity user = getOne(wrapper); + if (ObjectUtils.isNotNull(user)){ + UUID uuid = UUID.randomUUID(); + user.setAvatar(uuid.toString()); + updateById(user); + return user; + }else{ + return null; + } + } + + @Override + public TUserVO updateUser(TUserVO vo) { + TUserEntity entity =new TUserEntity(); + entity.setUsername(vo.getUsername()); + entity.setPassword(vo.getPassword()); + updateById(entity); + return vo; + } + } \ No newline at end of file