Selaa lähdekoodia

分账记录列表

skyline 1 vuosi sitten
vanhempi
säilyke
54c6b2e0a2

+ 38 - 0
car-wash-admin/src/main/java/com/kym/admin/controller/FinanceController.java

@@ -0,0 +1,38 @@
+package com.kym.admin.controller;
+
+import com.kym.common.R;
+import com.kym.entity.queryParams.SplitRecordQueryParams;
+import com.kym.service.SplitRecordService;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 财务
+ *
+ * @author skyline
+ * @since 2025-02-24
+ */
+@RestController
+@RequestMapping("/finance")
+public class FinanceController {
+
+    private final SplitRecordService splitRecordService;
+
+    public FinanceController(SplitRecordService splitRecordService) {
+        this.splitRecordService = splitRecordService;
+    }
+
+    /**
+     * 分账记录列表
+     *
+     * @param params
+     * @return
+     */
+    @PostMapping("/splitRecords")
+    public R<?> splitRecords(@RequestBody SplitRecordQueryParams params) {
+        return R.success(splitRecordService.listSplitRecords(params));
+    }
+
+}

+ 0 - 18
car-wash-admin/src/main/java/com/kym/admin/controller/SplitRecordController.java

@@ -1,18 +0,0 @@
-package com.kym.admin.controller;
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 平台分账记录表 前端控制器
- * </p>
- *
- * @author skyline
- * @since 2025-02-24
- */
-@RestController
-@RequestMapping("/split-record")
-public class SplitRecordController {
-
-}

+ 22 - 0
car-wash-entity/src/main/java/com/kym/entity/queryParams/SplitRecordQueryParams.java

@@ -0,0 +1,22 @@
+package com.kym.entity.queryParams;
+
+import com.kym.entity.common.PageParams;
+import lombok.Data;
+
+/**
+ * @author skyline
+ * 分账记录查询参数
+ */
+@Data
+public class SplitRecordQueryParams extends PageParams {
+
+    private String stationId;
+    /**
+     * 交易流水号
+     */
+    private String tradeNo;
+    /**
+     * 分账类型
+     */
+    private String type;
+}

+ 3 - 1
car-wash-service/src/main/java/com/kym/service/SplitRecordService.java

@@ -1,6 +1,8 @@
 package com.kym.service;
 
 import com.kym.entity.SplitRecord;
+import com.kym.entity.common.PageBean;
+import com.kym.entity.queryParams.SplitRecordQueryParams;
 import com.kym.service.mybatisplus.MyBaseService;
 
 /**
@@ -12,5 +14,5 @@ import com.kym.service.mybatisplus.MyBaseService;
  * @since 2025-02-24
  */
 public interface SplitRecordService extends MyBaseService<SplitRecord> {
-
+     PageBean<SplitRecord> listSplitRecords(SplitRecordQueryParams params);
 }

+ 12 - 0
car-wash-service/src/main/java/com/kym/service/cache/KymCache.java

@@ -25,6 +25,7 @@ public enum KymCache {
     private static ConcurrentHashMap<String, String> SHORT_ID_TO_PRODUCT_KEY_AND_DEVICE_NAME_MAPPING = new ConcurrentHashMap<>();
 
 
+
     /**
      * 用户id与归属站点id映射
      *
@@ -104,6 +105,17 @@ public enum KymCache {
         });
     }
 
+    /**
+     * 获取运营平台操作员有权限的站点ID
+     *
+     * @param adminUserId
+     * @return
+     */
+    public List<String> getAdminUserStationIds(Long adminUserId) {
+        return KymCacheInjector.redisTemplate.opsForSet().members(RedisKeys.ADMIN_USER_STATION_IDS + adminUserId).stream().toList();
+    }
+
+
 
     /**
      * 缓存短编号和设备信息

+ 24 - 0
car-wash-service/src/main/java/com/kym/service/impl/SplitRecordServiceImpl.java

@@ -1,8 +1,14 @@
 package com.kym.service.impl;
 
+import cn.dev33.satoken.stp.StpUtil;
+import com.github.pagehelper.PageHelper;
+import com.kym.common.utils.CommUtil;
 import com.kym.entity.SplitRecord;
+import com.kym.entity.common.PageBean;
+import com.kym.entity.queryParams.SplitRecordQueryParams;
 import com.kym.mapper.SplitRecordMapper;
 import com.kym.service.SplitRecordService;
+import com.kym.service.cache.KymCache;
 import com.kym.service.mybatisplus.MyBaseServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -17,4 +23,22 @@ import org.springframework.stereotype.Service;
 @Service
 public class SplitRecordServiceImpl extends MyBaseServiceImpl<SplitRecordMapper, SplitRecord> implements SplitRecordService {
 
+    @Override
+    public PageBean<SplitRecord> listSplitRecords(SplitRecordQueryParams params) {
+        // 站点数据权限
+        var adminStationIds = KymCache.INSTANCE.getAdminUserStationIds(StpUtil.getLoginIdAsLong());
+        if (CommUtil.isEmptyOrNull(params.getStationId()) && KymCache.INSTANCE.getAdminUserStationIds(StpUtil.getLoginIdAsLong()) != null) {
+            params.setStationId(adminStationIds.get(0));
+        }
+        PageHelper.startPage(params.getPageNum(), params.getPageSize());
+        var res = lambdaQuery()
+                .eq(CommUtil.isNotEmptyAndNull(params.getTradeNo()), SplitRecord::getTradeNo, params.getTradeNo())
+                .eq(CommUtil.isNotEmptyAndNull(params.getType()), SplitRecord::getType, params.getType())
+                .eq(CommUtil.isNotEmptyAndNull(params.getStationId()), SplitRecord::getFromStationId, params.getStationId())
+                .or()
+                .eq(CommUtil.isNotEmptyAndNull(params.getStationId()), SplitRecord::getToStationId, params.getStationId())
+                .orderByDesc(SplitRecord::getId)
+                .list();
+        return new PageBean<>(res);
+    }
 }