Browse Source

后端整合模块

detached
huangqizhen 5 months ago
parent
commit
77bdc0236e
  1. 6
      src/main/java/com/example/demo/controller/AuditController.java
  2. 31
      src/main/java/com/example/demo/domain/entity/Activity.java
  3. 1
      src/main/java/com/example/demo/domain/entity/Audit.java
  4. 9
      src/main/java/com/example/demo/domain/vo/Meium.java
  5. 2
      src/main/java/com/example/demo/domain/vo/RechargeVo.java
  6. 17
      src/main/java/com/example/demo/mapper/StatisticsMapper.java
  7. 76
      src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java
  8. 55
      src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java
  9. 3
      src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
  10. 59
      src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
  11. 1
      src/main/java/com/example/demo/sevice/AuditService.java

6
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){

31
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;
}

1
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;
}

9
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字段

2
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;
}

17
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",
"</script>"
})
List<Meium> getBuyAndFree(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime);
List<Meium> getBuyAndFree(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
@Select({
"<script>",
"SELECT ad.area,",
@ -351,7 +352,7 @@ public interface StatisticsMapper {
"order by rechargeSumCoin desc",
"</script>"
})
List<Meium> getBuyAndRecharge(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime);
List<Meium> getBuyAndRecharge(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
@Select({
"<script>",
"SELECT ad.area,",
@ -371,7 +372,7 @@ public interface StatisticsMapper {
"order by taskSumCoin desc",
"</script>"
})
List<Meium> getBuyAndTask(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime);
List<Meium> getBuyAndTask(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
@Select({
"<script>",
"SELECT ad.area,",
@ -391,7 +392,7 @@ public interface StatisticsMapper {
"order by totalRechargeSum desc",
"</script>"
})
List<Meium> getBuy(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime);
List<Meium> getBuy(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
@Select({
"<script>",
"SELECT ad.area,",
@ -411,7 +412,7 @@ public interface StatisticsMapper {
"order by freeSumCoin asc",
"</script>"
})
List<Meium> getPayAndFree(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime);
List<Meium> getPayAndFree(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
@Select({
"<script>",
"SELECT ad.area,",
@ -431,7 +432,7 @@ public interface StatisticsMapper {
"order by rechargeSumCoin asc",
"</script>"
})
List<Meium> getPayAndRecharge(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime);
List<Meium> getPayAndRecharge(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
@Select({
"<script>",
"SELECT ad.area,",
@ -451,7 +452,7 @@ public interface StatisticsMapper {
"order by taskSumCoin asc",
"</script>"
})
List<Meium> getPayAndTask(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime);
List<Meium> getPayAndTask(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
@Select({
"<script>",
"SELECT ad.area,",
@ -471,5 +472,5 @@ public interface StatisticsMapper {
"order by totalRechargeSum asc",
"</script>"
})
List<Meium> getPay(@Param("searchStartTime") LocalDateTime searchStartTime, @Param("searchEndTime") LocalDateTime searchEndTime);
List<Meium> getPay(@Param("searchStartTime") Date searchStartTime, @Param("searchEndTime") Date searchEndTime);
}

76
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<Activity> searchForPage(Integer pageNum, Integer pageSize, Activity activity) {
// PageHelper.startPage(pageNum, pageSize);
// List<Activity> list = activityMapper.select(activity);
// return new PageInfo<>(list);
PageHelper.startPage(pageNum, pageSize);
List<Activity> 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<Activity> searchForPage(Integer pageNum, Integer pageSize, Activity activity) {
//// PageHelper.startPage(pageNum, pageSize);
//// List<Activity> list = activityMapper.select(activity);
//// return new PageInfo<>(list);
//
// PageHelper.startPage(pageNum, pageSize);
// List<Activity> 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<Activity> searchForPage(Integer pageNum, Integer pageSize, Activity activity) {
PageHelper.startPage(pageNum, pageSize);
List<Activity> 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);
}
}

55
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<Audit> search(Audit audit) {
return auditMapper.select(audit);

3
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);

59
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");
}

1
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<Audit> search(Audit audit) ;
PageInfo<Audit> searchForPage(Integer pageNum, Integer pageSize, Audit audit);
List<ConsumeDetail> searchForDetail(ConsumeDetail consumeDetail);

Loading…
Cancel
Save