From 77bdc0236e067aad79e0287ecff9a10ad385d62f Mon Sep 17 00:00:00 2001 From: huangqizhen Date: Tue, 17 Dec 2024 11:02:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E7=AB=AF=E6=95=B4=E5=90=88=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/demo/controller/AuditController.java | 6 ++ .../com/example/demo/domain/entity/Activity.java | 31 ++++----- .../java/com/example/demo/domain/entity/Audit.java | 1 + .../java/com/example/demo/domain/vo/Meium.java | 9 ++- .../com/example/demo/domain/vo/RechargeVo.java | 2 + .../com/example/demo/mapper/StatisticsMapper.java | 19 +++--- .../demo/serviceImpl/ActivityServiceImpl.java | 78 +++++++++++----------- .../example/demo/serviceImpl/AuditServiceImpl.java | 55 +++++++++++++++ .../demo/serviceImpl/ConsumeServiceImpl.java | 3 +- .../demo/serviceImpl/RechargeServiceImpl.java | 59 ++++++++-------- .../java/com/example/demo/sevice/AuditService.java | 1 + 11 files changed, 169 insertions(+), 95 deletions(-) diff --git a/src/main/java/com/example/demo/controller/AuditController.java b/src/main/java/com/example/demo/controller/AuditController.java index e11bdb5..d7180be 100644 --- a/src/main/java/com/example/demo/controller/AuditController.java +++ b/src/main/java/com/example/demo/controller/AuditController.java @@ -44,6 +44,12 @@ public class AuditController { } } + @PostMapping("/goldedit") + public Result goldedit(@RequestBody Audit audit) throws Exception { + auditService.goldedit(audit); + return Result.success(); + } + @PostMapping("/edit") public Result edit(@RequestBody Audit audit){ 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 d2fdb23..250af7f 100644 --- a/src/main/java/com/example/demo/domain/entity/Activity.java +++ b/src/main/java/com/example/demo/domain/entity/Activity.java @@ -21,34 +21,35 @@ public class Activity implements Serializable { private Integer activityId; private Integer adminId; private String dept; - @JsonSerialize(using = LocalDateTimeSerializer.class) - @JsonDeserialize(using = LocalDateTimeDeserializer.class) - private LocalDateTime startTime; - @JsonSerialize(using = LocalDateTimeSerializer.class) - @JsonDeserialize(using = LocalDateTimeDeserializer.class) - private LocalDateTime endTime; + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date startTime; + + + private Date endTime; private String activityName; private BigDecimal rechargeRatio; - @JsonSerialize(using = LocalDateTimeSerializer.class) - @JsonDeserialize(using = LocalDateTimeDeserializer.class) - private LocalDateTime createTime; + + private Date createTime; private Integer activityFlag; @DateTimeFormat(pattern = "yyyy-MM-dd") private String name; private Integer status; - @JsonSerialize(using = LocalDateTimeSerializer.class) - @JsonDeserialize(using = LocalDateTimeDeserializer.class) - private LocalDateTime startDate; - @JsonSerialize(using = LocalDateTimeSerializer.class) - @JsonDeserialize(using = LocalDateTimeDeserializer.class) - private LocalDateTime endDate; + private Date startDate; + + + private Date endDate; private String token; // 新增的token字段 + + + + private String adminName; + private String freeGold; } 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 3301803..dadb0fc 100644 --- a/src/main/java/com/example/demo/domain/entity/Audit.java +++ b/src/main/java/com/example/demo/domain/entity/Audit.java @@ -25,5 +25,6 @@ public class Audit { private String reson; private Integer detailId; private String token; + private Recharge recharge; } diff --git a/src/main/java/com/example/demo/domain/vo/Meium.java b/src/main/java/com/example/demo/domain/vo/Meium.java index a2c21cb..99c9b88 100644 --- a/src/main/java/com/example/demo/domain/vo/Meium.java +++ b/src/main/java/com/example/demo/domain/vo/Meium.java @@ -1,11 +1,14 @@ package com.example.demo.domain.vo; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.math.BigDecimal; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.Date; import java.util.HashMap; @@ -22,9 +25,11 @@ public class Meium implements Serializable { private BigDecimal taskSumCoin; private String area; private String store; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") private BigDecimal totalRechargeSum; - private LocalDateTime searchStartTime; - private LocalDateTime searchEndTime; + private Date searchStartTime; + private Date searchEndTime; private String updateType; private String type; private String token; // 新增的token字段 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 48e6b32..4de8ad1 100644 --- a/src/main/java/com/example/demo/domain/vo/RechargeVo.java +++ b/src/main/java/com/example/demo/domain/vo/RechargeVo.java @@ -40,4 +40,6 @@ public class RechargeVo { private Integer auditId; private String token; + private Integer detailId; + } \ No newline at end of file diff --git a/src/main/java/com/example/demo/mapper/StatisticsMapper.java b/src/main/java/com/example/demo/mapper/StatisticsMapper.java index 03f0148..bef8718 100644 --- a/src/main/java/com/example/demo/mapper/StatisticsMapper.java +++ b/src/main/java/com/example/demo/mapper/StatisticsMapper.java @@ -9,6 +9,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.Date; import java.util.List; @@ -331,7 +332,7 @@ public interface StatisticsMapper { "order by freeSumCoin desc", "" }) - List getBuyAndFree(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + List getBuyAndFree(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - List getBuyAndRecharge(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + List getBuyAndRecharge(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - List getBuyAndTask(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + List getBuyAndTask(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - List getBuy(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + List getBuy(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - List getPayAndFree(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + List getPayAndFree(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - List getPayAndRecharge(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + List getPayAndRecharge(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - List getPayAndTask(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); + List getPayAndTask(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); @Select({ "" }) - List getPay(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime); -} + List getPay(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime); +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java index e950746..3c62217 100644 --- a/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java @@ -50,24 +50,49 @@ public class ActivityServiceImpl implements ActivityService { } @Cacheable(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #activity.hashCode() ") @Override + public PageInfo searchForPage(Integer pageNum, Integer pageSize, Activity activity) { +// PageHelper.startPage(pageNum, pageSize); +// List list = activityMapper.select(activity); +// return new PageInfo<>(list); + PageHelper.startPage(pageNum, pageSize); + List list = activityMapper.select(activity); + Date nowDate = new Date(); + list.forEach(activity1 -> { + // 假设 getStartTime() 和 getEndTime() 返回的是 java.util.Date 类型 + Date startTime = activity1.getStartTime(); + Date endTime = activity1.getEndTime(); + + // 使用 Date 类的 before 和 after 方法进行比较 + if (nowDate.before(startTime)) { + activity1.setStatus(0); // 设置状态为 0 + } else if (nowDate.after(endTime)) { + activity1.setStatus(2); // 设置状态为 2 + } else { + activity1.setStatus(1); // 设置状态为 1 + } + + // 保存修改后的对象 + activityMapper.edit(activity1); + }); + return new PageInfo<>(list); + } +} + +// @Cacheable(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #activity.hashCode() ") +// @Override // public PageInfo searchForPage(Integer pageNum, Integer pageSize, Activity activity) { -//// PageHelper.startPage(pageNum, pageSize); -//// List list = activityMapper.select(activity); -//// return new PageInfo<>(list); -// // PageHelper.startPage(pageNum, pageSize); // List list = activityMapper.select(activity); -// Date nowDate = new Date(); -// list.forEach(activity1 -> { -// // 假设 getStartTime() 和 getEndTime() 返回的是 java.util.Date 类型 +// LocalDateTime nowDate = LocalDateTime.now(); +// +// for (Activity activity1 : list) { // Date startTime = activity1.getStartTime(); // Date endTime = activity1.getEndTime(); // -// // 使用 Date 类的 before 和 after 方法进行比较 -// if (nowDate.before(startTime)) { +// if (nowDate.isBefore(startTime)) { // activity1.setStatus(0); // 设置状态为 0 -// } else if (nowDate.after(endTime)) { +// } else if (nowDate.isAfter(endTime)) { // activity1.setStatus(2); // 设置状态为 2 // } else { // activity1.setStatus(1); // 设置状态为 1 @@ -75,32 +100,9 @@ public class ActivityServiceImpl implements ActivityService { // // // 保存修改后的对象 // activityMapper.edit(activity1); -// }); +// } +// +// // 返回分页信息 +// return new PageInfo<>(list); // } -//} - - public PageInfo searchForPage(Integer pageNum, Integer pageSize, Activity activity) { - PageHelper.startPage(pageNum, pageSize); - List list = activityMapper.select(activity); - LocalDateTime nowDate = LocalDateTime.now(); - - for (Activity activity1 : list) { - LocalDateTime startTime = activity1.getStartTime(); - LocalDateTime endTime = activity1.getEndTime(); - - if (nowDate.isBefore(startTime)) { - activity1.setStatus(0); // 设置状态为 0 - } else if (nowDate.isAfter(endTime)) { - activity1.setStatus(2); // 设置状态为 2 - } else { - activity1.setStatus(1); // 设置状态为 1 - } - - // 保存修改后的对象 - activityMapper.edit(activity1); - } - - // 返回分页信息 - return new PageInfo<>(list); - } -} \ No newline at end of file +//} \ No newline at end of file diff --git a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java index 8750afe..203536f 100644 --- a/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java @@ -4,8 +4,11 @@ package com.example.demo.serviceImpl; import com.example.demo.domain.entity.Audit; +import com.example.demo.domain.entity.User; import com.example.demo.domain.vo.ConsumeDetail; import com.example.demo.mapper.AuditMapper; +import com.example.demo.mapper.RechargeMapper; +import com.example.demo.mapper.UserMapper; import com.example.demo.sevice.AuditService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -16,12 +19,17 @@ import org.springframework.cache.annotation.Cacheable; 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; @Transactional @Service @RequiredArgsConstructor @CacheConfig(cacheNames = "audit") public class AuditServiceImpl implements AuditService { + + private final UserMapper userMapper; private final AuditMapper auditMapper; @CacheEvict(value = {"audit", "recharge"}, allEntries = true) @@ -36,6 +44,53 @@ public class AuditServiceImpl implements AuditService { return auditMapper.update(audit); } + @CacheEvict(value = {"audit", "recharge","refund"}, allEntries = true) + @Override + public int goldedit(Audit audit) throws Exception { + int result = auditMapper.update(audit); + if (result != 1) { + throw new Exception("Failed to insert recharge data"); + } + Integer auditFlag = audit.getAuditFlag(); + if(auditFlag == 1){ + String jwcode=audit.getRecharge().getJwcode(); + BigDecimal paidGold1 =audit.getRecharge().getPaidGold(); + BigDecimal freeGold1 =audit.getRecharge().getFreeGold(); + User user = userMapper.select(jwcode); + BigDecimal buyJb =user.getBuyJb(); + + 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 isJune = currentMonth.getValue() == Month.JUNE.getValue(); + boolean isAfterJune = currentMonth.getValue() > Month.JUNE.getValue(); + +// 根据月份更新 free6 或 free12 + if (isBeforeJune||isJune) { + // 如果是六月前,更新 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) { + throw new Exception("Failed to insert recharge data"); + } + } + return auditMapper.update(audit); + } + @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 8ab2666..afe155e 100644 --- a/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java @@ -57,10 +57,11 @@ public class ConsumeServiceImpl implements ConsumeService { // 判断当前日期是在六月之前还是之后 Month currentMonth = now.getMonth(); boolean isBeforeJune = currentMonth.getValue() < Month.JUNE.getValue(); + boolean isJune = currentMonth.getValue() == Month.JUNE.getValue(); boolean isAfterJune = currentMonth.getValue() > Month.JUNE.getValue(); // 根据月份更新 free6 或 free12 - if (isBeforeJune) { + if (isBeforeJune||isJune) { // 如果是六月前,更新 free6 BigDecimal free6 = user.getFree6().add(freeGold1); user.setFree6(free6); diff --git a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java index e1eb44f..c04306e 100644 --- a/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java @@ -92,7 +92,6 @@ public class RechargeServiceImpl implements RechargeService { } detail.setJwcode(JwCode); detail.setActivityId(activityId); - detail.setTaskCoin(paidGold); detail.setRechargeCoin(rechargeGold); detail.setFreeCoin(freeGold); detail.setRechargeWay(rechargeWay); @@ -109,35 +108,35 @@ public class RechargeServiceImpl implements RechargeService { throw new Exception("Failed to insert another entity"); } - BigDecimal paidGold1 =recharge.getPaidGold(); - BigDecimal freeGold1 =recharge.getFreeGold(); - User user = userMapper.select(jwcode); - BigDecimal buyJb =user.getBuyJb(); - - 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); - } - - System.out.println(user+"----------------------------------------------------------"); - result = userMapper.update(user); +// BigDecimal paidGold1 =recharge.getPaidGold(); +// BigDecimal freeGold1 =recharge.getFreeGold(); +// User user = userMapper.select(jwcode); +// BigDecimal buyJb =user.getBuyJb(); +// +// 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); +// } +// +// System.out.println(user+"----------------------------------------------------------"); +// result = userMapper.update(user); if (result != 1) { throw new Exception("Failed to insert another entity"); } diff --git a/src/main/java/com/example/demo/sevice/AuditService.java b/src/main/java/com/example/demo/sevice/AuditService.java index 5133730..dfccdb7 100644 --- a/src/main/java/com/example/demo/sevice/AuditService.java +++ b/src/main/java/com/example/demo/sevice/AuditService.java @@ -11,6 +11,7 @@ import java.util.List; public interface AuditService { int add (Audit audit); int edit(Audit audit); + int goldedit(Audit audit) throws Exception; List search(Audit audit) ; PageInfo searchForPage(Integer pageNum, Integer pageSize, Audit audit); List searchForDetail(ConsumeDetail consumeDetail);