Compare commits

...

2 Commits

Author SHA1 Message Date
ljw 9182cf665b Merge branch 'master' of https://git.njzscloud.com/lzq/njzscloud 2025-09-16 18:42:07 +08:00
ljw b656167084 资金管理 2025-09-16 18:41:58 +08:00
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.PageParam;
import com.njzscloud.common.mp.support.PageResult; import com.njzscloud.common.mp.support.PageResult;
import com.njzscloud.supervisory.money.pojo.entity.MoneyAccountEntity; import com.njzscloud.supervisory.money.pojo.entity.MoneyAccountEntity;
import com.njzscloud.supervisory.money.pojo.result.MoneyAccountResult;
import com.njzscloud.supervisory.money.service.MoneyAccountService; import com.njzscloud.supervisory.money.service.MoneyAccountService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -61,7 +62,7 @@ public class MoneyAccountController {
* *
*/ */
@GetMapping("/paging") @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)); return R.success(moneyAccountService.paging(pageParam, moneyAccountEntity));
} }

View File

@ -1,8 +1,12 @@
package com.njzscloud.supervisory.money.mapper; package com.njzscloud.supervisory.money.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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.entity.MoneyAccountEntity;
import com.njzscloud.supervisory.money.pojo.result.MoneyAccountResult;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* *
@ -10,4 +14,9 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface MoneyAccountMapper extends BaseMapper<MoneyAccountEntity> { 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) @TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime modifyTime; 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; package com.njzscloud.supervisory.money.service;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njzscloud.common.mp.support.PageParam; 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.common.security.util.SecurityUtil;
import com.njzscloud.supervisory.money.mapper.MoneyAccountMapper; import com.njzscloud.supervisory.money.mapper.MoneyAccountMapper;
import com.njzscloud.supervisory.money.pojo.entity.MoneyAccountEntity; import com.njzscloud.supervisory.money.pojo.entity.MoneyAccountEntity;
import com.njzscloud.supervisory.money.pojo.result.MoneyAccountResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; 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) { public PageResult<MoneyAccountResult> paging(PageParam pageParam, MoneyAccountEntity moneyAccountEntity) {
Long stationId = moneyAccountEntity.getStationId(); Page<MoneyAccountResult> page = new Page<>(pageParam.getCurrent(), pageParam.getSize());
return PageResult.of(this.page(pageParam.toPage(), Wrappers.<MoneyAccountEntity>lambdaQuery() IPage<MoneyAccountResult> result = baseMapper.selectMoneyAccountWithName(page, moneyAccountEntity);
.eq(null != stationId, MoneyAccountEntity::getStationId, stationId))); return PageResult.of(result);
} }
} }

View File

@ -1,6 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!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"> <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> </mapper>