TRX 1 ano atrás
pai
commit
c80514c686

+ 33 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/ExpenseFlowAreaModel.java

@@ -0,0 +1,33 @@
+package com.zhongshu.card.client.model.payment;
+
+import com.zhongshu.card.client.model.school.AreaSimpleModel;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
+
+/**
+ * @author TRX
+ * @date 2024/6/17
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ExpenseFlowAreaModel extends ExpenseFlowModel {
+
+    @Schema(description = "设备所属区域信息")
+    private AreaSimpleModel area;
+
+    private String areaName = "";
+
+    public String getAreaName() {
+        if (ObjectUtils.isNotEmpty(area)) {
+            return area.getName();
+        }
+        return "";
+    }
+
+    @Schema(description = "")
+    private String areaNames = "";
+}

+ 2 - 5
FullCardClient/src/main/java/com/zhongshu/card/client/service/payment/ExpenseFlowService.java

@@ -1,9 +1,6 @@
 package com.zhongshu.card.client.service.payment;
 
-import com.zhongshu.card.client.model.payment.ExpenseFlowCount;
-import com.zhongshu.card.client.model.payment.ExpenseFlowModel;
-import com.zhongshu.card.client.model.payment.ExpenseFlowSearch;
-import com.zhongshu.card.client.model.payment.ExpenseRefundParam;
+import com.zhongshu.card.client.model.payment.*;
 import com.zhongshu.card.client.model.payment.statistic.BusinessMainStatisticModel;
 import com.zhongshu.card.client.model.payment.statistic.StatisticSearch;
 import com.github.microservice.net.ResultContent;
@@ -25,7 +22,7 @@ public interface ExpenseFlowService {
 
     ResultContent<ExpenseFlowCount> countBusPayment(ExpenseFlowSearch param);
 
-    ResultContent<ExpenseFlowModel> getDetail(String id);
+    ResultContent<ExpenseFlowAreaModel> getDetail(String id);
 
     ResultContent<ExpenseFlowModel> getDetailByPaymentNo(String paymentNo);
 

+ 2 - 5
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/payment/ExpenseFlowController.java

@@ -5,10 +5,7 @@ import com.github.microservice.auth.security.helper.AuthHelper;
 import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.types.OrderModeType;
 import com.zhongshu.card.client.model.base.IDParam;
-import com.zhongshu.card.client.model.payment.ExpenseFlowCount;
-import com.zhongshu.card.client.model.payment.ExpenseFlowModel;
-import com.zhongshu.card.client.model.payment.ExpenseFlowSearch;
-import com.zhongshu.card.client.model.payment.ExpenseRefundParam;
+import com.zhongshu.card.client.model.payment.*;
 import com.zhongshu.card.client.model.payment.statistic.BusinessMainStatisticModel;
 import com.zhongshu.card.client.model.payment.statistic.StatisticSearch;
 import com.github.microservice.net.ResultContent;
@@ -66,7 +63,7 @@ public class ExpenseFlowController {
     @ResourceAuth(value = "user", type = AuthType.User)
     @Operation(summary = "消费详情", description = "消费详情")
     @RequestMapping(value = "getDetail", method = {RequestMethod.POST})
-    public ResultContent<ExpenseFlowModel> getDetail(@RequestBody IDParam param) {
+    public ResultContent<ExpenseFlowAreaModel> getDetail(@RequestBody IDParam param) {
         return this.expenseFlowService.getDetail(param.getId());
     }
 

+ 4 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/payment/ExpenseFlow.java

@@ -5,6 +5,7 @@ import com.github.microservice.types.payment.PaymentDeviceType;
 import com.github.microservice.types.payment.PaymentType;
 import com.github.microservice.types.OrderModeType;
 import com.github.microservice.types.OrderState;
+import com.zhongshu.card.client.model.school.AreaSimpleModel;
 import com.zhongshu.card.client.type.RefundState;
 import com.zhongshu.card.server.core.domain.base.SuperMain;
 import com.zhongshu.card.server.core.domain.org.UserAccount;
@@ -69,6 +70,9 @@ public class ExpenseFlow extends SuperMain {
     @Schema(description = "消费机设备ID")
     private String deviceId;
 
+    @Schema(description = "设备所属区域信息")
+    private AreaSimpleModel area;
+
     @Schema(description = "所属项目的code")
     private String projectCode;
 

+ 36 - 7
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/payment/ExpenseFlowServiceImpl.java

@@ -21,13 +21,11 @@ import com.github.microservice.types.OrderState;
 import com.zhongshu.card.client.model.base.SuperSearch;
 import com.zhongshu.card.client.model.operLogs.OperationLogsAddParam;
 import com.zhongshu.card.client.model.org.UserJoinBusOrgModel;
-import com.zhongshu.card.client.model.payment.ExpenseFlowCount;
-import com.zhongshu.card.client.model.payment.ExpenseFlowModel;
-import com.zhongshu.card.client.model.payment.ExpenseFlowSearch;
-import com.zhongshu.card.client.model.payment.ExpenseRefundParam;
+import com.zhongshu.card.client.model.payment.*;
 import com.zhongshu.card.client.model.payment.statistic.BusinessMainStatisticModel;
 import com.zhongshu.card.client.model.payment.statistic.StatisticItem;
 import com.zhongshu.card.client.model.payment.statistic.StatisticSearch;
+import com.zhongshu.card.client.model.school.AreaSimpleModel;
 import com.zhongshu.card.client.service.payment.ExpenseFlowService;
 import com.zhongshu.card.client.type.*;
 import com.zhongshu.card.client.type.school.CardState;
@@ -54,6 +52,7 @@ import com.zhongshu.card.server.core.service.base.SuperService;
 import com.zhongshu.card.server.core.service.org.OrganizationServiceImpl;
 import com.zhongshu.card.server.core.service.pay.BalancePayService;
 import com.zhongshu.card.server.core.service.paySetting.ProjectPaySettingServiceImpl;
+import com.zhongshu.card.server.core.service.school.AreaServiceImpl;
 import com.zhongshu.card.server.core.service.user.OperationLogsService;
 import com.zhongshu.card.server.core.util.*;
 import com.zhongshu.payment.client.model.param.AmountUpdateParam;
@@ -74,6 +73,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -85,6 +85,7 @@ import java.util.stream.Collectors;
 @Slf4j
 @Service
 public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowService {
+
     @Autowired
     ExpenseFlowDao expenseFlowDao;
 
@@ -130,6 +131,9 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
     @Autowired
     private PayCallService payCallService;
 
+    @Autowired
+    private AreaServiceImpl areaService;
+
     /**
      * 创建流水
      *
@@ -290,6 +294,8 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
             return;
         }
         entity.setShopOid(deviceInfo.getBeLongOid());
+        // 设备区域
+        entity.setArea(areaService.toSimpleModel(deviceInfo.getArea()));
 
         // 填充项目信息
         String projectOid = deviceInfo.getProjectOid();
@@ -726,12 +732,12 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
      * @param id
      * @return
      */
-    public ResultContent<ExpenseFlowModel> getDetail(String id) {
+    public ResultContent<ExpenseFlowAreaModel> getDetail(String id) {
         ExpenseFlow entity = expenseFlowDao.findTopById(id);
         if (ObjectUtils.isEmpty(entity)) {
             return ResultContent.buildSuccess(String.format(ResultMessage.DATA_NOT_EXIST, id));
         }
-        ExpenseFlowModel model = toModel(entity);
+        ExpenseFlowAreaModel model = toAreaModel(entity);
         return ResultContent.buildSuccess(model);
     }
 
@@ -775,10 +781,33 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
         ExpenseFlowModel model = new ExpenseFlowModel();
         if (ObjectUtils.isNotEmpty(entity)) {
             BeanUtils.copyProperties(entity, model);
-
             // 卡片信息
+            // 用户信息
+        }
+        return model;
+    }
 
+    /**
+     * 包含区域的model
+     *
+     * @param entity
+     * @return
+     */
+    public ExpenseFlowAreaModel toAreaModel(ExpenseFlow entity) {
+        ExpenseFlowAreaModel model = new ExpenseFlowAreaModel();
+        if (ObjectUtils.isNotEmpty(entity)) {
+            BeanUtils.copyProperties(entity, model);
+            // 卡片信息
             // 用户信息
+            AreaSimpleModel simpleModel = entity.getArea();
+            if (ObjectUtils.isNotEmpty(simpleModel)) {
+                List<AreaSimpleModel> areas = areaService.getParents(simpleModel.getId());
+                if (ObjectUtils.isNotEmpty(areas)) {
+                    Collections.reverse(areas);
+                    List<String> names = areas.stream().map(it -> it.getName()).collect(Collectors.toList());
+                    model.setAreaNames(String.join("/", names));
+                }
+            }
         }
         return model;
     }