TRX 1 年之前
父节点
当前提交
91001faaa1

+ 2 - 2
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/paySetting/ProjectPaySettingConfig.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.payment.paySetting;
 
-import com.zhongshu.card.client.type.payment.ProjectPayChannelType;
+import com.github.microservice.models.type.PaymentType;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -19,7 +19,7 @@ public class ProjectPaySettingConfig {
     private String projectOid;
 
     @Schema(description = "项目的支付渠道设置")
-    private ProjectPayChannelType channelType;
+    private PaymentType channelType;
 
     @Schema(description = "关联的微信支付配置")
     WxPayConfigModel wxPayConfig;

+ 2 - 2
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/paySetting/ProjectPaySettingModel.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.payment.paySetting;
 
-import com.zhongshu.card.client.type.payment.ProjectPayChannelType;
+import com.github.microservice.models.type.PaymentType;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -18,7 +18,7 @@ public class ProjectPaySettingModel {
     private String projectOid;
 
     @Schema(description = "项目的支付渠道设置")
-    private ProjectPayChannelType channelType;
+    private PaymentType channelType;
 
     private String channelTypeStr;
 

+ 2 - 2
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/paySetting/ProjectPaySettingParam.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.client.model.payment.paySetting;
 
-import com.zhongshu.card.client.type.payment.ProjectPayChannelType;
+import com.github.microservice.models.type.PaymentType;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -18,5 +18,5 @@ public class ProjectPaySettingParam {
     private String projectOid;
 
     @Schema(description = "项目的支付渠道设置")
-    private ProjectPayChannelType channelType;
+    private PaymentType channelType;
 }

+ 5 - 5
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/paySetting/WxPayConfigParam.java

@@ -21,22 +21,22 @@ public class WxPayConfigParam {
     private String appId;
 
     @Schema(description = "商户证书序列号")
-    public String mchSerialNo;
+    private String mchSerialNo;
 
     @Schema(description = "商户id")
-    public String mchId;
+    private String mchId;
 
     @Schema(description = "API V3密钥")
-    public String apiV3Key;
+    private String apiV3Key;
 
     @Schema(description = "认证类型")
-    public String authenticationType = "WECHATPAY2-SHA256-RSA2048";
+    private String authenticationType = "WECHATPAY2-SHA256-RSA2048";
 
     @Schema(description = "key文件地址类型,oss、local")
     private String privateKeyType = "";
 
     @Schema(description = "私钥文件地址")
-    public String privateKeyPath;
+    private String privateKeyPath;
 
     @Schema(description = "支付成功回调地址")
     private String notifyUrl;

+ 0 - 19
FullCardClient/src/main/java/com/zhongshu/card/client/type/payment/ProjectPayChannelType.java

@@ -1,19 +0,0 @@
-package com.zhongshu.card.client.type.payment;
-
-import lombok.Getter;
-
-/**
- * 项目的支付渠道类型
- */
-public enum ProjectPayChannelType {
-    WxPay("微信支付"),
-    UniPay("银联支付"),
-    ;
-
-    @Getter
-    private String remark;
-
-    ProjectPayChannelType(String remark) {
-        this.remark = remark;
-    }
-}

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

@@ -38,6 +38,7 @@ public class HxzController {
     @Operation(summary = "用户刷卡综合接口")
     @PostMapping(value = "ConsumTransactions", consumes = MediaType.APPLICATION_JSON_VALUE)
     public ResultContent consumTransactions(@RequestBody ConsumTransactionsModel param) {
+
         return hxzService.consumTransactions(param);
     }
 

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

@@ -57,7 +57,8 @@ public class ProjectPaySettingController {
     //------------------------------feign start -----------------------
     @Operation(hidden = true, summary = "根据小程序appId得到配置", description = "根据小程序appId得到配置")
     @RequestMapping(value = "manager/getProjectWxPayConfig", method = {RequestMethod.POST})
-    public ResultContent<WxPayConfigModel> getProjectWxPayConfig(@RequestBody ProjectWxPayParam param) {
+    public ResultContent<WxPayConfigModel> getProjectWxPayConfig(
+            @RequestBody ProjectWxPayParam param) {
         return projectPaySettingService.getProjectWxPayConfig(param);
     }
 }

+ 8 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/payment/ProjectPaySetting.java

@@ -1,6 +1,6 @@
 package com.zhongshu.card.server.core.domain.payment;
 
-import com.zhongshu.card.client.type.payment.ProjectPayChannelType;
+import com.github.microservice.models.type.PaymentType;
 import com.zhongshu.card.server.core.domain.base.SuperMain;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
@@ -25,7 +25,13 @@ public class ProjectPaySetting extends SuperMain {
     @Schema(description = "项目id")
     private String projectOid;
 
+    @Schema(description = "项目名称")
+    private String projectName;
+
+    @Schema(description = "项目编码")
+    private String projectCode;
+
     @Schema(description = "项目的支付渠道设置:微信支付、银联支付")
-    private ProjectPayChannelType channelType;
+    private PaymentType channelType;
 
 }

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

@@ -2,6 +2,7 @@ package com.zhongshu.card.server.core.service.hxz;
 
 import cn.hutool.json.JSONUtil;
 import com.github.microservice.models.hxz.*;
+import com.github.microservice.models.type.OrderFromType;
 import com.github.microservice.net.ResultContent;
 import com.github.microservice.models.type.PaymentType;
 import com.zhongshu.card.server.core.dao.school.CardInfoDao;
@@ -77,6 +78,8 @@ public class HxzService extends SuperService {
      * @return
      */
     public ResultContent consumTransactions(ConsumTransactionsModel param) {
+        // 通过
+        param.setOrderFromType(OrderFromType.Swipe);
         // 返回参数
         ConsumTransactionsResult resultModel = new ConsumTransactionsResult();
 

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

@@ -21,6 +21,7 @@ import com.zhongshu.card.client.type.*;
 import com.zhongshu.card.client.utils.DateUtils;
 
 import com.zhongshu.card.client.type.school.CardState;
+import com.zhongshu.card.server.core.dao.payment.ProjectPaySettingDao;
 import com.zhongshu.card.server.core.dao.school.CardInfoDao;
 import com.zhongshu.card.server.core.dao.org.UserCountDao;
 import com.zhongshu.card.server.core.dao.payment.ExpenseFlowDao;
@@ -32,6 +33,7 @@ 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.ProjectPaySetting;
 import com.zhongshu.card.server.core.domain.school.CardInfo;
 import com.zhongshu.card.server.core.domain.org.DeviceInfo;
 import com.zhongshu.card.server.core.domain.school.DeviceBind;
@@ -108,6 +110,9 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
     @Autowired
     OperationLogsService operationLogsService;
 
+    @Autowired
+    ProjectPaySettingDao projectPaySettingDao;
+
     /**
      * 创建流水
      *
@@ -132,7 +137,7 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
         expenseFlow.setOrderNo(iotParam.getOrder());
         // 卡片信息
         expenseFlow.setCardNo(iotParam.getCardNo());
-
+        // 本地订单号
         String paymentNo = NextNoUtil.getNextPaymentNo(null);
         // 支付订单号
         expenseFlow.setPaymentNo(paymentNo);
@@ -142,11 +147,8 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
 
         String deviceId = iotParam.getDeviceId();
         expenseFlow.setDeviceId(deviceId);
-
-        expenseFlow.setOrderFromType(OrderFromType.Swipe);
-        // 支付方式
-        expenseFlow.setPaymentWay(iotParam.getPaymentType().getRemark());
-        expenseFlow.setPaymentType(iotParam.getPaymentType());
+        // 支付来源
+        expenseFlow.setOrderFromType(iotParam.getOrderFromType());
         expenseFlow.setParam(iotParam);
         expenseFlow.setPaymentDeviceType(PaymentDeviceType.HxzConsumTransactions);
         expenseFlow.setOrderType(OrderState.WAIT_PAYMENT);
@@ -323,7 +325,16 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
             return;
         }
 
-        PaymentType paymentType = entity.getPaymentType();
+        // 确定项目的付款方式
+        ProjectPaySetting projectPaySetting = projectPaySettingDao.findTopByProjectOid(entity.getProjectOid());
+        if (ObjectUtils.isEmpty(projectPaySetting) || projectPaySetting.getChannelType() == null) {
+            entity.setVerifyError("项目为配置支付渠道");
+            return;
+        }
+        PaymentType paymentType = projectPaySetting.getChannelType();
+        entity.setPaymentType(paymentType);
+        entity.setPaymentWay(paymentType.getRemark());
+
         // 刷卡支付 并且钱包支付
         if (paymentType == PaymentType.UserWallet && entity.getOrderFromType() == OrderFromType.Swipe) {
             CardInfo cardInfo = cardInfoDao.findByCode(entity.getCardNo());

+ 4 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/payment/ProjectPaySettingServiceImpl.java

@@ -50,13 +50,15 @@ public class ProjectPaySettingServiceImpl extends SuperService implements Projec
             return ResultContent.buildFail(String.format("oid不存在:%s", param.getProjectOid()));
         }
         if (projectOrg.getAuthType() != AuthType.Project) {
-            return ResultContent.buildFail(String.format("%s 构不属于项目类型", projectOrg.getName()));
+            return ResultContent.buildFail(String.format("%s 构不属于项目类型", projectOrg.getName()));
         }
         ProjectPaySetting setting = projectPaySettingDao.findTopByProjectOid(param.getProjectOid());
         if (ObjectUtils.isEmpty(setting)) {
             setting = new ProjectPaySetting();
         }
         BeanUtils.copyProperties(param, setting);
+        setting.setProjectName(projectOrg.getName());
+        setting.setProjectCode(projectOrg.getCode());
         projectPaySettingDao.save(setting);
         return ResultContent.buildSuccess();
     }
@@ -92,6 +94,7 @@ public class ProjectPaySettingServiceImpl extends SuperService implements Projec
         if (projectOrg.getAuthType() != AuthType.Project) {
             return ResultContent.buildFail(String.format("%s 结构不属于项目类型", projectOrg.getName()));
         }
+
         WxPayConfig wxPayConfig = wxPayConfigDao.findTopByProjectOid(param.getProjectOid());
         WxPayConfig temp = wxPayConfigDao.findTopByAppId(param.getAppId());
         if (ObjectUtils.isEmpty(wxPayConfig)) {

+ 7 - 15
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/school/DeviceBindServiceImpl.java

@@ -101,7 +101,7 @@ public class DeviceBindServiceImpl extends SuperService implements DeviceBindSer
             }
         }
         BeanUtils.copyProperties(param, deviceBind);
-
+        // 设备信息
         deviceBind.setDeviceId(deviceId);
         deviceBind.setDeviceName(deviceInfo.getDeviceName());
         deviceBind.setDeviceInfo(deviceInfo);
@@ -111,20 +111,22 @@ public class DeviceBindServiceImpl extends SuperService implements DeviceBindSer
         deviceBind.setGateWayId(deviceInfo.getGateWayId());
         deviceBind.setDeviceType(deviceInfo.getDeviceType());
 
+        // 所属学校
         String schoolInfoOid = param.getSchoolInfoOid();
         Organization schoolInfo = organizationDao.findTopByOid(schoolInfoOid);
         deviceBind.setSchoolInfo(schoolInfo);
 
+        // 所属商户
         String shopInfoOid = param.getShopInfoOid();
         Organization shopInfo = organizationDao.findTopByOid(shopInfoOid);
         deviceBind.setShopInfo(shopInfo);
 
+        // 所属区域
         String areaId = param.getAreaId();
         Area area = areaDao.findTopById(areaId);
         deviceBind.setArea(area);
 
         deviceBindDao.save(deviceBind);
-
         return ResultContent.buildSuccess();
     }
 
@@ -171,20 +173,10 @@ public class DeviceBindServiceImpl extends SuperService implements DeviceBindSer
     public ResultContent<Page<DeviceBindModel>> page(DeviceBindSearch param, Pageable pageable) {
         // 找出用户所有商户oid集合
         List<String> shopOids = new ArrayList<String>();
-        if (CommonUtil.booleanIsTrue(param.getIsAllBusinessMain())) {
-            // 查询当前用户所有的商户信息
-            List<Organization> orgs = organizationService.getUserAllOrgs(getCurrentUserId(), AuthType.BusinessMain);
-            if (ObjectUtils.isNotEmpty(orgs)) {
-                shopOids = orgs.stream().map(it -> it.getOid()).collect(Collectors.toList());
-            }
-        } else {
-            if (StringUtils.isNotEmpty(param.getShopInfoOid())) {
-                shopOids.add(param.getShopInfoOid());
-            }
+        // 前端传入的筛选商户oid
+        if (StringUtils.isNotEmpty(param.getShopInfoOid())) {
+            shopOids.add(param.getShopInfoOid());
         }
-//        if (ObjectUtils.isEmpty(shopOids)) {
-//            return ResultContent.buildFail("请选择查询商户或所有的");
-//        }
         String oid = getCurrentOid();
         Organization organization = organizationDao.findTopByOid(oid);
         if (ObjectUtils.isNotEmpty(organization)) {