12 Commits

  1. 2
      README.md
  2. 5
      src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java
  3. 119
      src/main/java/com/example/demo/controller/coin/GoldDetailController.java
  4. 2
      src/main/java/com/example/demo/domain/entity/User.java
  5. 6
      src/main/java/com/example/demo/domain/vo/coin/ConsumeUser.java
  6. 6
      src/main/java/com/example/demo/domain/vo/coin/RechargeAudit.java
  7. 7
      src/main/java/com/example/demo/domain/vo/coin/RechargeUser.java
  8. 5
      src/main/java/com/example/demo/domain/vo/coin/RefundAudit.java
  9. 9
      src/main/java/com/example/demo/domain/vo/coin/RefundUser.java
  10. 18
      src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java
  11. 6
      src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java
  12. 3
      src/main/java/com/example/demo/serviceImpl/coin/UserServiceImpl.java
  13. 6
      src/main/resources/application-test.yml
  14. 8
      src/main/resources/mapper/AuditMapper.xml
  15. 4
      src/main/resources/mapper/ConsumeMapper.xml
  16. 4
      src/main/resources/mapper/GoldDetailMapper.xml
  17. 14
      src/main/resources/mapper/RechargeMapper.xml
  18. 16
      src/main/resources/mapper/RefundMapper.xml
  19. 4
      src/main/resources/mapper/StatisticsMapper.xml
  20. 2
      src/main/resources/mapper/WorkBenchMapper.xml

2
README.md

@ -6,7 +6,7 @@
## Maven:3.9.8
## Mysql:5.7.44 地址端口号:18.143.76.3:3306
## Mysql:5.7.44 地址端口号:54.255.212.181:3306
### 数据库:
#### 正式 hwgold aDiw7MERSATdfGta

5
src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java

@ -76,7 +76,7 @@ public class MysqlServiceImpl implements MysqlService {
//退款类型 61ERP退款退金币
String insertSql = "INSERT INTO user_gold_record (order_code,jwcode,sum_gold,permanent_gold,free_june,free_december," +
"task_gold,pay_platform,goods_name,refund_type,refund_model,remark,type,admin_id," +
"audit_status,create_time,flag) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
"audit_status,create_time,flag,update_time) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";
try (PreparedStatement mysqlStmt = mysqlConn.prepareStatement(insertSql)) {
while (resultSet.next()) {
int gtype = resultSet.getInt("gtype");
@ -162,11 +162,12 @@ public class MysqlServiceImpl implements MysqlService {
mysqlStmt.setString(12, remark);
mysqlStmt.setInt(15, 3);
mysqlStmt.setTimestamp(16, created_at);
if(remark.contains("测试")){
if(remark.contains("测试")&&remark.contains("员工")){
mysqlStmt.setInt(17, 0);
}else {
mysqlStmt.setInt(17, 1);
}
mysqlStmt.setTimestamp(18, created_at);
// 更新时的值
mysqlStmt.addBatch();

119
src/main/java/com/example/demo/controller/coin/GoldDetailController.java

@ -57,76 +57,137 @@ public class GoldDetailController {
@PostMapping("/getGoldDetail")
public Result getGoldDetail(@RequestBody Page page) throws Exception {
if(ObjectUtils.isEmpty(page.getPageNum())){
// 获取当前请求对象
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
// 解析 token 获取用户信息
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
List<String> userMarkets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
List<String> markets = marketService.getMarketIds(userMarkets);
// 校验分页参数
if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
}
if(ObjectUtils.isEmpty(page.getPageSize())){
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
}
else{
if(page.getGoldDetail().getMarkets()==null||page.getGoldDetail().getMarkets().isEmpty()){
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));;
if(!markets.contains("总部")&&!markets.contains("研发部")) {
page.getGoldDetail().setMarkets(marketService.getMarketIds(markets));
// 获取传入的市场列表
List<String> requestedMarkets = page.getGoldDetail() != null ? page.getGoldDetail().getMarkets() : null;
// 权限校验
if (requestedMarkets != null && !requestedMarkets.isEmpty()) {
if (!markets.containsAll(requestedMarkets)) {
// 如果 markets 不包含 requestedMarkets 中的所有元素则返回无权限
return Result.error("无权限!");
}
} else {
// 如果传入的市场为空则设置默认市场
if (!markets.contains("9") || !markets.contains("9999")) {
page.getGoldDetail().setMarkets(markets); // 设置默认市场
}
return Result.success(goldDetailService.getGoldDetail(page.getPageNum(), page.getPageSize(), page.getGoldDetail()));
}
// 返回详情数据
return Result.success(goldDetailService.getGoldDetail(
page.getPageNum(),
page.getPageSize(),
page.getGoldDetail()
));
}
@PostMapping("/getTotal")
public Result getTotal(@RequestBody Page page) throws Exception {
Integer pageNum = page.getPageNum();
Integer pageSize = page.getPageSize();
GoldDetail goldDetail = page.getGoldDetail();
if(page.getGoldDetail().getMarkets()==null||page.getGoldDetail().getMarkets().isEmpty()){
// 获取当前请求对象
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
// 解析 token 获取用户信息
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
if(!markets.contains("总部")&&!markets.contains("研发部")) {
List<String> userMarkets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
List<String> markets = marketService.getMarketIds(userMarkets);
// 获取传入的市场列表
List<String> requestedMarkets = page.getGoldDetail() != null ? page.getGoldDetail().getMarkets() : null;
page.getGoldDetail().setMarkets(marketService.getMarketIds(markets));
// 权限校验
if (requestedMarkets != null && !requestedMarkets.isEmpty()) {
if (!markets.containsAll(requestedMarkets)) {
// 如果 markets 不包含 requestedMarkets 中的所有元素则返回无权限
return Result.error("无权限!");
}
} else {
// 如果传入的市场为空则设置默认市场
if (!markets.contains("9") || !markets.contains("9999")) {
page.getGoldDetail().setMarkets(markets); // 设置默认市场
}
}
return Result.success(goldDetailService.sumGold(pageNum,pageSize,goldDetail));
}
@PostMapping("/goldTotal")
public Result GoldTotal(@RequestBody User user) throws Exception {
if(user.getMarkets()==null||user.getMarkets().isEmpty()) {
// 获取当前请求对象
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
// 解析 token 获取用户信息
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
List<String> userMarkets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
List<String> markets = marketService.getMarketIds(userMarkets);
if(!markets.contains("总部")&&!markets.contains("研发部")) {
// 获取传入的市场列表
List<String> requestedMarkets = user != null ? user.getMarkets() : null;
user.setMarkets(marketService.getMarketIds(markets));
// 权限校验
if (requestedMarkets != null && !requestedMarkets.isEmpty()) {
if (!markets.containsAll(requestedMarkets)) {
// 如果 markets 不包含 requestedMarkets 中的所有元素则返回无权限
return Result.error("无权限!");
}
} else {
// 如果传入的市场为空则设置默认市场
if (!markets.contains("9") || !markets.contains("9999")) {
user.setMarkets(markets); // 设置默认市场
}
}
return Result.success(goldDetailService.GoldTotal(user));
}
@PostMapping("/getGold")
public Result getGold(@RequestBody Page page) throws Exception {
// System.out.println( page);
if(ObjectUtils.isEmpty(page.getPageNum())){
// 获取当前请求对象
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
// 解析 token 获取用户信息
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
List<String> userMarkets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
List<String> markets = marketService.getMarketIds(userMarkets);
// 校验分页参数
if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
}
if(ObjectUtils.isEmpty(page.getPageSize())){
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
}
if(page.getUser().getMarkets()==null||page.getUser().getMarkets().isEmpty()) {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
Admin admin = (Admin) JWTUtil.getUserDetailsList(String.valueOf(token), Admin.class);
List<String> markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ","));
if(!markets.contains("总部")&&!markets.contains("研发部")) {
// 获取传入的市场列表
List<String> requestedMarkets = page.getUser() != null ? page.getUser().getMarkets() : null;
page.getUser().setMarkets(marketService.getMarketIds(markets));
// 权限校验
if (requestedMarkets != null && !requestedMarkets.isEmpty()) {
if (!markets.containsAll(requestedMarkets)) {
// 如果 markets 不包含 requestedMarkets 中的所有元素则返回无权限
return Result.error("无权限!");
}
} else {
// 如果传入的市场为空则设置默认市场
if (!markets.contains("9") || !markets.contains("9999")) {
page.getUser().setMarkets(markets); // 设置默认市场
}
}
return Result.success(goldDetailService.getGold(page.getPageNum(), page.getPageSize(), page.getUser()));

2
src/main/java/com/example/demo/domain/entity/User.java

@ -68,4 +68,6 @@ public class User implements Serializable {
private String sortField; //排序字段
@ExcelIgnore
private String sortOrder; //排序顺序
@ExcelIgnore
private Integer flag;//是否员工号
}

6
src/main/java/com/example/demo/domain/vo/coin/ConsumeUser.java

@ -40,11 +40,11 @@ public class ConsumeUser implements Serializable {
private String payPlatform; // 消费平台
@ExcelProperty("金币总数")
private Integer sumGold; // 金币总数
@ExcelProperty("永久金币")
@ExcelProperty("永久金币*100")
private Integer permanentGold; // 永久金币
@ExcelProperty("免费金币")
@ExcelProperty("免费金币*100")
private Integer freeGold; // 免费金币
@ExcelProperty("任务金币")
@ExcelProperty("任务金币*100")
private Integer taskGold; // 任务金币
@ExcelProperty("备注")
private String remark; // 备注

6
src/main/java/com/example/demo/domain/vo/coin/RechargeAudit.java

@ -1,5 +1,6 @@
package com.example.demo.domain.vo.coin;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
@ -33,6 +34,11 @@ public class RechargeAudit {
private List<String> markets; // 所属地区
private String refundType; // 退款类型
private Byte refundModel; // 退款类型
private Integer rateId; // 汇率ID
private String rateName; // 汇率名称
private Integer money; // 金额[]
private Integer sumGold; //充值金额
private Integer permanentGold; // 永久金币
private Integer freeGold; // 免费金币

7
src/main/java/com/example/demo/domain/vo/coin/RechargeUser.java

@ -46,10 +46,10 @@ public class RechargeUser {
@ExcelProperty("金额[分]")
private Integer money; // 金额[]
@ExcelProperty("永久金币")
@ExcelProperty("永久金币*100")
private Integer permanentGold; // 永久金币
@ExcelProperty("免费金币")
@ExcelProperty("免费金币*100")
private Integer freeGold; // 免费金币
@ExcelProperty("支付方式")
@ -74,6 +74,9 @@ public class RechargeUser {
@ExcelProperty("创建时间")
private Date payTime; // 创建时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
@ExcelProperty("审核时间")
private Date auditTime; // 审核时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
@ExcelIgnore
private Date startTime; // 开始时间
@ExcelIgnore

5
src/main/java/com/example/demo/domain/vo/coin/RefundAudit.java

@ -31,6 +31,11 @@ public class RefundAudit {
private List<String> markets; // 所属地区
private Integer refundModel; // 退款方式-全额 部分
private String goodsName; // 商品名称
private Integer rateId; // 汇率ID
private String rateName; // 汇率名称
private Integer money; // 金额[]
private Integer sumGold; // 退款金额
private Integer permanentGold; // 永久金币
private Integer freeGold; // 免费金币

9
src/main/java/com/example/demo/domain/vo/coin/RefundUser.java

@ -42,11 +42,11 @@ public class RefundUser {
private Byte refundModel; // 退款方式0全部/1部分退款
@ExcelProperty("金币总数")
private Integer sumGold; // 金币总数
@ExcelProperty("永久金币")
@ExcelProperty("永久金币*100")
private Integer permanentGold; // 永久金币
@ExcelProperty("免费金币")
@ExcelProperty("免费金币*100")
private Integer freeGold; // 免费金币
@ExcelProperty("任务金币")
@ExcelProperty("任务金币*100")
private Integer taskGold; // 任务金币
@ExcelProperty("退款原因")
private String remark; // 退款原因
@ -58,6 +58,9 @@ public class RefundUser {
@ExcelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date createTime; // 创建时间
@ExcelProperty("审核时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date auditTime; // 审核时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
@ExcelIgnore
private Date startTime; // 开始时间

18
src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java

@ -1,14 +1,12 @@
package com.example.demo.serviceImpl.bean;
import com.example.demo.domain.vo.bean.BeanOnlineRechargeInfo;
import com.example.demo.domain.vo.bean.BeanRecharge;
import com.example.demo.domain.vo.bean.BeanSystemRechargeInfo;
import com.example.demo.domain.vo.bean.GoldBean;
import com.example.demo.domain.vo.bean.*;
import com.example.demo.domain.vo.coin.Gold;
import com.example.demo.domain.vo.coin.GoldUser;
import com.example.demo.domain.vo.coin.RechargeUser;
import com.example.demo.domain.vo.coin.Result;
import com.example.demo.mapper.bean.BeanRechargeMapper2;
import com.example.demo.mapper.bean.BeanUserMapper;
import com.example.demo.mapper.coin.BeanRechargeMapper1;
import com.example.demo.mapper.coin.UserMapper;
import com.example.demo.mapper.pay.BeanRechargeMapper3;
@ -56,6 +54,9 @@ public class BeanRechargeServiceImpl implements BeanRechargeService {
@Autowired
private UserMapper userMapper;
@Autowired
private BeanUserMapper beanUserMapper;
//新增金豆
@Override
public Result add(BeanRecharge recharge) {
@ -80,6 +81,10 @@ public class BeanRechargeServiceImpl implements BeanRechargeService {
if (recharge.getFreeBean() == 0 && recharge.getPermanentBean() == 0) {
return Result.error("免费豆和永久豆不能同时为0");
}
BeanUserCard user = beanUserMapper.userCard(String.valueOf(recharge.getJwcode()));
if(user==null){
return Result.error("用户查找不到");
}
// 验证备注是否为空
if (recharge.getRemark() == null || recharge.getRemark().toString().isEmpty()) {
return Result.error("备注不能为空");
@ -87,10 +92,7 @@ public class BeanRechargeServiceImpl implements BeanRechargeService {
if(recharge.getAdminName() == null || recharge.getAdminName().toString().isEmpty()){
return Result.error("管理员名称不能为空");
}
GoldUser goldUser = userMapper.selectUser(recharge.getJwcode().toString());
if(goldUser==null){
return Result.error("用户不存在");
}
beanRechargeMapper1.add(recharge);
// String jwcode = recharge.getJwcode().toString();
// String op = "recharge"; // 操作类型根据实际业务定义例如"recharge"表示充值

6
src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java

@ -123,9 +123,9 @@ public class RechargeServiceImpl implements RechargeService {
if (rechargeUser.getFreeGold() == 0 && rechargeUser.getPermanentGold() == 0) {
return Result.error("免费金币和永久金币不能同时为0");
}
BeanUserCard user = beanUserMapper.userCard(String.valueOf(rechargeUser.getJwcode()));
if(user==null){
return Result.error("用户查找不到");
GoldUser goldUser = userMapper.selectUser(rechargeUser.getJwcode().toString());
if(goldUser==null){
return Result.error("用户不存在");
}
UserGoldRecord userGoldRecord = new UserGoldRecord();

3
src/main/java/com/example/demo/serviceImpl/coin/UserServiceImpl.java

@ -49,6 +49,9 @@ public class UserServiceImpl implements UserService {
if (admin != null) {
List<String> list = Arrays.asList(admin.getMarkets().split(","));
List<String> markets = marketMapper.getMarketIds(list);
if (markets.contains("9") || markets.contains("9999")){
markets=null;
}
GoldUser user = userMapper.selectUserCard(jwcode,markets);
return Result.success(user);
}

6
src/main/resources/application-test.yml

@ -67,9 +67,9 @@ spring:
data:
redis:
database: 0
host: localhost
port: 6379
password: 123456
host: 54.255.212.181
port: 10703
password: Ngc0FYUTA6h3wC5J
lettuce:
pool:

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

@ -48,6 +48,7 @@
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
u.name as name,
m.name as market,
r.rate_name AS rateName,
a1.admin_name as adminName,
a2.admin_name as auditName
FROM user_gold_record as ugr
@ -55,6 +56,7 @@
LEFT JOIN admin a1 ON ugr.admin_id = a1.id
LEFT JOIN admin a2 ON ugr.audit_id = a2.id
left join market m ON u.market = m.id
left JOIN rate r ON ugr.rate_id = r.id
<where>
<if test="rechargeAudit.jwcode != null and rechargeAudit.jwcode != ''">
AND ugr.jwcode = #{rechargeAudit.jwcode}
@ -80,7 +82,7 @@
AND m.name = #{rechargeAudit.market}
</if>
<if test="rechargeAudit.startTime != null and rechargeAudit.endTime != null ">
AND ugr.pay_time between #{rechargeAudit.startTime} and #{rechargeAudit.endTime}
AND ugr.audit_time between #{rechargeAudit.startTime} and #{rechargeAudit.endTime}
</if>
<if test="rechargeAudit.auditStatus != null and rechargeAudit.auditStatus != ''">
@ -103,6 +105,7 @@
SELECT ugr.*,
(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0)) AS freeGold,
u.name as name,
r.rate_name AS rateName,
m.name as market,
a1.admin_name as adminName,
a2.admin_name as auditName
@ -111,6 +114,7 @@
LEFT JOIN admin a1 ON ugr.admin_id = a1.id
LEFT JOIN admin a2 ON ugr.audit_id = a2.id
left join market m ON u.market = m.id
left JOIN rate r ON ugr.rate_id = r.id
<where>
<if test="refundAudit.jwcode != null">
@ -132,7 +136,7 @@
)
</if>
<if test="refundAudit.startTime != null and refundAudit.endTime != null ">
AND ugr.create_time between #{refundAudit.startTime} and #{refundAudit.endTime}
AND ugr.audit_time between #{refundAudit.startTime} and #{refundAudit.endTime}
</if>
<if test="refundAudit.market != null and refundAudit.market != ''">
AND m.name = #{refundAudit.market}

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

@ -23,7 +23,7 @@
admin a ON ugr.admin_id = a.id
left join market m ON u.market = m.id
<where>
ugr.type = 1 AND ugr.flag = 1
ugr.type = 1 AND ugr.flag = 1 AND u.flag = 1
<!-- 判断 market 是否不为总部且 markets 不为空 -->
<if test="markets != null and markets.size() > 0 and '9999' not in markets and '9' not in markets">
AND (
@ -94,7 +94,7 @@
left join market m ON u.market = m.id
<where>
ugr.type = 1 AND ugr.flag = 1
ugr.type = 1 AND ugr.flag = 1 AND u.flag = 1
<if test="markets != null and markets.size() > 0">
AND u.market IN
<foreach collection="markets" item="market" open="(" separator="," close=")">

4
src/main/resources/mapper/GoldDetailMapper.xml

@ -15,6 +15,7 @@
left join market m on m.id=`user`.market
<where>
ugr.flag = 1 and
`user`.flag = 1 and
ugr.audit_status IN (1,3)
<if test="jwcode != null">
and ugr.jwcode = #{jwcode}
@ -50,6 +51,7 @@
from user_gold_record ugr
<where>
ugr.flag = 1 and
`user`.flag = 1 and
ugr.audit_status IN (1,3)
<if test="jwcode != null">
and `ugr`.jwcode = #{jwcode}
@ -110,7 +112,9 @@
sum(current_task_gold) as taskGold,
sum(current_permanent_gold) + sum(current_free_june + current_free_december) + sum(current_task_gold) as Goldtotal
from `user`
<where>
flag = 1
<if test="jwcode != null ">
and jwcode = #{jwcode}
</if>

14
src/main/resources/mapper/RechargeMapper.xml

@ -28,7 +28,7 @@
<where>
ugr.type = 0 AND ugr.audit_status IN (1,3)
AND ugr.flag = 1
AND u.flag = 1
<if test="markets != null and markets.size() > 0 and '9999' not in markets and '9' not in markets">
AND (
<foreach collection="markets" item="market" open="" close="" separator=" OR ">
@ -89,7 +89,8 @@
ugr.remark AS remark,
ugr.admin_id AS adminId,
a.admin_name AS adminName,
ugr.pay_time AS payTime
ugr.pay_time AS payTime,
ugr.audit_time AS auditTime
FROM user_gold_record ugr
left JOIN user u ON u.jwcode = ugr.jwcode
left JOIN admin a ON ugr.admin_id = a.id
@ -98,6 +99,7 @@
<where>
ugr.type = 0 AND ugr.audit_status IN (1,3)
AND ugr.flag = 1
AND u.flag = 1
<!-- 判断 market 是否不为总部且 markets 不为空 -->
<if test="markets != null and markets.size() > 0">
AND u.market IN
@ -118,7 +120,7 @@
AND ugr.pay_platform = #{payPlatform}
</if>
<if test="startTime != null and endTime != null">
AND ugr.pay_time BETWEEN #{startTime} AND #{endTime}
AND ugr.audit_time BETWEEN #{startTime} AND #{endTime}
</if>
</where>
<trim prefix="ORDER BY" suffixOverrides=",">
@ -131,9 +133,9 @@
<when test="sortField == 'money'">ugr.money</when>
<when test="sortField == 'freeGold'">(COALESCE(ugr.free_june, 0) + COALESCE(ugr.free_december, 0))</when>
<!-- 对时间字段的排序处理 -->
<when test="sortField == 'payTime'">ugr.pay_time</when>
<when test="sortField == 'payTime'">ugr.audit_time</when>
<!-- 其他字段不支持排序,使用默认排序 -->
<otherwise>ugr.pay_time</otherwise>
<otherwise>ugr.audit_time</otherwise>
</choose>
<!-- 排序方向处理 -->
@ -151,7 +153,7 @@
<!-- 未指定排序字段时,使用默认的时间降序排序 -->
<otherwise>
ugr.pay_time DESC
ugr.audit_time DESC
</otherwise>
</choose>
</trim>

16
src/main/resources/mapper/RefundMapper.xml

@ -25,7 +25,7 @@
admin a ON ugr.admin_id = a.id
left join market m ON u.market = m.id
<where>
ugr.type = 2 AND ugr.audit_status IN (1,3) AND ugr.flag = 1
ugr.type = 2 AND ugr.audit_status IN (1,3) AND ugr.flag = 1 AND u.flag = 1
<!-- 判断 market 是否不为总部且 markets 不为空 -->
<if test="markets != null and markets.size() > 0 and '9999' not in markets and '9' not in markets">
AND (
@ -88,7 +88,8 @@
ugr.task_gold AS taskGold,
ugr.remark AS remark,
a.admin_name AS adminName,
ugr.create_time AS createTime
ugr.create_time AS createTime,
ugr.audit_time AS auditTime
FROM user_gold_record ugr
left JOIN
user u ON u.jwcode = ugr.jwcode
@ -96,7 +97,8 @@
admin a ON ugr.admin_id = a.id
left join market m ON u.market = m.id
<where>
ugr.type = 2 AND ugr.audit_status IN (1,3) AND ugr.flag = 1
ugr.type = 2 AND ugr.audit_status IN (1,3) AND ugr.flag = 1 AND u.flag = 1
<!-- 判断 market 是否不为总部且 markets 不为空 -->
<if test="markets != null and markets.size() > 0">
AND u.market IN
<foreach collection="markets" item="market" open="(" separator="," close=")">
@ -119,7 +121,7 @@
AND ugr.refund_type = #{refundType}
</if>
<if test="startTime != null and endTime != null">
AND ugr.create_time BETWEEN #{startTime} AND #{endTime}
AND ugr.audit_time BETWEEN #{startTime} AND #{endTime}
</if>
</where>
<trim prefix="ORDER BY" suffixOverrides=",">
@ -137,9 +139,9 @@
0)+ COALESCE(ugr.permanent_gold, 0)+ COALESCE(ugr.task_gold, 0))
</when>
<!-- 对时间字段的排序处理 -->
<when test="sortField == 'createTime'">ugr.create_time</when>
<when test="sortField == 'createTime'">ugr.audit_time</when>
<!-- 其他字段不支持排序,使用默认排序 -->
<otherwise>ugr.create_time</otherwise>
<otherwise>ugr.audit_time</otherwise>
</choose>
<!-- 排序方向处理 -->
@ -157,7 +159,7 @@
<!-- 未指定排序字段时,使用默认的时间降序排序 -->
<otherwise>
ugr.create_time DESC
ugr.audit_time DESC
</otherwise>
</choose>
</trim>

4
src/main/resources/mapper/StatisticsMapper.xml

@ -93,6 +93,7 @@
AND ugr.type=0
AND ugr.audit_status IN (1,3)
AND ugr.audit_time BETWEEN #{startTime} AND #{endTime}
AND u.flag = 1
</select>
<!--获取某地区某时间所在日期的数据(仅一条)-->
@ -142,6 +143,7 @@
FROM user u
left join market m on u.market=m.id
where m.name IS NOT NULL
and u.flag = 1
GROUP BY market
</select>
<select id="listPart2All" resultType="com.example.demo.domain.entity.Statistics">
@ -168,6 +170,7 @@
AND ugr.flag = 1
AND ugr.create_time BETWEEN #{start} AND #{end}
AND m.name IS NOT NULL
AND u.flag = 1
GROUP BY u.market
</select>
<select id="listYearAll" resultType="com.example.demo.domain.entity.Statistics">
@ -219,6 +222,7 @@
WHERE ugr.audit_status IN (1,3)
AND ugr.flag = 1
AND m.name IS NOT NULL
AND u.flag = 1
GROUP BY m.name, d.create_date
</select>

2
src/main/resources/mapper/WorkBenchMapper.xml

@ -55,6 +55,7 @@
#{startDate} and #{endDate}
AND ugr.audit_status IN (1,3)
and ugr.flag=1
AND u.flag = 1
</select>
<!--给定时间范围内的该地区消费永久金币数-->
@ -105,6 +106,7 @@
AND ugr.pay_time BETWEEN #{startDate} AND #{endDate}
AND ugr.audit_status IN (1, 3)
and ugr.flag=1
AND u.flag = 1
) AS totalRechargeNum
FROM statistics s
WHERE s.market = #{market}

Loading…
Cancel
Save