17 changed files with 441 additions and 17 deletions
-
42src/main/java/com/example/demo/controller/AuditController.java
-
5src/main/java/com/example/demo/controller/StatisticsController.java
-
2src/main/java/com/example/demo/controller/WorkbenchController.java
-
18src/main/java/com/example/demo/domain/vo/AuditRequest.java
-
2src/main/java/com/example/demo/domain/vo/Page.java
-
57src/main/java/com/example/demo/domain/vo/RechargeAudit.java
-
55src/main/java/com/example/demo/domain/vo/RefundAudit.java
-
2src/main/java/com/example/demo/domain/vo/WorkbenchMarketCard.java
-
25src/main/java/com/example/demo/mapper/AuditMapper.java
-
13src/main/java/com/example/demo/service/AuditService.java
-
2src/main/java/com/example/demo/service/WorkbenchService.java
-
104src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java
-
12src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java
-
6src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java
-
6src/main/resources/application.yml
-
103src/main/resources/mapper/AuditMapper.xml
-
4src/main/resources/mapper/StatisticsMapper.xml
@ -0,0 +1,18 @@ |
|||||
|
package com.example.demo.domain.vo; |
||||
|
|
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
@Data |
||||
|
@NoArgsConstructor |
||||
|
@AllArgsConstructor |
||||
|
public class AuditRequest { |
||||
|
private String token; |
||||
|
private String orderCode; //订单号 |
||||
|
private Integer auditId; //审核人id |
||||
|
private Integer action; //操作 |
||||
|
private String rejectReason; //驳回理由 |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
package com.example.demo.domain.vo; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
import java.util.Date; |
||||
|
|
||||
|
/** |
||||
|
* @program: gold-java |
||||
|
* @ClassName RechargeAudit |
||||
|
* @description: 充值审核 |
||||
|
* @author: Ethan |
||||
|
* @create: 2025−06-30 10:29 |
||||
|
* @Version 1.0 |
||||
|
**/ |
||||
|
|
||||
|
@Data |
||||
|
@NoArgsConstructor |
||||
|
@AllArgsConstructor |
||||
|
public class RechargeAudit { |
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
private String name; // 客户姓名 |
||||
|
private Integer jwcode; // 精网号 |
||||
|
private String orderCode; // 订单号 |
||||
|
private String activity; // 活动名称 |
||||
|
private String market; // 所属地区 |
||||
|
private Byte refundType; // 退款类型 |
||||
|
private Integer sumGold; //充值金额 |
||||
|
private Integer permanentGold; // 永久金币 |
||||
|
private Integer freeGold; // 免费金币 |
||||
|
private Integer freeJune; // 6月免费金币 |
||||
|
private Integer freeDecember; // 12月免费金币 |
||||
|
private String remark; // 备注 |
||||
|
private String payModel; //支付方式 |
||||
|
private String voucher; //支付凭证 |
||||
|
private Integer adminId; //提交人Id |
||||
|
private String adminName; //提交人姓名 |
||||
|
private String auditStatus; //审核状态 |
||||
|
private Integer auditId; //审核人Id |
||||
|
private String auditName; //审核人姓名 |
||||
|
private Byte type; //类型 |
||||
|
private String rejectReason; //驳回理由 |
||||
|
|
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
||||
|
private String payTime; //支付时间 |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
||||
|
private Date createTime; // 创建时间 |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
||||
|
private Date startTime; // 开始时间 |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
||||
|
private Date endTime; // 结束时间 |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
||||
|
private Date auditTime; // 审核时间 |
||||
|
} |
@ -0,0 +1,55 @@ |
|||||
|
package com.example.demo.domain.vo; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
import java.util.Date; |
||||
|
|
||||
|
/** |
||||
|
* @program: gold-java |
||||
|
* @ClassName RechargeAudit |
||||
|
* @description: 退款审核 |
||||
|
* @author: Ethan |
||||
|
* @create: 2025−06-30 13:29 |
||||
|
* @Version 1.0 |
||||
|
**/ |
||||
|
|
||||
|
@Data |
||||
|
@NoArgsConstructor |
||||
|
@AllArgsConstructor |
||||
|
public class RefundAudit { |
||||
|
private static final long serialVersionUID = 1L; |
||||
|
private String name; // 客户姓名 |
||||
|
private Integer jwcode; // 精网号 |
||||
|
private String orderCode; // 订单号 |
||||
|
private String market; // 所属地区 |
||||
|
private Byte refundModel; // 退款方式-全额 部分 |
||||
|
private String goodsName; // 商品名称 |
||||
|
private Integer sumGold; // 退款金额 |
||||
|
private Integer permanentGold; // 永久金币 |
||||
|
private Integer freeGold; // 免费金币 |
||||
|
private Integer freeJune; // 6月免费金币 |
||||
|
private Integer freeDecember; // 12月免费金币 |
||||
|
private String remark; // 备注 |
||||
|
private String payModel; //支付方式 |
||||
|
private String voucher; //支付凭证 |
||||
|
private Integer adminId; //提交人Id |
||||
|
private String adminName; //提交人姓名 |
||||
|
private String auditStatus; //审核状态 |
||||
|
private Integer auditId; //审核人Id |
||||
|
private String auditName; //审核人姓名 |
||||
|
private String rejectReason; //驳回理由 |
||||
|
private Byte type; //类型 |
||||
|
|
||||
|
|
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
||||
|
private Date createTime; // 创建时间 |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
||||
|
private Date startTime; // 开始时间 |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
||||
|
private Date endTime; // 结束时间 |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
||||
|
private Date auditTime; // 审核时间 |
||||
|
} |
@ -1,5 +1,108 @@ |
|||||
<?xml version="1.0" encoding="UTF-8"?> |
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="com.example.demo.mapper.AuditMapper"> |
<mapper namespace="com.example.demo.mapper.AuditMapper"> |
||||
|
<!-- 修改订单审核人与审核状态--> |
||||
|
<update id="updateOrder"> |
||||
|
update user_gold_record |
||||
|
set audit_id = #{auditId}, |
||||
|
audit_status = #{auditStatus}, |
||||
|
reject_reason = #{rejectReason} |
||||
|
where order_code = #{orderCode} |
||||
|
</update> |
||||
|
<!--更新用户余额--> |
||||
|
<update id="updateUserGold"> |
||||
|
update user |
||||
|
set sum_permanent_gold = sum_permanent_gold + COALESCE(#{sumPermanentGold},0), |
||||
|
sum_free_june = sum_free_june + COALESCE(#{sumFreeJune},0), |
||||
|
sum_free_december = sum_free_december + COALESCE(#{sumFreeDecember},0), |
||||
|
sum_task_gold = sum_task_gold + COALESCE(#{sumTaskGold},0), |
||||
|
current_permanent_gold = current_permanent_gold + COALESCE(#{currentPermanentGold},0), |
||||
|
current_free_june = current_free_june + COALESCE(#{currentFreeJune},0), |
||||
|
current_free_december = current_free_december + COALESCE(#{currentFreeDecember},0), |
||||
|
current_task_gold = current_task_gold + COALESCE(#{currentTaskGold},0) |
||||
|
where jwcode = #{jwcode} |
||||
|
</update> |
||||
|
<!--修改消费订单为已退款--> |
||||
|
<update id="updateOrderRefund"> |
||||
|
update user_gold_record |
||||
|
set is_refund = 1 |
||||
|
where order_code = #{orderCode} |
||||
|
</update> |
||||
|
<!--根据订单号查订单--> |
||||
|
|
||||
|
<select id="selectOrderByOrderCode" resultType="com.example.demo.domain.entity.UserGoldRecord"> |
||||
|
select * from user_gold_record where order_code = #{orderCode} |
||||
|
</select> |
||||
|
<!--多条件查询充值审核订单--> |
||||
|
<select id="selectRechargeBy" resultType="com.example.demo.domain.vo.RechargeAudit"> |
||||
|
SELECT ugr.*, |
||||
|
u.name as name, |
||||
|
u.market as market, |
||||
|
a1.admin_name as adminName, |
||||
|
a2.admin_name as auditName |
||||
|
FROM user_gold_record as ugr |
||||
|
LEFT JOIN user u ON ugr.jwcode = u.jwcode |
||||
|
LEFT JOIN admin a1 ON ugr.admin_id = a1.id |
||||
|
LEFT JOIN admin a2 ON ugr.audit_id = a2.id |
||||
|
|
||||
|
<where> |
||||
|
<if test="rechargeAudit.jwcode != null and rechargeAudit.jwcode != ''"> |
||||
|
AND ugr.jwcode = #{rechargeAudit.jwcode} |
||||
|
</if> |
||||
|
<if test="rechargeAudit.activity != null and rechargeAudit.activity != ''"> |
||||
|
AND ugr.activity = #{rechargeAudit.activity} |
||||
|
</if> |
||||
|
<if test="rechargeAudit.payModel != null and rechargeAudit.payModel != ''"> |
||||
|
AND ugr.payModel = #{rechargeAudit.payModel} |
||||
|
</if> |
||||
|
<if test="rechargeAudit.market != null and rechargeAudit.market != ''"> |
||||
|
AND u.market = #{rechargeAudit.market} |
||||
|
</if> |
||||
|
<if test="rechargeAudit.startTime != null and rechargeAudit.endTime != null "> |
||||
|
AND ugr.pay_time between #{rechargeAudit.startTime} and #{rechargeAudit.endTime} |
||||
|
</if> |
||||
|
|
||||
|
<if test="rechargeAudit.auditStatus != null and rechargeAudit.auditStatus != ''"> |
||||
|
AND ugr.audit_status = #{rechargeAudit.auditStatus} |
||||
|
</if> |
||||
|
AND ugr.type = 0 |
||||
|
|
||||
|
</where> |
||||
|
</select> |
||||
|
<!--多条件查询退款审核订单--> |
||||
|
<select id="selectRefundBy" resultType="com.example.demo.domain.vo.RefundAudit"> |
||||
|
SELECT ugr.*, |
||||
|
u.name as name, |
||||
|
u.market as market, |
||||
|
a1.admin_name as adminName, |
||||
|
a2.admin_name as auditName |
||||
|
FROM user_gold_record as ugr |
||||
|
LEFT JOIN user u ON ugr.jwcode = u.jwcode |
||||
|
LEFT JOIN admin a1 ON ugr.admin_id = a1.id |
||||
|
LEFT JOIN admin a2 ON ugr.audit_id = a2.id |
||||
|
|
||||
|
<where> |
||||
|
<if test="refundAudit.jwcode != null and refundAudit.jwcode != ''"> |
||||
|
AND ugr.jwcode = #{refundAudit.jwcode} |
||||
|
</if> |
||||
|
<if test="refundAudit.refundModel != null and refundAudit.refundModel != ''"> |
||||
|
AND ugr.refund_model = #{refundAudit.refundModel} |
||||
|
</if> |
||||
|
<if test="refundAudit.goodsName != null and refundAudit.goodsName != ''"> |
||||
|
AND ugr.goods_name = #{refundAudit.goodsName} |
||||
|
</if> |
||||
|
<if test="refundAudit.market != null and refundAudit.market != ''"> |
||||
|
AND u.market = #{refundAudit.market} |
||||
|
</if> |
||||
|
<if test="refundAudit.startTime != null and refundAudit.endTime != null "> |
||||
|
AND ugr.create_time between #{refundAudit.startTime} and #{refundAudit.endTime} |
||||
|
</if> |
||||
|
|
||||
|
<if test="refundAudit.auditStatus != null and refundAudit.auditStatus != ''"> |
||||
|
AND ugr.audit_status = #{refundAudit.auditStatus} |
||||
|
</if> |
||||
|
AND ugr.type = 2 |
||||
|
|
||||
|
</where> |
||||
|
</select> |
||||
</mapper> |
</mapper> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue