TRX преди 1 година
родител
ревизия
77248eccfc

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

@@ -2,9 +2,8 @@ package com.zhongshu.card.server.core.controller.payment;
 
 
 import com.github.microservice.models.hxz.*;
-import com.github.microservice.models.hxz.base.BaseResultModel;
 import com.zhongshu.card.client.ret.ResultContent;
-import com.zhongshu.card.server.core.service.payment.HxzService;
+import com.zhongshu.card.server.core.service.hxz.HxzService;
 import io.swagger.v3.oas.annotations.Hidden;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;

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

@@ -39,7 +39,7 @@ public class ExpenseFlow extends SuperMain {
 
     private String token;
 
-    @Schema(description = "用户userId")
+    @Schema(description = "消费的用户userId")
     private String userId;
 
     @Schema(description = "用户名称")
@@ -52,6 +52,12 @@ public class ExpenseFlow extends SuperMain {
     @Schema(description = "消费机设备ID")
     private String deviceId;
 
+    @Schema(description = "所属项目Oid")
+    private String projectOid;
+
+    @Schema(description = "所属项目的code")
+    private String projectCode;
+
     @Schema(description = "订单所属的商户")
     private String shopOid;
 

+ 3 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/payment/HxzService.java → FullCardServer/src/main/java/com/zhongshu/card/server/core/service/hxz/HxzService.java

@@ -1,4 +1,4 @@
-package com.zhongshu.card.server.core.service.payment;
+package com.zhongshu.card.server.core.service.hxz;
 
 import cn.hutool.json.JSONUtil;
 import com.github.microservice.models.hxz.*;
@@ -12,7 +12,8 @@ import com.zhongshu.card.server.core.domain.payment.ExpenseFlow;
 import com.zhongshu.card.server.core.domain.org.DeviceInfo;
 import com.zhongshu.card.server.core.httpRequest.ApiRequestService;
 import com.zhongshu.card.server.core.service.base.SuperService;
-import com.zhongshu.card.server.core.util.TokenUtil;
+import com.zhongshu.card.server.core.service.payment.ExpenseFlowServiceImpl;
+import com.zhongshu.card.server.core.service.payment.RequestInfoService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;

+ 26 - 11
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/OrganizationServiceImpl.java

@@ -265,36 +265,51 @@ public class OrganizationServiceImpl extends SuperService implements Organizatio
         Assert.hasText(param.getContactPhone(), "手机号不能为空");
 
         String projectId = param.getProjectOid();
-        Organization organization = organizationDao.findTopByOid(projectId);
-        if (ObjectUtils.isEmpty(organization)) {
+        Organization projectOrg = organizationDao.findTopByOid(projectId);
+        if (ObjectUtils.isEmpty(projectOrg)) {
             return ResultContent.buildSuccess(String.format("项目不存在:%s", projectId));
         }
-        Organization main = organizationDao.findTopById(param.getId());
-        if (ObjectUtils.isEmpty(main)) {
+        Organization schoolInfo = organizationDao.findTopById(param.getId());
+        if (ObjectUtils.isEmpty(schoolInfo)) {
             return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, param.getId()));
         }
         if (param.getState() == null) {
             param.setState(OrganizationState.Normal);
         }
-        BeanUtils.copyProperties(param, main);
-        organizationDao.save(main);
+        BeanUtils.copyProperties(param, schoolInfo);
+        organizationDao.save(schoolInfo);
 
         // 找出关联的项目
-        OrganizationRelation organizationRelation = organizationRelationDao.findTopByMainOrganizationAndRelationType(main, OrganizationRelationType.SchoolToProject);
+        OrganizationRelation organizationRelation = organizationRelationDao.findTopByMainOrganizationAndRelationType(schoolInfo, OrganizationRelationType.SchoolToProject);
         if (ObjectUtils.isEmpty(organizationRelation)) {
             organizationRelation = new OrganizationRelation();
         }
         organizationRelation.setAuthType(AuthType.School);
-        organizationRelation.setMainOrganization(main);
-        organizationRelation.setMainName(main.getName());
-        organizationRelation.setRelOrganization(organization);
-        organizationRelation.setRelName(organization.getName());
+        organizationRelation.setMainOrganization(schoolInfo);
+        organizationRelation.setMainName(schoolInfo.getName());
+        organizationRelation.setRelOrganization(projectOrg);
+        organizationRelation.setRelName(projectOrg.getName());
         organizationRelation.setRelationType(OrganizationRelationType.SchoolToProject);
         organizationRelationDao.save(organizationRelation);
 
         return ResultContent.buildSuccess();
     }
 
+    /**
+     * 得到学校绑定项目 绑定学校
+     *
+     * @param schoolOid
+     * @return
+     */
+    public OrganizationRelation getSchoolRelationProject(String schoolOid) {
+        Organization organization = organizationDao.findTopByOid(schoolOid);
+        if (ObjectUtils.isNotEmpty(organization)) {
+            OrganizationRelation organizationRelation = organizationRelationDao.findTopByMainOrganizationAndRelationType(main, OrganizationRelationType.SchoolToProject);
+            return organizationRelation;
+        }
+        return null;
+    }
+
     /**
      * 编辑机构 (编辑基本信息)
      *

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

@@ -24,6 +24,8 @@ import com.zhongshu.card.server.core.dao.payment.WalletDao;
 import com.zhongshu.card.server.core.dao.payment.WalletRechargeDao;
 import com.zhongshu.card.server.core.dao.school.DeviceBindDao;
 import com.zhongshu.card.server.core.dao.school.DeviceInfoDao;
+import com.zhongshu.card.server.core.domain.org.Organization;
+import com.zhongshu.card.server.core.domain.org.OrganizationRelation;
 import com.zhongshu.card.server.core.domain.org.UserAccount;
 import com.zhongshu.card.server.core.domain.payment.ExpenseFlow;
 import com.zhongshu.card.server.core.domain.payment.Wallet;
@@ -34,6 +36,7 @@ import com.zhongshu.card.server.core.domain.school.DeviceBind;
 import com.zhongshu.card.server.core.httpRequest.ApiRequestService;
 import com.zhongshu.card.server.core.httpRequest.apiConf.APIResponseModel;
 import com.zhongshu.card.server.core.service.base.SuperService;
+import com.zhongshu.card.server.core.service.org.OrganizationServiceImpl;
 import com.zhongshu.card.server.core.util.*;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
@@ -80,6 +83,9 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
     @Autowired
     DeviceBindDao deviceBindDao;
 
+    @Autowired
+    OrganizationServiceImpl organizationService;
+
     /**
      * 创建流水
      *
@@ -285,6 +291,23 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
             return;
         }
 
+        // 查询学校绑定的项目信息
+        OrganizationRelation relation = organizationService.getSchoolRelationProject(entity.getSchoolOid());
+        if (ObjectUtils.isNotEmpty(relation)) {
+            Organization projectOrg = relation.getRelOrganization();
+            if (ObjectUtils.isNotEmpty(projectOrg)) {
+                entity.setProjectCode(projectOrg.getCode());
+                entity.setProjectOid(projectOrg.getOid());
+            }
+        }
+
+        // 验证项目信息
+        if (StringUtils.isEmpty(entity.getProjectCode())) {
+            entity.setVerifyParamIsSuccess(Boolean.FALSE);
+            entity.setVerifyParamMsg("未绑定项目信息");
+            return;
+        }
+
         PaymentType paymentType = entity.getPaymentType();
         // 刷卡支付 并且钱包支付
         if (paymentType == PaymentType.UserWallet && entity.getOrderFromType() == OrderFromType.Swipe) {