权限调整

This commit is contained in:
andy 2025-04-18 08:56:05 +08:00
parent 93b79dd9a4
commit 3c84072c91
6 changed files with 67 additions and 40 deletions

View File

@ -2,12 +2,15 @@ package com.evotech.hd.common.core.dao.cloud;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.evotech.hd.common.core.constant.HDConstant;
import com.evotech.hd.common.core.entity.cloud.HomeDataTradeCollate;
import com.evotech.hd.common.core.permission.DataScope;
/**
* @author zrb
* @since 2025-03-08
*/
@DataScope(permissionObject = HDConstant.OPERATOR_ROLE_CODE, permissionScopeName = "station_code", permissionScopeRedisKey = HDConstant.PermissionConstant.PERMISSION_STATION_CODE)
public interface HomeDataTradeCollateDao extends BaseMapper<HomeDataTradeCollate> {
}

View File

@ -5,15 +5,13 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.evotech.hd.common.core.entity.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @author zrb
* @since 2025-03-08
@ -28,6 +26,9 @@ public class HomeDataTradeCollate extends BaseEntity implements Serializable {
@Schema(description = "日期")
private String day;
@Schema(description = "交易站点")
private String stationCode;
@Schema(description = "交易类型1-充值2-订单消费9-提现")
private Integer tradeType;

View File

@ -24,10 +24,10 @@ public class HomeData4 {
private Integer refundTradeQuantity;
@Schema(description = "收入总钱数")
private Integer totalMoney;
private Double totalMoney;
@Schema(description = "支出总钱数")
private Integer totalRefund;
private Double totalRefund;

View File

@ -1,14 +1,7 @@
package com.evotech.hd.cloud.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.evotech.hd.cloud.dao.TradeDetailDao;
import com.evotech.hd.cloud.service.HomeDataManualCollateService;
@ -20,11 +13,16 @@ import com.evotech.hd.common.core.entity.cloud.HomeDataOrderSwapCollate;
import com.evotech.hd.common.core.entity.cloud.HomeDataTradeCollate;
import com.evotech.hd.common.core.entity.cloud.OrderSwapBattery;
import com.evotech.hd.common.core.entity.cloud.TradeDetail;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
@ -130,26 +128,51 @@ public class HomeDataManualCollateServiceImpl implements HomeDataManualCollateSe
if (tradeList.isEmpty()) {
continue;
}
Map<Integer, Map<Integer, List<TradeDetail>>> map = tradeList.stream().collect(Collectors.groupingBy(TradeDetail::getTradeType, Collectors.groupingBy(TradeDetail::getPayType)));
//Map<Integer, Map<Integer, List<TradeDetail>>> map = tradeList.stream().collect(Collectors.groupingBy(TradeDetail::getTradeType, Collectors.groupingBy(TradeDetail::getPayType)));
Map<String, Map<Integer, Map<Integer, List<TradeDetail>>>> map1 = tradeList.stream().collect(Collectors.groupingBy(TradeDetail::getStationCode,Collectors.groupingBy(TradeDetail::getTradeType, Collectors.groupingBy(TradeDetail::getPayType))));
Date d = new Date();
List<HomeDataTradeCollate> tradeCollateList = new ArrayList<HomeDataTradeCollate>();
for (Map.Entry<Integer, Map<Integer, List<TradeDetail>>> m : map.entrySet()) {
Integer tradeType = m.getKey();
Map<Integer, List<TradeDetail>> payTypeMap = m.getValue();
for (Map.Entry<Integer, List<TradeDetail>> entry : payTypeMap.entrySet()) {
Integer payType = entry.getKey();
List<TradeDetail> dayPayTypeTradeList = entry.getValue();
HomeDataTradeCollate tradeCollate = new HomeDataTradeCollate();
tradeCollate.setDay(dayString);
tradeCollate.setCtime(d);
tradeCollate.setQuantity(dayPayTypeTradeList.size());
tradeCollate.setTradeType(tradeType);
tradeCollate.setPayType(payType);
tradeCollate.setTradeAmount(dayPayTypeTradeList.stream().collect(Collectors.summingInt(item -> item.getTradeAmount())));
tradeCollateList.add(tradeCollate);
for (Map.Entry<String, Map<Integer, Map<Integer, List<TradeDetail>>>> pm : map1.entrySet()) {
String stationCode = pm.getKey();
Map<Integer, Map<Integer, List<TradeDetail>>> mc = pm.getValue();
for (Map.Entry<Integer, Map<Integer, List<TradeDetail>>> m : mc.entrySet()) {
Integer tradeType = m.getKey();
Map<Integer, List<TradeDetail>> payTypeMap = m.getValue();
for (Map.Entry<Integer, List<TradeDetail>> entry : payTypeMap.entrySet()) {
Integer payType = entry.getKey();
List<TradeDetail> dayPayTypeTradeList = entry.getValue();
HomeDataTradeCollate tradeCollate = new HomeDataTradeCollate();
tradeCollate.setDay(dayString);
tradeCollate.setCtime(d);
tradeCollate.setStationCode(stationCode);
tradeCollate.setQuantity(dayPayTypeTradeList.size());
tradeCollate.setTradeType(tradeType);
tradeCollate.setPayType(payType);
tradeCollate.setTradeAmount(dayPayTypeTradeList.stream().collect(Collectors.summingInt(item -> item.getTradeAmount())));
tradeCollateList.add(tradeCollate);
}
}
}
// for (Map.Entry<Integer, Map<Integer, List<TradeDetail>>> m : map.entrySet()) {
// Integer tradeType = m.getKey();
// Map<Integer, List<TradeDetail>> payTypeMap = m.getValue();
// for (Map.Entry<Integer, List<TradeDetail>> entry : payTypeMap.entrySet()) {
// Integer payType = entry.getKey();
// List<TradeDetail> dayPayTypeTradeList = entry.getValue();
// HomeDataTradeCollate tradeCollate = new HomeDataTradeCollate();
// tradeCollate.setDay(dayString);
// tradeCollate.setCtime(d);
// tradeCollate.setQuantity(dayPayTypeTradeList.size());
// tradeCollate.setTradeType(tradeType);
// tradeCollate.setPayType(payType);
// tradeCollate.setTradeAmount(dayPayTypeTradeList.stream().collect(Collectors.summingInt(item -> item.getTradeAmount())));
// tradeCollateList.add(tradeCollate);
// }
//
// }
// 插入数据
homeDataTradeCollateDao.delete(new QueryWrapper<HomeDataTradeCollate>().eq("day", dayString));

View File

@ -169,11 +169,11 @@ public class HomeServiceImpl implements HomeService {
Integer refundTradeQuantity = collateList.stream().filter(i -> i.getTradeType() == 3).collect(Collectors.summingInt(HomeDataTradeCollate::getQuantity));
data.setRefundTradeQuantity(refundTradeQuantity);
Integer chargeAmount = collateList.stream().filter(i -> i.getTradeType() == 1).collect(Collectors.summingInt(HomeDataTradeCollate::getTradeAmount));
Integer orderAmount = collateList.stream().filter(i -> i.getTradeType() == 2 && i.getPayType() != 1).collect(Collectors.summingInt(HomeDataTradeCollate::getTradeAmount));
Double chargeAmount = collateList.stream().filter(i -> i.getTradeType() == 1).collect(Collectors.summingDouble(HomeDataTradeCollate::getTradeAmount));
Double orderAmount = collateList.stream().filter(i -> i.getTradeType() == 2 && i.getPayType() != 1).collect(Collectors.summingDouble(HomeDataTradeCollate::getTradeAmount));
data.setTotalMoney(chargeAmount + orderAmount);
int refundSum = collateList.stream().filter(i -> i.getTradeType() == 9).collect(Collectors.summingInt(HomeDataTradeCollate::getTradeAmount));
Double refundSum = collateList.stream().filter(i -> i.getTradeType() == 9).collect(Collectors.summingDouble(HomeDataTradeCollate::getTradeAmount));
data.setTotalRefund(refundSum);
return new Result<HomeData4>().success(data);

View File

@ -162,7 +162,7 @@ public class AuthUserServiceImpl implements AuthUserService {
@Override
public BaseResponse<List<AuthUserStation>> loadUserStation(String uid) {
return new BaseResponse<List<AuthUserStation>>().success(authUserStationDao.selectList(new LambdaQueryWrapper<AuthUserStation>().eq(AuthUserStation::getUid, uid).select(AuthUserStation::getStationId, AuthUserStation::getStationId)));
return new BaseResponse<List<AuthUserStation>>().success(authUserStationDao.selectList(new LambdaQueryWrapper<AuthUserStation>().eq(AuthUserStation::getUid, uid).select(AuthUserStation::getStationId, AuthUserStation::getStationCode)));
}