Browse Source

Merge remote-tracking branch 'origin/milestone-20250702-金币重构一期' into milestone-20250702-金币重构一期

# Conflicts:
#	src/main/java/com/example/demo/domain/vo/Page.java
huangqizheng/feature-20250626103451-权限页面
huangqizhen 1 week ago
parent
commit
ed6ef8996e
  1. 33
      src/main/java/com/example/demo/controller/ConsumeController.java
  2. 6
      src/main/java/com/example/demo/controller/GeneralController.java
  3. 21
      src/main/java/com/example/demo/domain/vo/Consume.java
  4. 5
      src/main/java/com/example/demo/domain/vo/Gold.java
  5. 3
      src/main/java/com/example/demo/domain/vo/Page.java
  6. 2
      src/main/java/com/example/demo/mapper/ConsumeMapper.java
  7. 1
      src/main/java/com/example/demo/mapper/GeneralMapper.java
  8. 6
      src/main/java/com/example/demo/service/ConsumeService.java
  9. 1
      src/main/java/com/example/demo/service/GeneralService.java
  10. 15
      src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
  11. 6
      src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java
  12. 75
      src/main/resources/mapper/ConsumeMapper.xml
  13. 3
      src/main/resources/mapper/GeneralMapper.xml

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

@ -2,11 +2,13 @@ package com.example.demo.controller;
import com.example.demo.domain.vo.Consume;
import com.example.demo.domain.vo.Gold;
import com.example.demo.domain.vo.Page;
import com.example.demo.domain.vo.Result;
import com.example.demo.service.ConsumeService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -32,16 +34,35 @@ public class ConsumeController {
//消耗明细
@PostMapping("/selectAll")
public Result selcetAll()
{
List<Consume> consumes = consumeService.selectAll();
return Result.success(consumes);
public Result selcetAll(@RequestBody Page page) {
if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
}
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
} 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);
}

6
src/main/java/com/example/demo/controller/GeneralController.java

@ -41,4 +41,10 @@ public class GeneralController {
List<String> list = generalService.getPlatform();
return Result.success(list);
}
@PostMapping("/goods")
public Result getGoods()
{
List<String> list = generalService.getGoods();
return Result.success(list);
}
}

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

@ -1,24 +1,29 @@
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
@NoArgsConstructor
@AllArgsConstructor
public class Consume implements Serializable {
private static final long serialVersionUID = 1L;
private String name; // 客户姓名
private Integer jwcode; // 精网号
private String market; // 所属地区
@ -33,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; // 结束时间
}

5
src/main/java/com/example/demo/domain/vo/Gold.java

@ -4,6 +4,8 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @program: gold-java
* @ClassName Gold
@ -16,7 +18,8 @@ import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Gold {
public class Gold implements Serializable {
private static final long serialVersionUID = 1L;
private Integer permanentGolds; // 永久金币总数
private Integer freeGolds; // 免费金币总数
private Integer taskGolds; // 任务金币总数

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

@ -1,6 +1,5 @@
package com.example.demo.domain.vo;
import com.example.demo.domain.entity.User;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -20,6 +19,6 @@ public class Page {
private Integer pageNum;
private Integer pageSize;
private GoldDetail goldDetail;
private User user;
private Consume consume;
}

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

1
src/main/java/com/example/demo/mapper/GeneralMapper.java

@ -16,4 +16,5 @@ import java.util.List;
public interface GeneralMapper {
List<String> getMarket();
List<String> getPlatform();
List<String> getGoods();
}

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

@ -3,6 +3,8 @@ package com.example.demo.service;
import com.example.demo.domain.vo.Consume;
import com.example.demo.domain.vo.Gold;
import com.example.demo.domain.vo.GoldDetail;
import com.github.pagehelper.PageInfo;
import java.util.List;
@ -16,7 +18,9 @@ import java.util.List;
**/
public interface ConsumeService {
List<Consume> selectAll();
PageInfo<Consume> selectAll(Integer pageNum, Integer pageSize);
Gold statsGold();
PageInfo<Consume> selectBy(Integer pageNum, Integer pageSize, Consume consume);
}

1
src/main/java/com/example/demo/service/GeneralService.java

@ -14,4 +14,5 @@ import java.util.List;
public interface GeneralService {
List<String> getMarket();
List<String> getPlatform();
List<String> getGoods();
}

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

@ -4,6 +4,8 @@ import com.example.demo.domain.vo.Consume;
import com.example.demo.domain.vo.Gold;
import com.example.demo.mapper.ConsumeMapper;
import com.example.demo.service.ConsumeService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -26,9 +28,10 @@ public class ConsumeServiceImpl implements ConsumeService {
//消耗明细
@Override
public List<Consume> selectAll() {
public PageInfo<Consume> selectAll(Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<Consume> consumes = consumeMapper.selectAll();
return consumes;
return new PageInfo<>(consumes);
}
//消耗金币统计
@ -65,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);
}
}

6
src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java

@ -32,4 +32,10 @@ public class GeneralServiceImpl implements GeneralService {
List<String> list = generalMapper.getPlatform();
return list;
}
@Override
public List<String> getGoods() {
List<String> list = generalMapper.getGoods();
return list;
}
}

75
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
ugr.type = 2
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>

3
src/main/resources/mapper/GeneralMapper.xml

@ -8,4 +8,7 @@
<select id="getPlatform" resultType="java.lang.String">
select DISTINCT pay_platform from user_gold_record
</select>
<select id="getGoods" resultType="java.lang.String">
select DISTINCT goods_name from user_gold_record
</select>
</mapper>
Loading…
Cancel
Save