diff --git a/src/main/java/com/example/demo/Util/RequestWrapper.java b/src/main/java/com/example/demo/Util/RequestWrapper.java index e9b1f63..7baf95f 100644 --- a/src/main/java/com/example/demo/Util/RequestWrapper.java +++ b/src/main/java/com/example/demo/Util/RequestWrapper.java @@ -26,7 +26,7 @@ public class RequestWrapper extends HttpServletRequestWrapper { // 将body数据存储起来 String bodyStr = getBodyString(request); body = bodyStr.getBytes(Charset.defaultCharset()); - System.out.println(new String(body, Charset.defaultCharset()) + "+**+*+*+*++*+*+*+"); +// System.out.println(new String(body, Charset.defaultCharset()) + "+**+*+*+*++*+*+*+"); } diff --git a/src/main/java/com/example/demo/controller/AdminController.java b/src/main/java/com/example/demo/controller/AdminController.java index 4c5a228..92f167d 100644 --- a/src/main/java/com/example/demo/controller/AdminController.java +++ b/src/main/java/com/example/demo/controller/AdminController.java @@ -36,9 +36,7 @@ public class AdminController { @PostMapping("/login") public Result login(@RequestBody Admin admin){ - if(ObjectUtils.isEmpty(admin)){ - System.out.println("他是空"); - } + try { System.out.println(admin+"*-*-*-*-*-*-*-*-*-*-1"); diff --git a/src/main/java/com/example/demo/controller/ConsumeController.java b/src/main/java/com/example/demo/controller/ConsumeController.java index 160e2b9..8487083 100644 --- a/src/main/java/com/example/demo/controller/ConsumeController.java +++ b/src/main/java/com/example/demo/controller/ConsumeController.java @@ -1,6 +1,5 @@ package com.example.demo.controller; - import com.example.demo.domain.entity.Detail; import com.example.demo.domain.vo.DetailVo; import com.example.demo.domain.vo.Page; @@ -16,8 +15,6 @@ import org.springframework.web.bind.annotation.*; import java.util.Arrays; -import static java.lang.Integer.parseInt; - @RestController @RequestMapping("/consume") //SpringMVC的,为当前类的所有处理器方法,添加路径映射的前缀 @@ -50,8 +47,6 @@ public class ConsumeController { // } } - - @PostMapping("/select") public Result search(@RequestBody Page page){ Integer pageNum = page.getPageNum(); diff --git a/src/main/java/com/example/demo/controller/UploadController.java b/src/main/java/com/example/demo/controller/UploadController.java index d77e8e2..a74c2d4 100644 --- a/src/main/java/com/example/demo/controller/UploadController.java +++ b/src/main/java/com/example/demo/controller/UploadController.java @@ -19,27 +19,11 @@ public class UploadController { @Value("${upload.path}") private String path; -// @PostMapping -// public Result upload(MultipartFile file) { -// String fileName = UploadUtil.save(file,path); -// return Result.success(fileName); -// } -@PostMapping("/upload") -public String handleFileUpload(@RequestParam("imageData") MultipartFile file) { - if (!file.isEmpty()) { - try { - // 清理文件名 - String fileName = StringUtils.cleanPath(file.getOriginalFilename()); - // 将文件保存到服务器的某个位置 - String destinationPath = path + File.separator + fileName; - file.transferTo(new File(destinationPath)); - return "File uploaded successfully: " + fileName; - } catch (IOException e) { - e.printStackTrace(); - return "File upload failed: " + e.getMessage(); - } - } else { - return "Please select a file to upload"; + @PostMapping + public Result upload(MultipartFile file) { + System.out.println(file+"file11111111111111111111"); + String fileName = UploadUtil.save(file,path); + return Result.success(fileName); } -} + } diff --git a/src/main/java/com/example/demo/domain/entity/Detail.java b/src/main/java/com/example/demo/domain/entity/Detail.java index f8661b2..64a9328 100644 --- a/src/main/java/com/example/demo/domain/entity/Detail.java +++ b/src/main/java/com/example/demo/domain/entity/Detail.java @@ -48,7 +48,8 @@ public class Detail implements Serializable { private String userName; private String auditStatus; private String auditReson; - + private String orderCode; + private Integer refundFlag; // @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") diff --git a/src/main/java/com/example/demo/domain/entity/Recharge.java b/src/main/java/com/example/demo/domain/entity/Recharge.java index 827ad5b..104e9b3 100644 --- a/src/main/java/com/example/demo/domain/entity/Recharge.java +++ b/src/main/java/com/example/demo/domain/entity/Recharge.java @@ -31,5 +31,6 @@ public class Recharge { private Date createTime; private Date startDate; private Date endDate; + private String orderCode; } diff --git a/src/main/java/com/example/demo/domain/vo/ConsumeDetail.java b/src/main/java/com/example/demo/domain/vo/ConsumeDetail.java index c203d2b..e87e05c 100644 --- a/src/main/java/com/example/demo/domain/vo/ConsumeDetail.java +++ b/src/main/java/com/example/demo/domain/vo/ConsumeDetail.java @@ -5,6 +5,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; import java.util.Date; @Data @NoArgsConstructor @@ -24,9 +25,9 @@ public class ConsumeDetail { private String refundGoods; private Integer contactId; private String remark; - private Double rechargeCoin; - private Double freeCoin; - private Double taskCoin; + private BigDecimal rechargeCoin; + private BigDecimal freeCoin; + private BigDecimal taskCoin; private String conmmitName; private Integer status; private String updateType; diff --git a/src/main/java/com/example/demo/domain/vo/DetailVo.java b/src/main/java/com/example/demo/domain/vo/DetailVo.java index 225b484..7222421 100644 --- a/src/main/java/com/example/demo/domain/vo/DetailVo.java +++ b/src/main/java/com/example/demo/domain/vo/DetailVo.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.NoArgsConstructor; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; @@ -23,9 +24,9 @@ public class DetailVo { private String refundGoods; private Integer contactId; private String remark; - private Double rechargeCoin; - private Double freeCoin; - private Double taskCoin; + private BigDecimal rechargeCoin; + private BigDecimal freeCoin; + private BigDecimal taskCoin; private Integer adminId; private Integer status; private String updateType; diff --git a/src/main/java/com/example/demo/domain/vo/RechargeVo.java b/src/main/java/com/example/demo/domain/vo/RechargeVo.java index c2667c5..b8c46b9 100644 --- a/src/main/java/com/example/demo/domain/vo/RechargeVo.java +++ b/src/main/java/com/example/demo/domain/vo/RechargeVo.java @@ -5,6 +5,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; import java.util.Date; @Data @NoArgsConstructor @@ -13,9 +14,9 @@ public class RechargeVo { private Integer rechargeId; private String jwcode; private Integer activityId; - private Double paidGold; - private Double freeGold; - private Double rechargeGold; + private BigDecimal paidGold; + private BigDecimal freeGold; + private BigDecimal rechargeGold; private String payWay; private String rechargeWay; private Date rechargeTime; diff --git a/src/main/java/com/example/demo/domain/vo/SumCoin.java b/src/main/java/com/example/demo/domain/vo/SumCoin.java index 88f8855..c9c7bb5 100644 --- a/src/main/java/com/example/demo/domain/vo/SumCoin.java +++ b/src/main/java/com/example/demo/domain/vo/SumCoin.java @@ -3,60 +3,62 @@ package com.example.demo.domain.vo; import lombok.Data; import lombok.NoArgsConstructor; +import java.math.BigDecimal; + @Data @NoArgsConstructor public class SumCoin { //当前金币余量 充值金币 - private Double todayRecharge; + private BigDecimal todayRecharge; //当前金币余量 免费金币 - private Double todayFree; + private BigDecimal todayFree; //当前金币余量 任务金币 - private Double todayTask; + private BigDecimal todayTask; //当前金币余量 总金币 - private Double todayTotalCoin; + private BigDecimal todayTotalCoin; //前一天金币余量 充值金币 - private Double yesterdayRecharge; + private BigDecimal yesterdayRecharge; //前一天金币余量 免费金币 - private Double yesterdayFree; + private BigDecimal yesterdayFree; //前一天金币余量 任务金币 - private Double yesterdayTask; + private BigDecimal yesterdayTask; //前一天金币余量 总金币 - private Double yesterdayTotalCoin; + private BigDecimal yesterdayTotalCoin; //当前金币余量与前一天金币余量之差 - private Double coinDifference; + private BigDecimal coinDifference; //全年累计消耗金币数 消费总数 - private Double yearConsumeCoin; + private BigDecimal yearConsumeCoin; //全年累计消耗金币数 退款金币 - private Double yearRefundCoin; + private BigDecimal yearRefundCoin; //全年累计消耗金币数 消耗总金币 - private Double yearsumCoin; + private BigDecimal yearsumCoin; //全年累计消耗金币数--昨日新增消耗 消费金币 - private Double dayConsumeCoin; + private BigDecimal dayConsumeCoin; //全年累计消耗金币数--昨日新增消耗 退款总金币 - private Double dayRefundCoin; + private BigDecimal dayRefundCoin; //全年累计消耗金币数--昨日新增消耗 消耗总金币 - private Double daysumCoin; + private BigDecimal daysumCoin; //全年累计消耗金币数--下面 消耗充值金币 - private Double yearSumRechargeCoin; + private BigDecimal yearSumRechargeCoin; //全年累计消耗金币数--下面 消耗免费金币 - private Double yearSumFreeCoin; + private BigDecimal yearSumFreeCoin; //全年累计消耗金币数--下面 消耗任务金币 - private Double yearSumTaskCoin; + private BigDecimal yearSumTaskCoin; //中间-11个月 每月充值金币 - private Double rechargeSumCoin; + private BigDecimal rechargeSumCoin; //中间-11个月 每月免费金币 - private Double freeSumCoin; + private BigDecimal freeSumCoin; //中间-11个月 每月任务金币 - private Double taskSumCoin; + private BigDecimal taskSumCoin; private String month; @@ -64,10 +66,10 @@ public class SumCoin { private String area; - private Double totalRechargeRefund; - private Double totalTaskRefund; - private Double totalFreeRefund; - private Double totalRecharge; - private Double totalFree; - private Double totalTask; + private BigDecimal totalRechargeRefund; + private BigDecimal totalTaskRefund; + private BigDecimal totalFreeRefund; + private BigDecimal totalRecharge; + private BigDecimal totalFree; + private BigDecimal totalTask; } diff --git a/src/main/java/com/example/demo/mapper/ConsumeMapper.java b/src/main/java/com/example/demo/mapper/ConsumeMapper.java index c66b173..2c7a4ce 100644 --- a/src/main/java/com/example/demo/mapper/ConsumeMapper.java +++ b/src/main/java/com/example/demo/mapper/ConsumeMapper.java @@ -27,9 +27,9 @@ public interface ConsumeMapper { //新增消费记录 @Insert({ "insert into detail", - "(jwcode,activity_id,recharge_way,product_id,consume_platform,consume_type,refund_type,refund_goods,contact_id,remark,recharge_coin,free_coin,task_coin,admin_id,update_type,detail_flag,create_time)", + "(jwcode,activity_id,recharge_way,product_id,consume_platform,consume_type,refund_type,refund_goods,contact_id,remark,recharge_coin,free_coin,task_coin,admin_id,update_type,detail_flag,create_time,refund_flag)", "values", - "(#{jwcode},#{activityId},#{rechargeWay},#{productId},'金币系统','购买商品',#{refundType},#{refundGoods},#{contactId},#{remark},#{rechargeCoin},#{freeCoin},#{taskCoin},#{adminId},#{updateType},1,now())" + "(#{jwcode},#{activityId},#{rechargeWay},#{productId},'金币系统','购买商品',#{refundType},#{refundGoods},#{contactId},#{remark},#{rechargeCoin},#{freeCoin},#{taskCoin},#{adminId},#{updateType},1,now(),1)" }) // 获取自增主键 @Options(useGeneratedKeys = true,keyColumn = "detail_id",keyProperty = "detailId") diff --git a/src/main/java/com/example/demo/mapper/DetailMapper.java b/src/main/java/com/example/demo/mapper/DetailMapper.java index 3af8f44..fc73fc8 100644 --- a/src/main/java/com/example/demo/mapper/DetailMapper.java +++ b/src/main/java/com/example/demo/mapper/DetailMapper.java @@ -14,10 +14,10 @@ public interface DetailMapper { @Insert({ "insert into detail", - "(jwcode,activity_id,recharge_way,product_id,consume_platform,consume_type,refund_type,refund_goods," + + "(jwcode,order_code,activity_id,recharge_way,product_id,consume_platform,consume_type,refund_type,refund_goods," + "contact_id,remark,recharge_coin,free_coin,task_coin,admin_id,update_type,detail_flag,create_time,first_recharge)", "values ", - "(#{jwcode},#{activityId},#{rechargeWay},#{productId},#{consumePlatform},#{consumeType},#{refundType}" + + "(#{jwcode},#{orderCode},#{activityId},#{rechargeWay},#{productId},#{consumePlatform},#{consumeType},#{refundType}" + ",#{refundGoods},#{contactId},#{remark},#{rechargeCoin}" + ",#{freeCoin},#{taskCoin},#{adminId},#{updateType},1,now(),#{firstRecharge})" }) diff --git a/src/main/java/com/example/demo/mapper/RechargeMapper.java b/src/main/java/com/example/demo/mapper/RechargeMapper.java index bfb10f3..debf66d 100644 --- a/src/main/java/com/example/demo/mapper/RechargeMapper.java +++ b/src/main/java/com/example/demo/mapper/RechargeMapper.java @@ -12,9 +12,9 @@ public interface RechargeMapper { @Insert({ "INSERT INTO recharge", - "(jwcode,activity_id,paid_gold,free_gold,recharge_gold,pay_way,recharge_way,recharge_time,recharge_voucher,admin_id,remark,flag)", + "(jwcode,order_code,activity_id,paid_gold,free_gold,recharge_gold,pay_way,recharge_way,recharge_time,recharge_voucher,admin_id,remark,flag)", "values ", - "(#{jwcode},#{activityId},#{paidGold},#{freeGold},#{rechargeGold},#{payWay},#{rechargeWay},#{rechargeTime},#{rechargeVoucher},#{adminId},#{remark},1)" + "(#{jwcode},#{orderCode},#{activityId},#{paidGold},#{freeGold},#{rechargeGold},#{payWay},#{rechargeWay},#{rechargeTime},#{rechargeVoucher},#{adminId},#{remark},1)" }) @Options(useGeneratedKeys = true,keyColumn = "recharge_id",keyProperty = "rechargeId") int insert(Recharge recharge); diff --git a/src/main/java/com/example/demo/mapper/RefundMapper.java b/src/main/java/com/example/demo/mapper/RefundMapper.java index 060094c..4ae6e23 100644 --- a/src/main/java/com/example/demo/mapper/RefundMapper.java +++ b/src/main/java/com/example/demo/mapper/RefundMapper.java @@ -11,9 +11,9 @@ public interface RefundMapper { @Insert({ "insert into detail", - "(jwcode,refund_type,refund_goods,contact_id,recharge_coin,free_coin,task_coin,remark,admin_id,create_time,update_type)", + "(jwcode,order_code,refund_type,refund_goods,contact_id,recharge_coin,free_coin,task_coin,remark,admin_id,create_time,update_type)", "values", - "(#{jwcode},#{refundType},#{refundGoods},#{contactId},#{rechargeCoin},#{freeCoin},#{taskCoin},#{remark},#{adminId},now(),'退款')" + "(#{jwcode},#{orderCode},#{refundType},#{refundGoods},#{contactId},#{rechargeCoin},#{freeCoin},#{taskCoin},#{remark},#{adminId},now(),'退款')" }) @Options(useGeneratedKeys = true, keyColumn = "detail_id", keyProperty = "detailId") int insert(Detail detail); diff --git a/src/main/java/com/example/demo/mapper/UserMapper.java b/src/main/java/com/example/demo/mapper/UserMapper.java index d1effb5..8c314b9 100644 --- a/src/main/java/com/example/demo/mapper/UserMapper.java +++ b/src/main/java/com/example/demo/mapper/UserMapper.java @@ -20,6 +20,15 @@ public interface UserMapper { "" }) User select(String user); + @Select({ + "" + }) + User get(String jwcode); @Select({ "SELECT\n" + diff --git a/src/main/java/com/example/demo/security/SecurityConfig.java b/src/main/java/com/example/demo/security/SecurityConfig.java index 1562d39..d646582 100644 --- a/src/main/java/com/example/demo/security/SecurityConfig.java +++ b/src/main/java/com/example/demo/security/SecurityConfig.java @@ -38,6 +38,8 @@ public class SecurityConfig { @Autowired TokenFilter tokenFilter; +// @Autowired +// UploadFilter uploadFilter; // 核心配置 配置一个过滤器链 @Bean @@ -59,14 +61,15 @@ public class SecurityConfig { request .requestMatchers( HttpMethod.POST, // 用户不登录就可以访问的路径 - "/admin/login","/upload/**").permitAll() + "/admin/login","/upload").permitAll() .requestMatchers( - "/error","alipay/**","/upload/**" + "/error","alipay/**" ).permitAll() .anyRequest().authenticated() // 其它路径,必须要登录后才能访问 ); // 配置Token过滤器, 将过滤器加入到执行链中 http.addFilterBefore(tokenFilter, UsernamePasswordAuthenticationFilter.class); +// http.addFilterBefore(uploadFilter, UsernamePasswordAuthenticationFilter.class); return http.build(); } diff --git a/src/main/java/com/example/demo/security/TokenFilter.java b/src/main/java/com/example/demo/security/TokenFilter.java index 19f0b42..99b9d7d 100644 --- a/src/main/java/com/example/demo/security/TokenFilter.java +++ b/src/main/java/com/example/demo/security/TokenFilter.java @@ -63,6 +63,7 @@ import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreFilter; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; @@ -77,11 +78,20 @@ import java.io.InputStream; @Component public class TokenFilter extends OncePerRequestFilter { + @Override - protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { + protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) + throws ServletException, IOException { // 使用RequestWrapper包装原始的HttpServletRequest,使其输入流可以被重复读取 RequestWrapper requestWrapper = new RequestWrapper(request); - + boolean isUploadOrRechargeRequest = requestWrapper.getRequestURI().contains("upload") ; + System.out.println(isUploadOrRechargeRequest); + // 如果是上传请求或添加新的充值请求,则跳过令牌检查 + if (isUploadOrRechargeRequest) { + filterChain.doFilter(requestWrapper, response); + System.out.println(response+"000000000000"); + return; + } // 确保请求体只被读取一次 boolean hasRequestBody = "POST".equals(requestWrapper.getMethod()); System.out.println(hasRequestBody); diff --git a/src/main/java/com/example/demo/security/UploadFilter.java b/src/main/java/com/example/demo/security/UploadFilter.java new file mode 100644 index 0000000..a529cd0 --- /dev/null +++ b/src/main/java/com/example/demo/security/UploadFilter.java @@ -0,0 +1,33 @@ +//package com.example.demo.security; +// +//import jakarta.servlet.FilterChain; +//import jakarta.servlet.ServletException; +//import jakarta.servlet.http.HttpServletRequest; +//import jakarta.servlet.http.HttpServletResponse; +//import org.springframework.web.filter.OncePerRequestFilter; +// +//import java.io.IOException; +// +//public class UploadFilter extends OncePerRequestFilter { +// +// @Override +// protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) +// throws ServletException, IOException { +// +// // 检查请求是否为上传请求,这里假设上传请求的路径以 "/upload" 开头 +// boolean isUploadRequest = request.getRequestURI().startsWith("/upload"); +// +// if (isUploadRequest) { +// // 如果是上传请求,直接将请求传递给下一个过滤器或目标资源 +// filterChain.doFilter(request, response); +// } else { +// // 如果不是上传请求,执行一些自定义逻辑 +// // 例如,可以在这里添加令牌验证或其他安全检查 +// +// // 继续执行过滤器链 +// filterChain.doFilter(request, response); +// } +// } +// +// +//} \ No newline at end of file diff --git a/src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java index 41023fa..bd2d6d5 100644 --- a/src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java @@ -74,6 +74,8 @@ public class AdminServiceImpl implements AdminService { @Override public Admin login(Admin admin) throws Exception { System.out.println("第一步"); + System.out.println(admin.getJwcode()); + System.out.println(admin.getPassword()); UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(admin.getJwcode(),admin.getPassword()); System.out.println(token+"第二步"); diff --git a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java index 3b5f3d9..7bd8f8a 100644 --- a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java @@ -29,12 +29,12 @@ public class AuditServiceImpl implements AuditService { public int add(Audit audit) { return auditMapper.insert(audit); } - @CacheEvict(value = "audit",allEntries = true) + @CacheEvict(value = "recharge",allEntries = true) @Override public int edit(Audit audit) { return auditMapper.update(audit); } - @Cacheable(key="#root.method.name") + @Override public List search(Audit audit) { return auditMapper.select(audit); diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java index a4b3f6d..dfd8b17 100644 --- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java @@ -22,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.List; +import java.util.UUID; @Service @Transactional @@ -40,10 +41,10 @@ public class ConsumeServiceImpl implements ConsumeService { BigDecimal freeGold1 =detail.getRechargeCoin(); BigDecimal taskGold1 =detail.getTaskCoin(); String jwcode = detail.getJwcode(); - User user = userMapper.select(jwcode); + User user = userMapper.get(jwcode); BigDecimal Sumgold =user.getSumgold(); - Sumgold = Sumgold.subtract(freeGold1).subtract(paidGold1).subtract(taskGold1); + Sumgold = Sumgold.add(freeGold1).add(paidGold1).add(taskGold1); // 设置更新后的Sumgold回到user对象 user.setSumgold(Sumgold); @@ -52,6 +53,9 @@ public class ConsumeServiceImpl implements ConsumeService { if (result != 1) { throw new Exception("Failed to insert another entity"); } + // 生成UUID作为订单编号 + String uuid = UUID.randomUUID().toString().replace("-", ""); // 去掉UUID中的'-' + detail.setOrderCode(uuid); //添加表单数据 result =consumeMapper.insert(detail); return result; diff --git a/src/main/java/com/example/demo/serviceImpl/DetailServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/DetailServiceImpl.java index f2821aa..79f4aec 100644 --- a/src/main/java/com/example/demo/serviceImpl/DetailServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/DetailServiceImpl.java @@ -42,7 +42,7 @@ public class DetailServiceImpl implements DetailService { return null; } - @Cacheable(key="#root.method.name") + @Cacheable(key="#root.method.name+ #detail.hashCode()") @Override public List getAllDetail(Detail detail) { return detailMapper.select(detail); diff --git a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java index 76331c8..ed02b4a 100644 --- a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java @@ -23,6 +23,8 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.List; +import java.util.UUID; + @Transactional @Service @RequiredArgsConstructor @@ -43,7 +45,8 @@ public class RechargeServiceImpl implements RechargeService { public int add(Recharge recharge) throws Exception { // return rechargeMapper.insert(recharge); - + String uuid = UUID.randomUUID().toString().replace("-", ""); // 去掉UUID中的'-' + recharge.setOrderCode(uuid); int result = rechargeMapper.insert(recharge); if (result != 1) { throw new Exception("Failed to insert recharge data"); @@ -94,6 +97,10 @@ public class RechargeServiceImpl implements RechargeService { detail.setRemark(remark); detail.setUpdateType("充值"); detail.setAdminId(adminId); + + + System.out.println(uuid+"/*/*/*-/-*/-/*-/-*/-/*-/*-/-*"); + detail.setOrderCode(uuid); System.out.println(detail); result = detailMapper.add(detail); if (result != 1) { diff --git a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java index 53b1c4c..3a672d4 100644 --- a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java @@ -15,6 +15,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.UUID; @RequiredArgsConstructor @@ -27,6 +28,8 @@ public class RefundServiceImpl implements RefundService { @Override public int add(Detail detail) { + String uuid = UUID.randomUUID().toString().replace("-", ""); // 去掉UUID中的'-' + detail.setOrderCode(uuid); return refundMapper.insert(detail); } diff --git a/src/main/java/com/example/demo/serviceImpl/UserDetailServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/UserDetailServiceImpl.java index 6120c85..b70138a 100644 --- a/src/main/java/com/example/demo/serviceImpl/UserDetailServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/UserDetailServiceImpl.java @@ -16,11 +16,11 @@ import org.springframework.util.ObjectUtils; @Transactional @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "userDetail") + public class UserDetailServiceImpl implements UserDetailsService { @Autowired private AdminMapper adminMapper; - @Cacheable(key="#root.method.name") + @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { Admin admin=adminMapper.selectByName(username);