Browse Source

审核排序

lijianlin/feature-20250623120104-工作台与审核
lijianlin 13 hours ago
parent
commit
2194496b31
  1. 4
      pom.xml
  2. 3
      src/main/java/com/example/demo/domain/vo/AuditRequest.java
  3. 4
      src/main/java/com/example/demo/domain/vo/RechargeAudit.java
  4. 4
      src/main/java/com/example/demo/domain/vo/RefundAudit.java
  5. 6
      src/main/java/com/example/demo/service/WorkbenchService.java
  6. 25
      src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java
  7. 19
      src/main/resources/mapper/AuditMapper.xml

4
pom.xml

@ -175,7 +175,7 @@
</annotationProcessorPaths> </annotationProcessorPaths>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<!-- <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<configuration> <configuration>
@ -186,7 +186,7 @@
</exclude> </exclude>
</excludes> </excludes>
</configuration> </configuration>
</plugin>
</plugin>-->
</plugins> </plugins>
</build> </build>

3
src/main/java/com/example/demo/domain/vo/AuditRequest.java

@ -13,6 +13,7 @@ public class AuditRequest {
private Integer auditId; //审核人id private Integer auditId; //审核人id
private Integer action; //操作 private Integer action; //操作
private String rejectReason; //驳回理由 private String rejectReason; //驳回理由
private String sortField; //排序字段
private String sortOrder; //排序顺序
} }

4
src/main/java/com/example/demo/domain/vo/RechargeAudit.java

@ -1,6 +1,7 @@
package com.example.demo.domain.vo; package com.example.demo.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -19,6 +20,7 @@ import java.util.Date;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class RechargeAudit { public class RechargeAudit {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -54,4 +56,6 @@ public class RechargeAudit {
private Date endTime; // 结束时间 private Date endTime; // 结束时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date auditTime; // 审核时间 private Date auditTime; // 审核时间
private String sortField; //排序字段
private String sortOrder; //排序顺序
} }

4
src/main/java/com/example/demo/domain/vo/RefundAudit.java

@ -1,6 +1,7 @@
package com.example.demo.domain.vo; package com.example.demo.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -19,6 +20,7 @@ import java.util.Date;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class RefundAudit { public class RefundAudit {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String name; // 客户姓名 private String name; // 客户姓名
@ -51,4 +53,6 @@ public class RefundAudit {
private Date endTime; // 结束时间 private Date endTime; // 结束时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date auditTime; // 审核时间 private Date auditTime; // 审核时间
private String sortField; //排序字段
private String sortOrder; //排序顺序
} }

6
src/main/java/com/example/demo/service/WorkbenchService.java

@ -27,9 +27,11 @@ public interface WorkbenchService {
WorkbenchCard getGraph(String token, Date startDate, Date endDate, List<String> markets); WorkbenchCard getGraph(String token, Date startDate, Date endDate, List<String> markets);
//根据类型获取年初至今的统计数据 //根据类型获取年初至今的统计数据
Map<String, Integer> calculateAllSum(String market, Date startDate, Date endDate); Map<String, Integer> calculateAllSum(String market, Date startDate, Date endDate);
//获取该日期该市场的日
//获取该日期该市场的日
Integer calculateDayOverDay(String market,Date date); Integer calculateDayOverDay(String market,Date date);
//获取该日期该市场的周环比
//获取总体日环比
//Integer calculateAllDayOverDay(Date date);
//获取该日期该市场的周同比
Integer calculateWeekOverWeek(String market, Date date); Integer calculateWeekOverWeek(String market, Date date);
//获取与传入的日期相差XX天的日期 //获取与传入的日期相差XX天的日期
Date addDays(Date date, int days); Date addDays(Date date, int days);

25
src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java

@ -233,7 +233,7 @@ public class WorkbenchServiceImpl implements WorkbenchService {
} }
/* /*
获取该日期该市场的日
获取该日期该市场的日
*/ */
@Override @Override
public Integer calculateDayOverDay(String market, Date date) { public Integer calculateDayOverDay(String market, Date date) {
@ -259,6 +259,29 @@ public class WorkbenchServiceImpl implements WorkbenchService {
double rate = ((double) (currentStatistics.getRechargeNum() - yesterdayStatistics.getRechargeNum()) / yesterdayStatistics.getRechargeNum()) * 100; double rate = ((double) (currentStatistics.getRechargeNum() - yesterdayStatistics.getRechargeNum()) / yesterdayStatistics.getRechargeNum()) * 100;
return (int) Math.round(rate); return (int) Math.round(rate);
} }
// 计算所有市场总体日环比
/* @Override
public Integer calculateAllDayOverDay(Date date) {
//获取起止时间为当天零点与最后一秒
LocalDateTime startTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().with(LocalTime.MIN);
LocalDateTime endTime= startTime.plusDays(1).minusSeconds(1);
//int currentTotalRechargeNum = statisticsMapper.countAllMarketRechargeNum(
Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant()),
Date.from(endTime.atZone(ZoneId.systemDefault()).toInstant()));
if (currentTotalRechargeNum == 0) return 0; // 避免除以零的情况
Date yesterday = addDays(date, -1); // 昨天
int yesterdayTotalRechargeNum = statisticsMapper.countAllMarketRechargeNum(
Date.from(yesterday.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().with(LocalTime.MIN).atZone(ZoneId.systemDefault()).toInstant()),
Date.from(yesterday.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().with(LocalTime.MAX).atZone(ZoneId.systemDefault()).toInstant()));
if (yesterdayTotalRechargeNum == 0) return 0; // 避免除以零的情况
double rate = ((double)(currentTotalRechargeNum - yesterdayTotalRechargeNum) / yesterdayTotalRechargeNum) * 100;
return (int)Math.round(rate);
}*/
/* /*
获取该日期该市场的周环比 获取该日期该市场的周环比
*/ */

19
src/main/resources/mapper/AuditMapper.xml

@ -38,6 +38,7 @@
<!--多条件查询充值审核订单--> <!--多条件查询充值审核订单-->
<select id="selectRechargeBy" resultType="com.example.demo.domain.vo.RechargeAudit"> <select id="selectRechargeBy" resultType="com.example.demo.domain.vo.RechargeAudit">
SELECT ugr.*, SELECT ugr.*,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
u.name as name, u.name as name,
u.market as market, u.market as market,
a1.admin_name as adminName, a1.admin_name as adminName,
@ -68,12 +69,20 @@
AND ugr.audit_status = #{rechargeAudit.auditStatus} AND ugr.audit_status = #{rechargeAudit.auditStatus}
</if> </if>
AND ugr.type = 0 AND ugr.type = 0
</where> </where>
<choose>
<when test="rechargeAudit.sortField != null and rechargeAudit.sortField.length > 0 or rechargeAudit.sortOrder != null and rechargeAudit.sortOrder.length > 0">
ORDER BY #{rechargeAudit.sortField} #{rechargeAudit.sortOrder}
</when>
<otherwise>
ORDER BY create_time DESC
</otherwise>
</choose>
</select> </select>
<!--多条件查询退款审核订单--> <!--多条件查询退款审核订单-->
<select id="selectRefundBy" resultType="com.example.demo.domain.vo.RefundAudit"> <select id="selectRefundBy" resultType="com.example.demo.domain.vo.RefundAudit">
SELECT ugr.*, SELECT ugr.*,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
u.name as name, u.name as name,
u.market as market, u.market as market,
a1.admin_name as adminName, a1.admin_name as adminName,
@ -106,5 +115,13 @@
AND ugr.type = 2 AND ugr.type = 2
</where> </where>
<choose>
<when test="refundAudit.sortField != null and refundAudit.sortField.length > 0 or refundAudit.sortOrder != null and refundAudit.sortOrder.length > 0">
ORDER BY #{refundAudit.sortField} #{refundAudit.sortOrder}
</when>
<otherwise>
ORDER BY create_time DESC
</otherwise>
</choose>
</select> </select>
</mapper> </mapper>
Loading…
Cancel
Save