Просмотр исходного кода

Merge branch 'dev_jzg_lipf_v20260402'

20260402星期四工作内容验证后合并到master分支
lipf 5 месяцев назад
Родитель
Сommit
1d72707cae
16 измененных файлов с 217 добавлено и 92 удалено
  1. 53 0
      commons/src/main/java/com/jzg/commons/core/page/ResultInfo.java
  2. 0 14
      gateway/src/main/java/com/jzg/config/GatewayConfig.java
  3. 29 15
      gateway/src/main/java/com/jzg/filter/AuthFilter.java
  4. 13 3
      platform/src/main/java/com/jzg/controller/JyxConfigController.java
  5. 17 3
      platform/src/main/java/com/jzg/service/JyxConfigService.java
  6. 28 7
      platform/src/main/java/com/jzg/service/impl/JyxConfigServiceImpl.java
  7. 1 14
      tenant/organization/src/main/java/com/jzg/organization/controller/DictController.java
  8. 14 13
      tenant/organization/src/main/java/com/jzg/organization/controller/UserAccountController.java
  9. 6 0
      tenant/organization/src/main/java/com/jzg/organization/controller/UserBankCardController.java
  10. 3 1
      tenant/organization/src/main/java/com/jzg/organization/event/OrganizationFormApplicationLister.java
  11. 7 1
      tenant/organization/src/main/java/com/jzg/organization/mapper/SysUserJzgInfoBankCardMapper.java
  12. 9 7
      tenant/organization/src/main/java/com/jzg/organization/service/SysUserAccountService.java
  13. 7 1
      tenant/organization/src/main/java/com/jzg/organization/service/SysUserJzgInfoBankCardService.java
  14. 9 4
      tenant/organization/src/main/java/com/jzg/organization/service/impl/InvAccountServiceImpl.java
  15. 8 8
      tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserAccountServiceImpl.java
  16. 13 1
      tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserJzgInfoBankCardServiceImpl.java

+ 53 - 0
commons/src/main/java/com/jzg/commons/core/page/ResultInfo.java

@@ -0,0 +1,53 @@
+package com.jzg.commons.core.page;
+
+
+import java.io.Serializable;
+
+
+/**
+ * 服务之间交互的实体
+ *
+ * @author lipf
+ * @date 2026/4/2 9:57
+ */
+public class ResultInfo<T> extends HttpResult<T> implements Serializable {
+
+    private boolean success;
+
+    public boolean isSuccess() {
+        return success;
+    }
+
+    public void setSuccess(boolean success) {
+        this.success = success;
+    }
+
+    public ResultInfo<T> ResultInfo(){
+        ResultInfo<T> res =  new ResultInfo<>();
+        res.setSuccess(true);
+        return res;
+    }
+
+    public static <T> ResultInfo<T> resOk(String msg) {
+        ResultInfo<T> r = new ResultInfo<>();
+        r.setMsg(msg);
+        r.setSuccess(true);
+        return r;
+    }
+
+    public static <T> ResultInfo<T> resError(String msg) {
+        ResultInfo<T> r = new ResultInfo<>();
+        r.setMsg(msg);
+        r.setSuccess(false);
+        return r;
+    }
+
+    public static <T> ResultInfo<T> resOk(String msg, T data) {
+        ResultInfo<T> r = new ResultInfo<>();
+        r.setMsg(msg);
+        r.setData(data);
+        r.setSuccess(true);
+        return r;
+    }
+
+}

+ 0 - 14
gateway/src/main/java/com/jzg/config/GatewayConfig.java

@@ -1,14 +0,0 @@
-package com.jzg.config;
-
-import com.jzg.filter.AuthFilter;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class GatewayConfig {
-
-    @Bean
-    public AuthFilter authFilter() {
-        return new AuthFilter();
-    }
-}

+ 29 - 15
gateway/src/main/java/com/jzg/filter/AuthFilter.java

@@ -1,42 +1,56 @@
 package com.jzg.filter;
 
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cloud.gateway.filter.GatewayFilterChain;
 import org.springframework.cloud.gateway.filter.GlobalFilter;
-import org.springframework.context.ApplicationContext;
+import org.springframework.core.Ordered;
 import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Component;
 import org.springframework.web.server.ServerWebExchange;
 import reactor.core.publisher.Mono;
 
-import java.time.Duration;
-import java.time.Instant;
-
+/**
+ * 统计每个请求在整个服务器端耗时多久(毫秒级别)
+ *
+ * @author lipf
+ * @date 2026/4/2 11:44
+ */
 @Component
-@Order(0)
+@Order(Ordered.HIGHEST_PRECEDENCE)
 @Slf4j
 public class AuthFilter implements GlobalFilter {
 
-    @Autowired
-    private ApplicationContext applicationContext;
+    // 定义一个 Key,用于在 Exchange 属性中暂存开始时间
+    private static final String BEGIN_VISIT_TIME = "begin_visit_time";
 
+    /**
+     * 统计每个请求在整个服务器端耗时多久(毫秒级别)
+     *
+     * @author lipf, modify by lipf
+     * @date 2026/4/2 11:43
+     */
     @Override
     public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
+        // 1. 【Pre 阶段】请求刚进来,记录当前时间戳
+        exchange.getAttributes().put(BEGIN_VISIT_TIME, System.currentTimeMillis());
         // 获取请求路径和方法
         String path = exchange.getRequest().getPath().value();
-
         return chain.filter(exchange)
                 .doOnSuccess(v -> {
-                    long cost = Duration.between(Instant.now(), Instant.now()).toMillis();
-                    int statusCode = exchange.getResponse().getStatusCode().value();
-                    log.info("【Gateway响应出口】 请求地址:{} , 耗时: {}ms , 状态码: {} ", path, statusCode, cost);
+                    // 【Post 阶段】响应回来,计算耗时
+                    Long beginTimeObj = exchange.getAttribute(BEGIN_VISIT_TIME);
+                    long beginTime = beginTimeObj != null ? beginTimeObj : System.currentTimeMillis();
+
+                    long cost = System.currentTimeMillis() - beginTime;
+                    int statusCode = exchange.getResponse().getStatusCode() != null ? exchange.getResponse().getStatusCode().value() : -1;
+                    log.info("【Gateway响应出口】 请求地址:{} , 耗时: {}ms , 状态码: {} ", path, cost, statusCode);
                 })
-                // 发生异常时记录日志(ERROR级别)
                 .doOnError(e -> {
-                    long cost = Duration.between(Instant.now(), Instant.now()).toMillis();
+                    // 【Post 阶段】响应回来,计算耗时
+                    Long beginTimeObj = exchange.getAttribute(BEGIN_VISIT_TIME);
+                    long beginTime = beginTimeObj != null ? beginTimeObj : System.currentTimeMillis();
+                    long cost = System.currentTimeMillis() - beginTime;
                     log.error("【Gateway请求异常】 请求地址:{} , 耗时: {}ms, 异常信息",path,cost, e);
                 });
     }
-
 }

+ 13 - 3
platform/src/main/java/com/jzg/controller/JyxConfigController.java

@@ -6,6 +6,7 @@ import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.JyxConfigAdd;
 import com.jzg.commons.entity.dto.JyxConfigEnd;
 import com.jzg.commons.entity.dto.JyxConfigParam;
+import com.jzg.commons.entity.vo.JyxConfigVo;
 import com.jzg.service.JyxConfigService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -15,6 +16,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 
 @Validated
 @Tag(name="驾意险配置")
@@ -26,9 +29,10 @@ public class JyxConfigController extends BaseController {
     @Autowired
     private JyxConfigService jyxConfigService;
 
+
     @PostMapping("saveAll")
     @Operation(summary = "保存驾意险配置")
-    public HttpResult saveAll(@Valid @RequestBody JyxConfigAdd configAdd){
+    public HttpResult<String> saveAll(@Valid @RequestBody JyxConfigAdd configAdd){
         return jyxConfigService.saveAll(configAdd);
     }
 
@@ -40,10 +44,16 @@ public class JyxConfigController extends BaseController {
     }
 
 
+    /**
+     * 查询驾意险信息,如果查询异常,会给前端返回提示信息
+     *
+     * @author lipf
+     * @date 2026/4/2 10:07
+     */
     @PostMapping("jyxList")
     @Operation(summary = "查询驾意险配置列表")
-    public HttpResult jyxList(@RequestBody JyxConfigParam configParam){
-        return HttpResult.ok(jyxConfigService.jyxList(configParam));
+    public HttpResult<List<JyxConfigVo>> jyxList(@RequestBody JyxConfigParam configParam){
+        return jyxConfigService.jyxList(configParam);
     }
 
 

+ 17 - 3
platform/src/main/java/com/jzg/service/JyxConfigService.java

@@ -2,6 +2,7 @@ package com.jzg.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.core.page.ResultInfo;
 import com.jzg.commons.entity.dto.JyxConfigAdd;
 import com.jzg.commons.entity.dto.JyxConfigEnd;
 import com.jzg.commons.entity.dto.JyxConfigParam;
@@ -13,14 +14,27 @@ import java.util.List;
 
 public interface JyxConfigService extends IService<JyxConfig> {
 
-
-    HttpResult saveAll(JyxConfigAdd configAdd);
+    /**
+     * 添加驾意险配置
+     *
+     * @param configAdd 要添加的驾意险信息
+     * @author lifp  modify by lipf
+     * @date 2026/4/2 9:49
+     */
+    HttpResult<String> saveAll(JyxConfigAdd configAdd);
 
     HttpResult selectById(String id);
 
     HttpResult updateById(JyxConfigEnd configEnd);
 
-    List<JyxConfigVo> jyxList(JyxConfigParam configParam);
+    /**
+     * 查询驾意险信息
+     *
+     * @param configParam 驾意险查询参数
+     * @author lipf
+     * @date 2026/4/2 9:54
+     */
+    ResultInfo<List<JyxConfigVo>> jyxList(JyxConfigParam configParam);
 
     HttpResult deleteById(String id);
 

+ 28 - 7
platform/src/main/java/com/jzg/service/impl/JyxConfigServiceImpl.java

@@ -1,10 +1,12 @@
 package com.jzg.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.constants.Constants;
 import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.core.page.ResultInfo;
 import com.jzg.commons.entity.dto.JyxConfigAdd;
 import com.jzg.commons.entity.dto.JyxConfigEnd;
 import com.jzg.commons.entity.dto.JyxConfigParam;
@@ -53,9 +55,17 @@ public class JyxConfigServiceImpl extends ServiceImpl<JyxConfigMapper, JyxConfig
 
 
 
+    /**
+     * 添加驾意险配置
+     *
+     * @param configAdd 要添加的驾意险信息
+     * @author lipf
+     * @date 2026/4/2 9:49
+     */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public HttpResult saveAll(JyxConfigAdd configAdd) {
+    public HttpResult<String> saveAll(JyxConfigAdd configAdd) {
+        log.info("添加驾意险信息:[{}]", JSONUtil.toJsonStr(configAdd));
         try {
             AssertionUtils.isFail(Optional.ofNullable(baseMapper.selectOne(new LambdaQueryWrapper<JyxConfig>().eq(JyxConfig::getProductCode, configAdd.getProductCode())
                     .eq(JyxConfig::getIsDelete, Constants.NOT_DELETED))).isPresent(), "产品编码重复");
@@ -83,6 +93,7 @@ public class JyxConfigServiceImpl extends ServiceImpl<JyxConfigMapper, JyxConfig
             }
             return HttpResult.ok("添加成功");
         }catch (Exception e){
+            log.error("添加驾意险异常。configAdd=[{}]", JSONUtil.toJsonStr(configAdd), e);
             return HttpResult.error("添加失败" + e.getMessage());
         }
     }
@@ -154,12 +165,21 @@ public class JyxConfigServiceImpl extends ServiceImpl<JyxConfigMapper, JyxConfig
         }
     }
 
+    /**
+     * 查询驾意险信息
+     *
+     * @param configParam 驾意险查询参数
+     * @author lipf
+     * @date 2026/4/2 9:54
+     */
     @Override
-    public List<JyxConfigVo> jyxList(JyxConfigParam configParam) {
+    public ResultInfo<List<JyxConfigVo>> jyxList(JyxConfigParam configParam) {
         try {
             List<JyxConfigVo> jyxConfigVos = Optional.ofNullable(jyxConfigMapper.jyxList(configParam)).orElse(Collections.emptyList());
             if (StringUtils.isNotEmpty(configParam.getSeats()) || StringUtils.isNotEmpty(configParam.getParams())) {
-                Set<String> ids = jyxConfigVos.stream().filter(v -> !ConstantsParent.PARENT_ID_ROOT.equals(v.getParentId())).map(JyxConfigVo::getParentId).collect(Collectors.toSet());
+                // modify by lipf  2026年4月2日10:10:00, 调换map和filter 来简化filter的写法
+                Set<String> ids = jyxConfigVos.stream().map(JyxConfigVo::getParentId)
+                        .filter(parentId -> !ConstantsParent.PARENT_ID_ROOT.equals(parentId)).collect(Collectors.toSet());
                 if (!CollectionUtils.isEmpty(ids)){
                     List<JyxConfigVo> parentConfigs = jyxConfigMapper.selectParentIds(new ArrayList<>(ids));
                     jyxConfigVos.addAll(parentConfigs);
@@ -169,18 +189,19 @@ public class JyxConfigServiceImpl extends ServiceImpl<JyxConfigMapper, JyxConfig
                 ));
             }
             if (jyxConfigVos.isEmpty()) {
-                return Collections.emptyList();
+                log.info("根据查询条件[{}]查询出的驾意险信息为空", JSONUtil.toJsonStr(configParam));
+                return ResultInfo.resOk("查询出的驾意险数据为空", Collections.emptyList());
             }
             Map<String, List<JyxConfigVo>> childrenMap = jyxConfigVos.stream()
                     .filter(vo -> !ConstantsParent.PARENT_ID_ROOT.equals(vo.getParentId()))
                     .collect(Collectors.groupingBy(vo -> String.valueOf(vo.getParentId()), Collectors.mapping(Function.identity(), Collectors.toList())));
             List<JyxConfigVo> configVos = jyxConfigVos.stream().filter(parentConfig -> ConstantsParent.PARENT_ID_ROOT.equals(parentConfig.getParentId())).collect(Collectors.toList());
             configVos.forEach(parentConfig -> parentConfig.setChildren(childrenMap.getOrDefault(String.valueOf(parentConfig.getId()), Collections.emptyList())));
-            return configVos;
+            return ResultInfo.resOk(null, configVos);
         } catch (Exception e) {
             // 记录日志或进行其他异常处理
-            log.error("执行jyxList方法异常",e);
-            return Collections.emptyList();
+            log.error("查询驾意险信息异常。 configParam=[{}]",JSONUtil.toJsonStr(configParam), e);
+            return ResultInfo.resError("查询驾意险异常,请联系管理员");
         }
     }
 

+ 1 - 14
tenant/organization/src/main/java/com/jzg/organization/controller/DictController.java

@@ -1,31 +1,21 @@
 package com.jzg.organization.controller;
 
-import com.jzg.commons.aop.OperatorTrajectory;
 import com.jzg.commons.aop.PremissionCheck;
 import com.jzg.commons.config.DictEnumConfig;
 import com.jzg.commons.constants.DictionaryManagement;
 import com.jzg.commons.core.page.HttpResult;
-import com.jzg.commons.entity.po.SysDept;
 import com.jzg.commons.entity.po.SysDict;
-import com.jzg.commons.entity.vo.SysAreaVo;
-import com.jzg.commons.entity.vo.SysDeptVo;
 import com.jzg.commons.entity.vo.SysDictVo;
-import com.jzg.organization.mapper.SysDictMapper;
-import com.jzg.organization.mapper.SysDictTypeMapper;
 import com.jzg.organization.service.SysDictService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.Schema;
-import org.redisson.api.RList;
-import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
-import static com.jzg.commons.constants.RedisKeyConstants.DICT_REDIS_KEY;
 
 /**
  * 字典管理接口
@@ -37,12 +27,9 @@ public class DictController {
     @Autowired
     private SysDictService sysDictService;
 
-    @Autowired
-    RedissonClient redissonClient;
-
     @GetMapping("/get")
     @Operation(summary = "获取字典", description = "获取字典")
-    public HttpResult addDept(String dictCode,String parentValue) {
+    public HttpResult<List<SysDict>> addDept(String dictCode,String parentValue) {
         List<SysDict> list = sysDictService.getByTypeCode(dictCode);
         List<SysDict> newResult;
         if(Objects.nonNull(parentValue)){

+ 14 - 13
tenant/organization/src/main/java/com/jzg/organization/controller/UserAccountController.java

@@ -2,13 +2,11 @@ package com.jzg.organization.controller;
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.account.po.SysUserAccountIncomeLog;
 import com.jzg.commons.entity.dto.IncomeAndExpenseParam;
 import com.jzg.commons.entity.dto.SysUserAccountPageParam;
 import com.jzg.commons.entity.dto.SysUserAccountParam;
-import com.jzg.commons.entity.dto.WithdrawParam;
 import com.jzg.commons.entity.po.SysUserAccount;
 import com.jzg.commons.entity.vo.SysUserAccountVo;
 import com.jzg.commons.entity.vo.UserAccountStatisVo;
@@ -31,14 +29,14 @@ public class UserAccountController {
 
     @Autowired
     private SysUserAccountIncomeLogService sysUserAccountIncomeLogService;
-
-    @Autowired
-    private BaseController baseController;
+//
+//    @Autowired
+//    private BaseController baseController;
 
     /**
      * 用户账户信息查询
-     * @param userId
-     * @return
+     * @param userId 用户唯一标识
+     * @return HttpResult
      */
     @GetMapping(value = { "/accountGet"})
     @Operation(summary = "用户账户信息查询")
@@ -48,8 +46,8 @@ public class UserAccountController {
 
     /**
      * 用户账户信息保存
-     * @param account
-     * @return
+     * @param account 账户信息
+     * @return HttpResult
      */
     @Operation(summary = "用户账户信息保存")
     @PostMapping("/saveOrUpdate")
@@ -64,18 +62,21 @@ public class UserAccountController {
      */
     @PostMapping("/getPayableStatistics")
     @Operation(summary = "应付统计")
-    public HttpResult getPayableStatistics(@RequestBody SysUserAccountParam param){
+    public HttpResult<UserAccountStatisVo> getPayableStatistics(@RequestBody SysUserAccountParam param){
         UserAccountStatisVo userAccountStatisVo = userAccountService.getPayableStatistics(param);
         return HttpResult.ok(userAccountStatisVo);
     }
 
     /**
-     * 用户账户列表
-     * @return
+     * 查询用户账户列表
+     *
+     * @param param 业务员,业务类型等查询条件
+     * @author lipf
+     * @date 2026/4/2 15:49
      */
     @PostMapping("/accountList")
     @Operation(summary = "用户账户列表")
-    public HttpResult accountList(@RequestBody SysUserAccountPageParam param){
+    public HttpResult<Page<SysUserAccountVo>> accountList(@RequestBody SysUserAccountPageParam param){
         Page<SysUserAccountVo> result = userAccountService.accountList(param);
         return HttpResult.ok(result);
     }

+ 6 - 0
tenant/organization/src/main/java/com/jzg/organization/controller/UserBankCardController.java

@@ -23,6 +23,12 @@ public class UserBankCardController extends BaseController {
     private SysUserJzgInfoBankCardService sysUserJzgInfoBankCardService;
 
 
+    /**
+     * 财务管理-业务管账户-查询
+     *
+     * @author lipf
+     * @date 2026/4/2 14:26
+     */
     @PostMapping("/queryUserBankCardList")
     public HttpResult queryUserBankCardList(@RequestBody SysUserJzgInfoBankCardVo sysUserJzgInfoBankCardVo){
         Page page = sysUserJzgInfoBankCardVo.getPage();

+ 3 - 1
tenant/organization/src/main/java/com/jzg/organization/event/OrganizationFormApplicationLister.java

@@ -18,6 +18,9 @@ import static com.jzg.commons.constants.RedisKeyConstants.DICT_REDIS_KEY;
 
 /**
  * springboot 初始化完成事件处理
+ * 注意:
+ * 在内嵌 Web 服务器已经启动,应用完全就绪,可以开始接收外部请求之后执行。 这里进行数据的预热,在极端场景下有些不合适。
+ * 建议通过实现CommandLineRunner 接口来实现 (author lipf, 2026年4月2日16:46:28)
  */
 @Component
 public class OrganizationFormApplicationLister implements ApplicationListener<ApplicationReadyEvent> {
@@ -40,7 +43,6 @@ public class OrganizationFormApplicationLister implements ApplicationListener<Ap
         for (String key : keys) {
             redissonClient.getList(key).clear();
         }
-
         collect.forEach((k,v)->{
             RList<Object> list = redissonClient.getList(DICT_REDIS_KEY + k);
             for(int i=0;i<v.size();i++){

+ 7 - 1
tenant/organization/src/main/java/com/jzg/organization/mapper/SysUserJzgInfoBankCardMapper.java

@@ -14,6 +14,12 @@ import java.util.List;
 public interface SysUserJzgInfoBankCardMapper extends BaseMapper<SysUserJzgInfoBankCard> {
     List<SysUserJzgInfoBankCardDto> getBankCardByUserId(String userInfoId , String systemCode);
 
-    Page<SysUserJzgInfoBankCardDto> getBankCardPageList (Page page, @Param("sysUserJzgInfoBankCardVo") SysUserJzgInfoBankCardVo sysUserJzgInfoBankCardVo);
+    /**
+     * 查询业务员账户
+     *
+     * @author lipf
+     * @date 2026/4/2 14:30
+     */
+    Page<SysUserJzgInfoBankCardDto> getBankCardPageList (Page<SysUserJzgInfoBankCardVo> page, @Param("sysUserJzgInfoBankCardVo") SysUserJzgInfoBankCardVo sysUserJzgInfoBankCardVo);
 
 }

+ 9 - 7
tenant/organization/src/main/java/com/jzg/organization/service/SysUserAccountService.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.jzg.commons.entity.dto.IncomeAndExpenseParam;
 import com.jzg.commons.entity.dto.SysUserAccountPageParam;
 import com.jzg.commons.entity.dto.SysUserAccountParam;
-import com.jzg.commons.entity.dto.WithdrawParam;
 import com.jzg.commons.entity.po.SysUserAccount;
 import com.jzg.commons.entity.vo.IncomeAndExpenseVo;
 import com.jzg.commons.entity.vo.SysUserAccountVo;
@@ -23,22 +22,25 @@ public interface SysUserAccountService extends IService<SysUserAccount> {
 
     /**
      * accountGet
-     * @param userId
-     * @return
+     * @param userId 用户唯一标识
+     * @return SysUserAccount
      */
     SysUserAccount queryByUserId(String userId);
 
     /**
      * 应付统计
-     * @param param
-     * @return
+     *
+     * @return UserAccountStatisVo 应付概览包括:业务员人数,应付总计, 已付总计, 未付总计
+     * @author lipf
+     * @date 2026/4/2 15:29
      */
     UserAccountStatisVo getPayableStatistics(SysUserAccountParam param);
 
     /**
      * 用户账户列表
-     * @param param
-     * @return
+     *
+     * @param param 业务员,业务类型等查询条件
+     * @return Page<SysUserAccountVo>
      */
     Page<SysUserAccountVo> accountList(SysUserAccountPageParam param);
 

+ 7 - 1
tenant/organization/src/main/java/com/jzg/organization/service/SysUserJzgInfoBankCardService.java

@@ -12,7 +12,13 @@ import java.util.List;
 
 public interface SysUserJzgInfoBankCardService extends IService<SysUserJzgInfoBankCard> {
 
-    Page<SysUserJzgInfoBankCardDto> getBankCardPageList(Page page, SysUserJzgInfoBankCardVo sysUserJzgInfoBankCardVo);
+    /**
+     * 财务管理-业务管账户-查询
+     *
+     * @author lipf
+     * @date 2026/4/2 14:26
+     */
+    Page getBankCardPageList(Page page, SysUserJzgInfoBankCardVo sysUserJzgInfoBankCardVo);
 
     List<SysUserJzgInfoBankCardDto> getBankCardByUserId(String userInfoId, String systemCode);
 

+ 9 - 4
tenant/organization/src/main/java/com/jzg/organization/service/impl/InvAccountServiceImpl.java

@@ -1,5 +1,7 @@
 package com.jzg.organization.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.entity.account.dto.AccountAddParam;
@@ -11,6 +13,8 @@ import com.jzg.commons.exception.SystemException;
 import com.jzg.organization.mapper.InvAccountMapper;
 import com.jzg.organization.service.InvAccountService;
 import org.apache.commons.lang3.ObjectUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
@@ -25,22 +29,23 @@ import java.util.List;
 public class InvAccountServiceImpl extends ServiceImpl<InvAccountMapper, InvAccount>
     implements InvAccountService {
 
+    private static final Logger log = LoggerFactory.getLogger(InvAccountServiceImpl.class);
+
     @Override
     public Page<AccountVo> queryPage(AccountParam param) {
-        Page<AccountVo> page = baseMapper.queryPage(param.getPage(), param);
-        return page;
+        return baseMapper.queryPage(param.getPage(), param);
     }
 
     @Override
     public List<AccountVo> queryList(AccountParam param) {
         List<AccountVo> list = baseMapper.queryList(param);
+        log.info("查询来往企业的情况。查询出[{}]条记录。 参数是[{}]", CollUtil.size(list), JSONUtil.toJsonStr(param));
         return list;
     }
 
     @Override
     public AccountVo queryById(String id) {
-        AccountVo accountVo = this.isExistById(id);
-        return accountVo;
+        return this.isExistById(id);
     }
 
     @Override

+ 8 - 8
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserAccountServiceImpl.java

@@ -10,8 +10,6 @@ import com.jzg.commons.entity.vo.IncomeAndExpenseVo;
 import com.jzg.commons.entity.vo.SysUserAccountVo;
 import com.jzg.commons.entity.vo.SysUserWalletVo;
 import com.jzg.commons.entity.vo.UserAccountStatisVo;
-import com.jzg.commons.exception.SystemException;
-import com.jzg.commons.util.AssertionUtils;
 import com.jzg.organization.client.QuoteClient;
 import com.jzg.organization.mapper.SysUserAccountMapper;
 import com.jzg.organization.service.*;
@@ -52,9 +50,6 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
     @Autowired
     private SysDeptService sysDeptService;
 
-    @Autowired
-    private SysUserJzgInfoBankCardService sysUserJzgInfoBankCardService;
-
     @Autowired
     private QuoteClient quoteClient;
 
@@ -71,10 +66,15 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
         return this.baseMapper.getPayableStatistics(param);
     }
 
+    /**
+     * 用户账户列表
+     *
+     * @param param 业务员,业务类型等查询条件
+     * @return Page<SysUserAccountVo>
+     */
     @Override
     public Page<SysUserAccountVo> accountList(SysUserAccountPageParam param) {
-        Page<SysUserAccountVo> page = baseMapper.accountList(param.getPage(), param);
-        return page;
+        return baseMapper.accountList(param.getPage(), param);
     }
 
     @Override
@@ -202,7 +202,7 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
     public List<IncomeAndExpenseVo> getIncomeAndExpense(IncomeAndExpenseParam param) {
         // 获取个人中心信息
         String mobile = baseController.getUserName();
-        String deptId = baseController.getUserDeptId();
+        //String deptId = baseController.getUserDeptId();
         String systemCode = baseController.getAppSystemCode();
         SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getMobile, mobile));
         SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getOne(new LambdaQueryWrapper<SysUserJzgInfo>().eq(SysUserJzgInfo::getUserId, sysUser.getId()).eq(SysUserJzgInfo::getSystemCode, systemCode));

+ 13 - 1
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserJzgInfoBankCardServiceImpl.java

@@ -1,5 +1,6 @@
 package com.jzg.organization.service.impl;
 
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -17,6 +18,8 @@ import com.jzg.organization.mapper.SysUserJzgInfoBankCardMapper;
 import com.jzg.organization.mapper.SysUserJzgInfoBankCardRecordMapper;
 import com.jzg.organization.service.SysUserJzgInfoBankCardService;
 import jakarta.annotation.Resource;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
@@ -30,6 +33,8 @@ import java.util.Objects;
  */
 @Service
 public class SysUserJzgInfoBankCardServiceImpl extends ServiceImpl<SysUserJzgInfoBankCardMapper, SysUserJzgInfoBankCard> implements SysUserJzgInfoBankCardService {
+
+    private static final Logger log = LoggerFactory.getLogger(SysUserJzgInfoBankCardServiceImpl.class);
     @Resource
     private SysUserJzgInfoBankCardMapper sysUserJzgInfoBankCardMapper;
 
@@ -47,8 +52,15 @@ public class SysUserJzgInfoBankCardServiceImpl extends ServiceImpl<SysUserJzgInf
         return sysUserJzgInfoBankCardMapper.getBankCardByUserId(userInfoId,systemCode);
     }
 
+    /**
+     * 财务管理-业务管账户-查询
+     *
+     * @author lipf
+     * @date 2026/4/2 14:26
+     */
     @Override
-    public Page<SysUserJzgInfoBankCardDto> getBankCardPageList(Page page, SysUserJzgInfoBankCardVo sysUserJzgInfoBankCardVo) {
+    public Page getBankCardPageList(Page page, SysUserJzgInfoBankCardVo sysUserJzgInfoBankCardVo) {
+        log.info("查询业务员账户:sysUserJzgInfoBankCardVo=[{}]", JSONUtil.toJsonStr(sysUserJzgInfoBankCardVo));
         Page<SysUserJzgInfoBankCardDto> pageList = sysUserJzgInfoBankCardMapper.getBankCardPageList(page, sysUserJzgInfoBankCardVo);
         pageList.getRecords().forEach(sysUserJzgInfoBankCardDto -> {
             if (sysUserJzgInfoBankCardDto.getFileId() != null) {