资金管理

localizer
ljw 2025-09-16 18:41:58 +08:00
parent 0bdc1b1493
commit b656167084
5 changed files with 73 additions and 6 deletions

View File

@ -4,6 +4,7 @@ import com.njzscloud.common.core.utils.R;
import com.njzscloud.common.mp.support.PageParam;
import com.njzscloud.common.mp.support.PageResult;
import com.njzscloud.supervisory.money.pojo.entity.MoneyAccountEntity;
import com.njzscloud.supervisory.money.pojo.result.MoneyAccountResult;
import com.njzscloud.supervisory.money.service.MoneyAccountService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -61,7 +62,7 @@ public class MoneyAccountController {
*
*/
@GetMapping("/paging")
public R<PageResult<MoneyAccountEntity>> paging(PageParam pageParam, MoneyAccountEntity moneyAccountEntity) {
public R<PageResult<MoneyAccountResult>> paging(PageParam pageParam, MoneyAccountEntity moneyAccountEntity) {
return R.success(moneyAccountService.paging(pageParam, moneyAccountEntity));
}

View File

@ -1,8 +1,12 @@
package com.njzscloud.supervisory.money.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njzscloud.supervisory.money.pojo.entity.MoneyAccountEntity;
import com.njzscloud.supervisory.money.pojo.result.MoneyAccountResult;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
*
@ -10,4 +14,9 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface MoneyAccountMapper extends BaseMapper<MoneyAccountEntity> {
/**
*
*/
IPage<MoneyAccountResult> selectMoneyAccountWithName(Page<MoneyAccountResult> page, @Param("entity") MoneyAccountEntity entity);
}

View File

@ -46,4 +46,16 @@ public class MoneyAccountEntity {
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime modifyTime;
/**
*
*/
@TableField(exist = false)
private String name;
/**
* 12
*/
@TableField(exist = false)
private Integer moneyType;
}

View File

@ -1,7 +1,9 @@
package com.njzscloud.supervisory.money.service;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njzscloud.common.mp.support.PageParam;
@ -9,6 +11,7 @@ import com.njzscloud.common.mp.support.PageResult;
import com.njzscloud.common.security.util.SecurityUtil;
import com.njzscloud.supervisory.money.mapper.MoneyAccountMapper;
import com.njzscloud.supervisory.money.pojo.entity.MoneyAccountEntity;
import com.njzscloud.supervisory.money.pojo.result.MoneyAccountResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -55,10 +58,10 @@ public class MoneyAccountService extends ServiceImpl<MoneyAccountMapper, MoneyAc
/**
*
*/
public PageResult<MoneyAccountEntity> paging(PageParam pageParam, MoneyAccountEntity moneyAccountEntity) {
Long stationId = moneyAccountEntity.getStationId();
return PageResult.of(this.page(pageParam.toPage(), Wrappers.<MoneyAccountEntity>lambdaQuery()
.eq(null != stationId, MoneyAccountEntity::getStationId, stationId)));
public PageResult<MoneyAccountResult> paging(PageParam pageParam, MoneyAccountEntity moneyAccountEntity) {
Page<MoneyAccountResult> page = new Page<>(pageParam.getCurrent(), pageParam.getSize());
IPage<MoneyAccountResult> result = baseMapper.selectMoneyAccountWithName(page, moneyAccountEntity);
return PageResult.of(result);
}
}

View File

@ -1,6 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njzscloud.supervisory.money.mapper.MoneyAccountMapper">
<!-- 分页查询资金账户(关联用户或企业信息) -->
<select id="selectMoneyAccountWithName" resultType="com.njzscloud.supervisory.money.pojo.result.MoneyAccountResult">
SELECT
ma.id,
ma.user_id as userId,
ma.station_id as stationId,
ma.money,
ma.modify_time as modifyTime,
CASE
WHEN ma.user_id IS NOT NULL THEN u.nickname
WHEN ma.station_id IS NOT NULL THEN bc.company_name
ELSE NULL
END as name,
CASE
WHEN ma.user_id IS NOT NULL THEN 1
WHEN ma.station_id IS NOT NULL THEN 2
ELSE NULL
END as moneyType
FROM money_account ma
LEFT JOIN sys_user u ON ma.user_id = u.id
LEFT JOIN biz_company bc ON ma.station_id = bc.id AND bc.station = 1
<where>
<if test="entity.name != null and entity.name != ''">
AND (
(ma.user_id IS NOT NULL AND u.nickname LIKE CONCAT('%', #{entity.name}, '%'))
OR
(ma.station_id IS NOT NULL AND bc.company_name LIKE CONCAT('%', #{entity.name}, '%'))
)
</if>
<if test="entity.moneyType != null">
<choose>
<when test="entity.moneyType == 1">
AND ma.user_id IS NOT NULL
</when>
<when test="entity.moneyType == 2">
AND ma.station_id IS NOT NULL
</when>
</choose>
</if>
</where>
ORDER BY ma.modify_time DESC
</select>
</mapper>