diff --git a/src/main/java/com/example/demo/controller/AuditController.java b/src/main/java/com/example/demo/controller/AuditController.java
index 7ac10ea..d5db15b 100644
--- a/src/main/java/com/example/demo/controller/AuditController.java
+++ b/src/main/java/com/example/demo/controller/AuditController.java
@@ -17,7 +17,7 @@ import java.util.Arrays;
@RequiredArgsConstructor
@Slf4j
@CrossOrigin
-public class AuditController {
+public class AuditController {
private final AuditService auditService;
@PostMapping("/add")
diff --git a/src/main/java/com/example/demo/domain/entity/Activity.java b/src/main/java/com/example/demo/domain/entity/Activity.java
index b0416d3..f487928 100644
--- a/src/main/java/com/example/demo/domain/entity/Activity.java
+++ b/src/main/java/com/example/demo/domain/entity/Activity.java
@@ -23,7 +23,6 @@ public class Activity implements Serializable {
private BigDecimal rechargeRatio;
private Date createTime;
private Integer activityFlag;
- @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private String name;
private Integer status;
diff --git a/src/main/java/com/example/demo/domain/entity/Admin.java b/src/main/java/com/example/demo/domain/entity/Admin.java
index b372bb1..c065c3b 100644
--- a/src/main/java/com/example/demo/domain/entity/Admin.java
+++ b/src/main/java/com/example/demo/domain/entity/Admin.java
@@ -22,7 +22,7 @@ public class Admin implements UserDetails, Serializable {
private Integer permission;
private String area;
private String adminFlag;
- @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createTime;
private String jwcode;
diff --git a/src/main/java/com/example/demo/domain/entity/Audit.java b/src/main/java/com/example/demo/domain/entity/Audit.java
index 53b287b..df59c7b 100644
--- a/src/main/java/com/example/demo/domain/entity/Audit.java
+++ b/src/main/java/com/example/demo/domain/entity/Audit.java
@@ -17,7 +17,7 @@ public class Audit {
private Integer adminId;
private String status;
private Integer AuditFlag;
- @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createTime;
private Date startDate;
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 64a9328..6c13239 100644
--- a/src/main/java/com/example/demo/domain/entity/Detail.java
+++ b/src/main/java/com/example/demo/domain/entity/Detail.java
@@ -34,7 +34,7 @@ public class Detail implements Serializable {
private Integer status;
private String updateType;
private Integer detailFlag;
- @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createTime;
diff --git a/src/main/java/com/example/demo/domain/entity/Rate.java b/src/main/java/com/example/demo/domain/entity/Rate.java
index 18c1368..d6a1bd5 100644
--- a/src/main/java/com/example/demo/domain/entity/Rate.java
+++ b/src/main/java/com/example/demo/domain/entity/Rate.java
@@ -15,8 +15,7 @@ public class Rate {
private Date endTime;
private String currency;
private String exchangeRate;
- @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
private Date updateTime;
private Integer adminId;
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 104e9b3..5b0a49d 100644
--- a/src/main/java/com/example/demo/domain/entity/Recharge.java
+++ b/src/main/java/com/example/demo/domain/entity/Recharge.java
@@ -26,7 +26,7 @@ public class Recharge {
private String remark;
private Integer flag;
- @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createTime;
private Date startDate;
diff --git a/src/main/java/com/example/demo/domain/entity/User.java b/src/main/java/com/example/demo/domain/entity/User.java
index 1462ba9..af2d4e1 100644
--- a/src/main/java/com/example/demo/domain/entity/User.java
+++ b/src/main/java/com/example/demo/domain/entity/User.java
@@ -26,4 +26,9 @@ public class User {
private Date createTime;
private String signature;
private BigDecimal sumgold;
+ private BigDecimal buyJb;
+ private BigDecimal coreJb;
+ private BigDecimal free6;
+ private BigDecimal free12;
+ private Date lastTime;
}
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 7222421..527dde8 100644
--- a/src/main/java/com/example/demo/domain/vo/DetailVo.java
+++ b/src/main/java/com/example/demo/domain/vo/DetailVo.java
@@ -51,4 +51,6 @@ public class DetailVo {
//
private String productName;
private String userName;
+ private Date startDate;
+ private Date endDate;
}
diff --git a/src/main/java/com/example/demo/domain/vo/UserVo.java b/src/main/java/com/example/demo/domain/vo/UserVo.java
index 956751b..c4b2301 100644
--- a/src/main/java/com/example/demo/domain/vo/UserVo.java
+++ b/src/main/java/com/example/demo/domain/vo/UserVo.java
@@ -1,7 +1,9 @@
package com.example.demo.domain.vo;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
@@ -9,6 +11,8 @@ import java.util.Date;
@Data
@NoArgsConstructor
public class UserVo {
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
private String jwcode;
private String name;
private Date firstRechargeDate;
@@ -18,7 +22,10 @@ public class UserVo {
private Integer spendTimes;
private Integer pendingRechargeTimes;
private Integer pendingSpendTimes;
- private Integer sumgold;
+ private BigDecimal free6;
+ private BigDecimal free12;
+ private BigDecimal coreJb;
+ private BigDecimal buyJb ;
}
diff --git a/src/main/java/com/example/demo/mapper/ActivityMapper.java b/src/main/java/com/example/demo/mapper/ActivityMapper.java
index 6d8421e..0db5165 100644
--- a/src/main/java/com/example/demo/mapper/ActivityMapper.java
+++ b/src/main/java/com/example/demo/mapper/ActivityMapper.java
@@ -49,15 +49,21 @@ public interface ActivityMapper {
//模糊查询--根据活动id查询活动信息
@Select({
""
-
})
List select(Activity activity);
//
diff --git a/src/main/java/com/example/demo/mapper/ConsumeMapper.java b/src/main/java/com/example/demo/mapper/ConsumeMapper.java
index 2c7a4ce..6d36fca 100644
--- a/src/main/java/com/example/demo/mapper/ConsumeMapper.java
+++ b/src/main/java/com/example/demo/mapper/ConsumeMapper.java
@@ -51,9 +51,7 @@ public interface ConsumeMapper {
"and product.name like concat('%',#{productName},'%')",
"and detail.consume_platform like concat('%',#{consumePlatform},'%')",
"and detail.consume_type like concat('%',#{consumeType},'%')",
- "",
- "and detail.create_time between #{searchStartTime} and #{searchEndTime}",
- "",
+ "AND detail.create_time BETWEEN #{startDate} AND #{endDate}",
"",
"ORDER BY detail.create_time DESC",
""
diff --git a/src/main/java/com/example/demo/mapper/RefundMapper.java b/src/main/java/com/example/demo/mapper/RefundMapper.java
index dade36a..3ffc33e 100644
--- a/src/main/java/com/example/demo/mapper/RefundMapper.java
+++ b/src/main/java/com/example/demo/mapper/RefundMapper.java
@@ -75,6 +75,7 @@ public interface RefundMapper {
"AND d.free_coin = #{freeCoin}",
"AND d.task_coin = #{taskCoin}",
"AND d.remark LIKE CONCAT('%', #{remark}, '%')",
+ "AND d.create_time BETWEEN #{startDate} AND #{endDate}",
"AND d.admin_id = #{adminId}",
"AND a.area LIKE CONCAT('%', #{adminArea}, '%')", // admin表字段过滤
"AND a.name LIKE CONCAT('%', #{adminName}, '%')", // admin表字段过滤
diff --git a/src/main/java/com/example/demo/mapper/UserMapper.java b/src/main/java/com/example/demo/mapper/UserMapper.java
index 8c314b9..7684b7d 100644
--- a/src/main/java/com/example/demo/mapper/UserMapper.java
+++ b/src/main/java/com/example/demo/mapper/UserMapper.java
@@ -32,24 +32,22 @@ public interface UserMapper {
@Select({
"SELECT\n" +
- " u.jwcode,\n" +
- " u.name,\n" +
- " MIN(d.create_time) AS first_recharge_date, -- 首充日期\n" +
- " SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) AS total_recharge_gold, -- 历史金币总数(充值)\n" +
- " SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) AS total_spend_gold, -- 历史金币总数(消费)\n" +
- " COUNT(CASE WHEN d.update_type = '充值' THEN 1 END) AS recharge_times, -- 充值次数\n" +
- " COUNT(CASE WHEN d.update_type = '消费' THEN 1 END) AS spend_times, -- 消费次数\n" +
- " COUNT(CASE WHEN a.status = 0 AND d.update_type = '充值' THEN 1 END) AS pending_recharge_times, -- 待审核的充值次数\n" +
- " COUNT(CASE WHEN a.status = 0 AND d.update_type = '消费' THEN 1 END) AS pending_spend_times, -- 待审核的消费次数\n" +
- " u.sumgold\n" +
+ " u.*,\n" +
+ " MIN(d.create_time) AS first_recharge_date, \n" +
+ " SUM(CASE WHEN d.update_type = '充值' THEN d.recharge_coin ELSE 0 END) AS total_recharge_gold, \n" +
+ " SUM(CASE WHEN d.update_type = '消费' THEN d.recharge_coin ELSE 0 END) AS total_spend_gold, \n" +
+ " COUNT(CASE WHEN d.update_type = '充值' THEN 1 END) AS recharge_times, \n" +
+ " COUNT(CASE WHEN d.update_type = '消费' THEN 1 END) AS spend_times, \n" +
+ " COUNT(CASE WHEN a.status = 0 AND d.update_type = '充值' THEN 1 END) AS pending_recharge_times, \n" +
+ " COUNT(CASE WHEN a.status = 0 AND d.update_type = '消费' THEN 1 END) AS pending_spend_times \n" +
"FROM\n" +
" user u\n" +
"LEFT JOIN\n" +
" detail d ON u.jwcode = d.jwcode\n" +
"LEFT JOIN\n" +
- " audit a ON d.detail_id = a.detail_id AND a.audit_flag = 1 -- 仅考虑有效且待审核的记录\n" +
+ " audit a ON d.detail_id = a.detail_id AND a.audit_flag = 1\n" +
"WHERE\n" +
- " d.detail_flag = 1 AND u.jwcode = #{jwcode} -- 仅考虑有效记录\n" +
+ " d.detail_flag = 1 AND u.jwcode =#{jwcode}\n" +
"GROUP BY\n" +
" u.jwcode, u.name"
})
diff --git a/src/main/java/com/example/demo/security/SecurityConfig.java b/src/main/java/com/example/demo/security/SecurityConfig.java
index d646582..bc554fc 100644
--- a/src/main/java/com/example/demo/security/SecurityConfig.java
+++ b/src/main/java/com/example/demo/security/SecurityConfig.java
@@ -61,9 +61,9 @@ public class SecurityConfig {
request
.requestMatchers( HttpMethod.POST,
// 用户不登录就可以访问的路径
- "/admin/login","/upload").permitAll()
+ "/admin/login","/upload/**").permitAll()
.requestMatchers(
- "/error","alipay/**"
+ "/error","alipay/**","/upload/**"
).permitAll()
.anyRequest().authenticated() // 其它路径,必须要登录后才能访问
);
diff --git a/src/main/java/com/example/demo/security/TokenFilter.java b/src/main/java/com/example/demo/security/TokenFilter.java
index e86db73..99b9d7d 100644
--- a/src/main/java/com/example/demo/security/TokenFilter.java
+++ b/src/main/java/com/example/demo/security/TokenFilter.java
@@ -88,7 +88,7 @@ public class TokenFilter extends OncePerRequestFilter {
System.out.println(isUploadOrRechargeRequest);
// 如果是上传请求或添加新的充值请求,则跳过令牌检查
if (isUploadOrRechargeRequest) {
- filterChain.doFilter(request, response);
+ filterChain.doFilter(requestWrapper, response);
System.out.println(response+"000000000000");
return;
}
diff --git a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java
index 7bd8f8a..9ccc4fc 100644
--- a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java
@@ -29,7 +29,7 @@ public class AuditServiceImpl implements AuditService {
public int add(Audit audit) {
return auditMapper.insert(audit);
}
- @CacheEvict(value = "recharge",allEntries = true)
+ @CacheEvict(value = {"audit", "recharge"}, allEntries = true)
@Override
public int edit(Audit audit) {
return auditMapper.update(audit);
diff --git a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
index dfd8b17..fd572e5 100644
--- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
@@ -21,6 +21,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.Month;
import java.util.List;
import java.util.UUID;
@@ -42,12 +44,31 @@ public class ConsumeServiceImpl implements ConsumeService {
BigDecimal taskGold1 =detail.getTaskCoin();
String jwcode = detail.getJwcode();
User user = userMapper.get(jwcode);
- BigDecimal Sumgold =user.getSumgold();
+ BigDecimal buyJb =user.getBuyJb();
- Sumgold = Sumgold.add(freeGold1).add(paidGold1).add(taskGold1);
+ buyJb = buyJb.add(paidGold1);
+
+// 设置更新后的Sumgold回到user对象
+ user.setBuyJb(buyJb);
+ LocalDate now = LocalDate.now();
+
+// 判断当前日期是在六月之前还是之后
+ Month currentMonth = now.getMonth();
+ boolean isBeforeJune = currentMonth.getValue() < Month.JUNE.getValue();
+ boolean isAfterJune = currentMonth.getValue() > Month.JUNE.getValue();
+
+// 根据月份更新 free6 或 free12
+ if (isBeforeJune) {
+ // 如果是六月前,更新 free6
+ BigDecimal free6 = user.getFree6().add(freeGold1);
+ user.setFree6(free6);
+ } else if (isAfterJune) {
+ // 如果是六月后,更新 free12
+ BigDecimal free12 = user.getFree12().add(freeGold1);
+ user.setFree12(free12);
+ }
// 设置更新后的Sumgold回到user对象
- user.setSumgold(Sumgold);
System.out.println(user+"----------------------------------------------------------");
int result = userMapper.update(user);
if (result != 1) {
diff --git a/src/main/java/com/example/demo/serviceImpl/RateServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RateServiceImpl.java
index 5bbce72..abb58dc 100644
--- a/src/main/java/com/example/demo/serviceImpl/RateServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/RateServiceImpl.java
@@ -20,7 +20,7 @@ import java.util.List;
public class RateServiceImpl implements RateService {
private final RateMapper rateMapper;
-
+ @CacheEvict(value = "rate",allEntries = true)
@Override
public int add(Rate rate) {
return rateMapper.insert(rate);
diff --git a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
index ed02b4a..e1eb44f 100644
--- a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
@@ -22,6 +22,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.Month;
import java.util.List;
import java.util.UUID;
@@ -41,7 +43,7 @@ public class RechargeServiceImpl implements RechargeService {
@Override
@Transactional
-
+ @CacheEvict(value = "recharge",allEntries = true)
public int add(Recharge recharge) throws Exception {
// return rechargeMapper.insert(recharge);
@@ -110,12 +112,30 @@ public class RechargeServiceImpl implements RechargeService {
BigDecimal paidGold1 =recharge.getPaidGold();
BigDecimal freeGold1 =recharge.getFreeGold();
User user = userMapper.select(jwcode);
- BigDecimal Sumgold =user.getSumgold();
+ BigDecimal buyJb =user.getBuyJb();
- Sumgold = Sumgold.add(freeGold1).add(paidGold1);
+ buyJb = buyJb.add(paidGold1);
// 设置更新后的Sumgold回到user对象
- user.setSumgold(Sumgold);
+ user.setBuyJb(buyJb);
+ LocalDate now = LocalDate.now();
+
+// 判断当前日期是在六月之前还是之后
+ Month currentMonth = now.getMonth();
+ boolean isBeforeJune = currentMonth.getValue() < Month.JUNE.getValue();
+ boolean isAfterJune = currentMonth.getValue() > Month.JUNE.getValue();
+
+// 根据月份更新 free6 或 free12
+ if (isBeforeJune) {
+ // 如果是六月前,更新 free6
+ BigDecimal free6 = user.getFree6().add(freeGold1);
+ user.setFree6(free6);
+ } else if (isAfterJune) {
+ // 如果是六月后,更新 free12
+ BigDecimal free12 = user.getFree12().add(freeGold1);
+ user.setFree12(free12);
+ }
+
System.out.println(user+"----------------------------------------------------------");
result = userMapper.update(user);
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 982ebdc..1c72a21 100644
--- a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java
@@ -21,7 +21,7 @@ import java.util.UUID;
@RequiredArgsConstructor
@Transactional
@Service
-//@CacheConfig(cacheNames = "refund")
+@CacheConfig(cacheNames = "refund")
public class RefundServiceImpl implements RefundService {
private final RefundMapper refundMapper;