首页增加押金统计

This commit is contained in:
邱贞招 2025-03-04 15:58:05 +08:00
parent 9787c88219
commit dbdddbec65
6 changed files with 90 additions and 1 deletions

View File

@ -87,6 +87,9 @@ public class IndexAdminVo {
/** 收入及成本 */
private List<IncomeCostVo> incomeCostList;
/** 押金统计list */
private List<DepositVo> depositList;
/**
* 营收统计 incomeVo
*/
@ -114,6 +117,25 @@ public class IndexAdminVo {
private BigDecimal platformProfit; // 平台盈利
}
/**
* 押金统计
*/
@Data
public static class DepositVo {
/** 日期 */
private String day;
/** 押金充值 */
private BigDecimal pay;
/** 押金退款 */
private BigDecimal refund;
/** 押金抵扣 */
private BigDecimal deduction;
/** 押金盈余 */
private BigDecimal surplus;
/** 押金余额 */
private BigDecimal balance;
}
/**
* 车辆统计

View File

@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.entity.AsUser;
import com.ruoyi.common.core.domain.vo.LabelVo;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
/**
@ -199,4 +200,9 @@ public interface AsUserMapper
* 解绑系统用户
*/
int unbindSystemUserBySysUserId(Long sysUserId);
/**
* 获取押金余额
*/
BigDecimal getDepositBalance(String formattedDate);
}

View File

@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.entity.AsUser;
import com.ruoyi.common.core.domain.vo.LabelVo;
import com.ruoyi.system.domain.vo.AuthenticationVo;
import java.math.BigDecimal;
import java.util.List;
/**
@ -261,4 +262,9 @@ public interface IAsUserService
* 修改用户密码
*/
void updateUserPwd(Long userId, String newPassword);
/**
* 根据日期查询用户余额
*/
BigDecimal getDepositBalance(String formattedDate);
}

View File

@ -661,4 +661,12 @@ public class AsUserServiceImpl implements IAsUserService
asUserMapper.updateUserPwd(userId, newPassword);
}
/**
* 根据日期查询用户余额
*/
@Override
public BigDecimal getDepositBalance(String formattedDate) {
return asUserMapper.getDepositBalance(formattedDate);
}
}

View File

@ -1146,6 +1146,8 @@ public class EtOrderServiceImpl implements IEtOrderService
/** 营收统计*/
ArrayList<IndexAdminVo.IncomeVo> incomeVos = new ArrayList<>();
ArrayList<IndexAdminVo.IncomeCostVo> incomeCosts = new ArrayList<>();
ArrayList<IndexAdminVo.DepositVo> depositVos = new ArrayList<>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(DateUtils.getNowDate());
@ -1164,12 +1166,20 @@ public class EtOrderServiceImpl implements IEtOrderService
List<EtReconciliation> etReconciliations = reconciliationMapper.selectEtReconciliationList(reconciliation);
Collections.reverse(etReconciliations);
IndexAdminVo.IncomeCostVo incomeCostVo = new IndexAdminVo.IncomeCostVo();
IndexAdminVo.DepositVo depositVo = new IndexAdminVo.DepositVo();
// 初始化统计变量
BigDecimal serviceFeeTotal = BigDecimal.ZERO;
BigDecimal handlingFeeTotal = BigDecimal.ZERO;
BigDecimal channelCostTotal = BigDecimal.ZERO;
BigDecimal withdrawServiceFeeFirst = BigDecimal.ZERO;
// 押金统计
BigDecimal depositPay = BigDecimal.ZERO;
BigDecimal depositRefund = BigDecimal.ZERO;
BigDecimal depositDeduction = BigDecimal.ZERO;
BigDecimal depositSurplus = BigDecimal.ZERO;
BigDecimal depositBalance = BigDecimal.ZERO;
// 遍历 etReconciliations 进行统计
for (EtReconciliation item : etReconciliations) {
// 累加服务费
@ -1188,6 +1198,22 @@ public class EtOrderServiceImpl implements IEtOrderService
if (item.getWithdrawServiceFee() != null) {
withdrawServiceFeeFirst = item.getWithdrawServiceFee();
}
// 押金支付
if (item.getDepositPaid() != null) {
depositPay = depositPay.add(item.getDepositPaid());
}
// 押金退款
if (item.getDepositRefund() != null) {
depositRefund = depositRefund.add(item.getDepositRefund());
}
// 押金抵扣
if (item.getDeductionAmount() != null) {
depositDeduction = depositDeduction.add(item.getDeductionAmount());
}
// 押金盈余
if (item.getDepositSurplus() != null) {
depositSurplus = depositSurplus.add(item.getDepositSurplus());
}
}
// 计算平台盈利这里只是一个示例具体公式根据实际情况调整
@ -1201,6 +1227,15 @@ public class EtOrderServiceImpl implements IEtOrderService
incomeCostVo.setChannelCost(channelCostTotal);
incomeCostVo.setPlatformProfit(platformProfit);
// 押金统计
depositVo.setDay(formattedDate);
depositVo.setPay(depositPay);
depositVo.setRefund(depositRefund);
depositVo.setDeduction(depositDeduction);
depositVo.setSurplus(depositSurplus);
depositVo.setBalance(asUserService.getDepositBalance
(formattedDate));
incomeVo.setDay(formattedDate);
incomeVo.setOrderNum(orderCount);
incomeVo.setOrderFee(etOrderMapper.getOrderFee(startDateStr, endDateStr, null));
@ -1208,10 +1243,12 @@ public class EtOrderServiceImpl implements IEtOrderService
incomeVos.add(incomeVo);
incomeCosts.add(incomeCostVo);
depositVos.add(depositVo);
calendar.add(Calendar.DATE, -1);
}
indexAdminVo.setIncomeVoList(incomeVos);
indexAdminVo.setIncomeCostList(incomeCosts);
indexAdminVo.setDepositList(depositVos);
/** 车辆统计*/
IndexAdminVo.VehicleVo vehicleVo = new IndexAdminVo.VehicleVo();

View File

@ -187,7 +187,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if>
</select>
<insert id="insertUser" parameterType="AsUser" useGeneratedKeys="true" keyProperty="userId">
<select id="getDepositBalance" resultType="java.math.BigDecimal">
SELECT
COALESCE(SUM(balance), 0) AS total_balance
FROM
et_user
WHERE
update_time &lt;= #{formattedDate}
AND appid = 'wx3428c498d5061192'
</select>
<insert id="insertUser" parameterType="AsUser" useGeneratedKeys="true" keyProperty="userId">
insert into et_user(
<if test="userId != null and userId != 0">user_id,</if>
<if test="userName != null and userName != ''">user_name,</if>