From 0359e93c199c320b3601548be47e95fc7d6fddaf Mon Sep 17 00:00:00 2001 From: xiaoqiantx223 <491437285@qq.com> Date: Tue, 23 Jul 2024 11:54:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=94=AF=E4=BB=982.0?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maku-framework/src/main/resources/auth.yml | 2 +- .../maku/maku/controller/TPurchaseController.java | 3 +- .../controller/TPurchaseDetailsController.java | 17 +++++++++++ .../net/maku/maku/controller/TUserController.java | 33 ++++++++++++++++++---- .../maku/maku/entity/TPurchaseDetailsEntity.java | 4 ++- .../java/net/maku/maku/entity/TUserEntity.java | 2 +- .../maku/maku/service/TPurchaseDetailsService.java | 5 ++++ .../net/maku/maku/service/TPurchaseService.java | 4 +++ .../java/net/maku/maku/service/TUserService.java | 1 + .../service/impl/TPurchaseDetailsServiceImpl.java | 20 +++++++++++++ .../maku/service/impl/TPurchaseServiceImpl.java | 1 + .../maku/maku/service/impl/TUserServiceImpl.java | 11 +++++++- maku-server/src/main/resources/application-dev.yml | 2 ++ 13 files changed, 93 insertions(+), 12 deletions(-) diff --git a/maku-framework/src/main/resources/auth.yml b/maku-framework/src/main/resources/auth.yml index 5c74219..4399476 100644 --- a/maku-framework/src/main/resources/auth.yml +++ b/maku-framework/src/main/resources/auth.yml @@ -8,6 +8,6 @@ auth: - /swagger-ui.html - /swagger-ui/** - /doc.html - - /maku/t_user/** + - /maku/** diff --git a/maku-server/src/main/java/net/maku/maku/controller/TPurchaseController.java b/maku-server/src/main/java/net/maku/maku/controller/TPurchaseController.java index 99e1ccc..040c201 100644 --- a/maku-server/src/main/java/net/maku/maku/controller/TPurchaseController.java +++ b/maku-server/src/main/java/net/maku/maku/controller/TPurchaseController.java @@ -2,6 +2,7 @@ package net.maku.maku.controller; 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.utils.PageResult; import net.maku.framework.common.utils.Result; @@ -30,8 +31,6 @@ import java.util.List; public class TPurchaseController { private final TPurchaseService tPurchaseService; - - @GetMapping("page") @Operation(summary = "分页") @PreAuthorize("hasAuthority('maku:t_purchase:page')") diff --git a/maku-server/src/main/java/net/maku/maku/controller/TPurchaseDetailsController.java b/maku-server/src/main/java/net/maku/maku/controller/TPurchaseDetailsController.java index 7a2a2fe..cfec48e 100644 --- a/maku-server/src/main/java/net/maku/maku/controller/TPurchaseDetailsController.java +++ b/maku-server/src/main/java/net/maku/maku/controller/TPurchaseDetailsController.java @@ -2,11 +2,15 @@ package net.maku.maku.controller; 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.TPurchaseDetailsConvert; import net.maku.maku.entity.TPurchaseDetailsEntity; +import net.maku.maku.entity.TPurchaseEntity; +import net.maku.maku.entity.TUserEntity; import net.maku.maku.service.TPurchaseDetailsService; import net.maku.maku.query.TPurchaseDetailsQuery; import net.maku.maku.vo.TPurchaseDetailsVO; @@ -29,6 +33,19 @@ import java.util.List; @AllArgsConstructor public class TPurchaseDetailsController { private final TPurchaseDetailsService tPurchaseDetailsService; + private final RedisCache redisCache; + @GetMapping("/buy") + @Operation(summary = "购买") + public Result purchaseBook(HttpServletRequest request) { + String token = request.getHeader("token"); + TUserEntity entity = (TUserEntity) redisCache.get(token); + boolean isPurchased = tPurchaseDetailsService.purchaseBook(entity); + if (isPurchased) { + return Result.ok("购买成功"); + } else { + return Result.error("余额不足,请充值"); + } + } @GetMapping("page") @Operation(summary = "分页") 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 3b9dbcb..d981f07 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 @@ -54,8 +54,14 @@ public class TUserController { if (existingUser != null) { return ResponseEntity.badRequest().body(Result.error("用户名已存在")); } else { + //明文注册 tUserService.save(entity); return ResponseEntity.ok(Result.ok("注册成功")); + //加密注册 +// String encryptedPassword = passwordEncoder.passwordEncoder().encode(entity.getPassword()); +// entity.setPassword(encryptedPassword); +// tUserService.save(entity); +// return ResponseEntity.ok(Result.ok("注册成功")); } } @@ -63,15 +69,30 @@ public class TUserController { @PostMapping("/login") @Operation(summary = "登录") public Result login(@RequestBody TUserEntity entity){ + //加密登录 +// TUserEntity entity1 = tUserService.findByUsername(entity.getUsername()); +// if (entity1 != null) { +// // 验证密码是否匹配 +// boolean isMatch = passwordEncoder.passwordEncoder().matches(entity.getPassword(), entity1.getPassword()); +// if (isMatch) { +// String token = UUID.randomUUID().toString(); +// redisCache.set(token, entity1); +// return Result.ok(token); +// } else { +// return Result.error("密码错误"); +// } +// }else { +// return Result.error("用户不存在"); +// } + + //明文登录 TUserEntity entity1 = tUserService.login(entity); - // 验证密码是否匹配 - boolean isMatch = passwordEncoder.passwordEncoder().matches(entity1.getPassword(), entity.getPassword()); - if (isMatch) { + if(entity1 != null) { String token = UUID.randomUUID().toString(); redisCache.set(token, entity1); return Result.ok(token); - } else { - return Result.error("密码错误"); + }else { + return Result.error("用户名不存在"); } } @@ -101,7 +122,7 @@ public class TUserController { String orderId = payConfig.generateOrderId(); boolean paymentResult = payConfig.callPaymentService(balance); if (paymentResult) { - int money = entity.getBalance(); + double money = entity.getBalance(); entity.setBalance(money + balance); tUserService.updateById(entity); return Result.ok(orderId+"支付成功"); diff --git a/maku-server/src/main/java/net/maku/maku/entity/TPurchaseDetailsEntity.java b/maku-server/src/main/java/net/maku/maku/entity/TPurchaseDetailsEntity.java index 6617f0d..0e569e1 100644 --- a/maku-server/src/main/java/net/maku/maku/entity/TPurchaseDetailsEntity.java +++ b/maku-server/src/main/java/net/maku/maku/entity/TPurchaseDetailsEntity.java @@ -22,6 +22,8 @@ public class TPurchaseDetailsEntity { private Integer bookId; - private BigDecimal price; + private double price; + + private double count; } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/entity/TUserEntity.java b/maku-server/src/main/java/net/maku/maku/entity/TUserEntity.java index b890266..6cc62fb 100644 --- a/maku-server/src/main/java/net/maku/maku/entity/TUserEntity.java +++ b/maku-server/src/main/java/net/maku/maku/entity/TUserEntity.java @@ -25,7 +25,7 @@ public class TUserEntity { private String avatar; - private int balance; + private double balance; private Integer status; diff --git a/maku-server/src/main/java/net/maku/maku/service/TPurchaseDetailsService.java b/maku-server/src/main/java/net/maku/maku/service/TPurchaseDetailsService.java index 3232e15..aaf918c 100644 --- a/maku-server/src/main/java/net/maku/maku/service/TPurchaseDetailsService.java +++ b/maku-server/src/main/java/net/maku/maku/service/TPurchaseDetailsService.java @@ -2,6 +2,7 @@ package net.maku.maku.service; import net.maku.framework.common.utils.PageResult; import net.maku.framework.mybatis.service.BaseService; +import net.maku.maku.entity.TUserEntity; import net.maku.maku.vo.TPurchaseDetailsVO; import net.maku.maku.query.TPurchaseDetailsQuery; import net.maku.maku.entity.TPurchaseDetailsEntity; @@ -23,4 +24,8 @@ public interface TPurchaseDetailsService extends BaseService idList); + + + boolean purchaseBook(TUserEntity entity); + } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/service/TPurchaseService.java b/maku-server/src/main/java/net/maku/maku/service/TPurchaseService.java index a010e41..61bb554 100644 --- a/maku-server/src/main/java/net/maku/maku/service/TPurchaseService.java +++ b/maku-server/src/main/java/net/maku/maku/service/TPurchaseService.java @@ -2,6 +2,8 @@ package net.maku.maku.service; import net.maku.framework.common.utils.PageResult; import net.maku.framework.mybatis.service.BaseService; +import net.maku.maku.entity.TPurchaseDetailsEntity; +import net.maku.maku.entity.TUserEntity; import net.maku.maku.vo.TPurchaseVO; import net.maku.maku.query.TPurchaseQuery; import net.maku.maku.entity.TPurchaseEntity; @@ -23,4 +25,6 @@ public interface TPurchaseService extends BaseService { void update(TPurchaseVO 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 075d6fc..5374890 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 @@ -28,5 +28,6 @@ public interface TUserService extends BaseService { TUserVO updateUser(TUserVO vo); + TUserEntity findByUsername(String username); } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseDetailsServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseDetailsServiceImpl.java index 8313013..89dece4 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseDetailsServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseDetailsServiceImpl.java @@ -9,7 +9,9 @@ import net.maku.framework.common.utils.PageResult; import net.maku.framework.mybatis.service.impl.BaseServiceImpl; import net.maku.maku.convert.TPurchaseDetailsConvert; import net.maku.maku.entity.TPurchaseDetailsEntity; +import net.maku.maku.entity.TUserEntity; import net.maku.maku.query.TPurchaseDetailsQuery; +import net.maku.maku.service.TUserService; import net.maku.maku.vo.TPurchaseDetailsVO; import net.maku.maku.dao.TPurchaseDetailsDao; import net.maku.maku.service.TPurchaseDetailsService; @@ -28,6 +30,7 @@ import java.util.List; @AllArgsConstructor public class TPurchaseDetailsServiceImpl extends BaseServiceImpl implements TPurchaseDetailsService { + private final TUserService tUserService; @Override public PageResult page(TPurchaseDetailsQuery query) { IPage page = baseMapper.selectPage(getPage(query), getWrapper(query)); @@ -62,4 +65,21 @@ public class TPurchaseDetailsServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TPurchaseDetailsEntity::getPurchaseId,entity.getId()); + TPurchaseDetailsEntity one =getOne(wrapper); + double price = one.getPrice(); + double count =one.getCount(); + double balance= entity.getBalance(); + if (balance>=price*count){ + double newBalance = balance-price*count; + entity.setBalance(newBalance); + tUserService.updateById(entity); + return true; + } + return false; + } + } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseServiceImpl.java index f91b90e..61f95f4 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseServiceImpl.java @@ -10,6 +10,7 @@ import net.maku.framework.mybatis.service.impl.BaseServiceImpl; import net.maku.maku.convert.TPurchaseConvert; import net.maku.maku.entity.TPurchaseEntity; import net.maku.maku.query.TPurchaseQuery; +import net.maku.maku.service.TUserService; import net.maku.maku.vo.TPurchaseVO; import net.maku.maku.dao.TPurchaseDao; import net.maku.maku.service.TPurchaseService; 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 5c5e3c5..2d7205e 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 @@ -83,7 +83,16 @@ public class TUserServiceImpl extends BaseServiceImpl imp return vo; } - + @Override + public TUserEntity findByUsername(String username) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TUserEntity::getUsername,username); + TUserEntity one = getOne(wrapper); + if(ObjectUtils.isNotNull(one)) { + return one; + } + return null; + } } \ No newline at end of file diff --git a/maku-server/src/main/resources/application-dev.yml b/maku-server/src/main/resources/application-dev.yml index 4ef148c..845570e 100644 --- a/maku-server/src/main/resources/application-dev.yml +++ b/maku-server/src/main/resources/application-dev.yml @@ -3,6 +3,8 @@ spring: redis: database: 0 host: localhost + port: 6379 + password: 123456 #timeout: 6000ms # 连接超时时长(毫秒) datasource: dynamic: