Browse Source

消费模块,筛选查询详情

huangqizheng/feature-20250626103451-权限页面
sunjiabei 1 week ago
parent
commit
9ad7f3af69
  1. 27
      src/main/java/com/example/demo/controller/ConsumeController.java
  2. 18
      src/main/java/com/example/demo/domain/vo/Consume.java
  3. 2
      src/main/java/com/example/demo/mapper/ConsumeMapper.java
  4. 2
      src/main/java/com/example/demo/service/ConsumeService.java
  5. 8
      src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
  6. 73
      src/main/resources/mapper/ConsumeMapper.xml

27
src/main/java/com/example/demo/controller/ConsumeController.java

@ -34,24 +34,35 @@ public class ConsumeController {
//消耗明细
@PostMapping("/selectAll")
public Result selcetAll(@RequestBody Page page)
{
if(ObjectUtils.isEmpty(page.getPageNum())){
public Result selcetAll(@RequestBody Page page) {
if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
}
if(ObjectUtils.isEmpty(page.getPageSize())){
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
}
else{
} else {
return Result.success(consumeService.selectAll(page.getPageNum(), page.getPageSize()));
}
}
//消耗明细筛选
@PostMapping("/selectBy")
public Result selcetBy(@RequestBody Page page) {
if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
}
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
} else {
return Result.success(consumeService.selectBy(page.getPageNum(), page.getPageSize(), page.getConsume()));
}
}
//消耗金币统计
@PostMapping("/statsGold")
public Result statsGold()
{
public Result statsGold() {
Gold gold = consumeService.statsGold();
return Result.success(gold);
}

18
src/main/java/com/example/demo/domain/vo/Consume.java

@ -1,18 +1,20 @@
package com.example.demo.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
@program: gold-java
@ClassName Consume
@description: 消费明细
@author: Double
@create: 202506-23 11:53
@Version 1.0
* @program: gold-java
* @ClassName Consume
* @description: 消费明细
* @author: Double
* @create: 202506-23 11:53
* @Version 1.0
**/
@Data
@ -36,4 +38,8 @@ public class Consume implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date payTime; // 消费时间
@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; // 结束时间
}

2
src/main/java/com/example/demo/mapper/ConsumeMapper.java

@ -18,4 +18,6 @@ import java.util.List;
public interface ConsumeMapper {
List<Consume> selectAll();
List<Consume> selectBy(Consume consume);
}

2
src/main/java/com/example/demo/service/ConsumeService.java

@ -21,4 +21,6 @@ public interface ConsumeService {
PageInfo<Consume> selectAll(Integer pageNum, Integer pageSize);
Gold statsGold();
PageInfo<Consume> selectBy(Integer pageNum, Integer pageSize, Consume consume);
}

8
src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java

@ -68,4 +68,12 @@ public class ConsumeServiceImpl implements ConsumeService {
return gold;
}
//消耗明细筛选
@Override
public PageInfo<Consume> selectBy(Integer pageNum, Integer pageSize, Consume consume) {
PageHelper.startPage(pageNum, pageSize);
List<Consume> consumes = consumeMapper.selectBy(consume);
return new PageInfo<>(consumes);
}
}

73
src/main/resources/mapper/ConsumeMapper.xml

@ -4,26 +4,59 @@
<!-- 查询所有消费记录 -->
<select id="selectAll" resultType="com.example.demo.domain.vo.Consume">
SELECT
u.name AS name,
u.jwcode AS jwcode,
u.market AS market,
ugr.goods_name AS goodsName,
ugr.pay_platform AS payPlatform,
ugr.sum_gold AS sumGold,
ugr.permanent_gold AS permanentGold,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
ugr.task_gold AS taskGold,
ugr.remark AS remark,
a.admin_name AS adminName,
ugr.pay_time AS payTime
FROM
user u
JOIN
user_gold_record ugr ON u.jwcode = ugr.jwcode
JOIN
admin a ON ugr.admin_id = a.id
WHERE
SELECT u.name AS name,
u.jwcode AS jwcode,
u.market AS market,
ugr.goods_name AS goodsName,
ugr.pay_platform AS payPlatform,
ugr.sum_gold AS sumGold,
ugr.permanent_gold AS permanentGold,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
ugr.task_gold AS taskGold,
ugr.remark AS remark,
a.admin_name AS adminName,
ugr.pay_time AS payTime
FROM user u
JOIN
user_gold_record ugr ON u.jwcode = ugr.jwcode
JOIN
admin a ON ugr.admin_id = a.id
WHERE ugr.type = 1
</select>
<!-- 查询筛选后消费记录 -->
<select id="selectBy" resultType="com.example.demo.domain.vo.Consume">
SELECT u.name AS name,
u.jwcode AS jwcode,
u.market AS market,
ugr.goods_name AS goodsName,
ugr.pay_platform AS payPlatform,
ugr.sum_gold AS sumGold,
ugr.permanent_gold AS permanentGold,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
ugr.task_gold AS taskGold,
ugr.remark AS remark,
a.admin_name AS adminName,
ugr.pay_time AS payTime
FROM user u
JOIN
user_gold_record ugr ON u.jwcode = ugr.jwcode
JOIN
admin a ON ugr.admin_id = a.id
<where>
ugr.type = 1
<if test="goodsName != null and goodsName != ''">
AND ugr.goods_name = #{goodsName}
</if>
<if test="market != null and market != ''">
AND u.market = #{market}
</if>
<if test="payPlatform != null and payPlatform != ''">
AND ugr.pay_platform = #{payPlatform}
</if>
<if test="startTime != null and endTime != null">
AND ugr.pay_time BETWEEN #{startTime} AND #{endTime}
</if>
</where>
</select>
</mapper>
Loading…
Cancel
Save