TRX 1 yıl önce
ebeveyn
işleme
038dedb1fa

+ 46 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/paySetting/paySetting/PayOrderSettingModel.java

@@ -0,0 +1,46 @@
+package com.zhongshu.card.client.model.paySetting.paySetting;
+
+import com.github.microservice.types.payment.PaymentType;
+import com.zhongshu.card.client.type.DataState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author TRX
+ * @date 2024/11/12
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PayOrderSettingModel {
+
+    @Schema(description = "数据ID")
+    private String id;
+
+    @Schema(description = "支付渠道")
+    private PaymentType paymentType;
+
+    @Schema(description = "名称")
+    private String name;
+
+    @Schema(description = "支付产品的图标")
+    private String logo;
+
+    private String paymentTypeStr;
+
+    public String getPaymentTypeStr() {
+        if (paymentType != null) {
+            return paymentType.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "排序")
+    private Long sort = 1l;
+
+    @Schema(description = "是否启用")
+    private DataState state = DataState.Enable;
+    
+}

+ 33 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/paySetting/paySetting/PayOrderSettingParam.java

@@ -0,0 +1,33 @@
+package com.zhongshu.card.client.model.paySetting.paySetting;
+
+import com.github.microservice.types.payment.PaymentType;
+import com.zhongshu.card.client.type.DataState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author TRX
+ * @date 2024/11/12
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PayOrderSettingParam {
+
+    @Schema(description = "数据ID")
+    private String id;
+
+    @Schema(description = "支付渠道")
+    private PaymentType paymentType;
+
+    @Schema(description = "所属用户userId")
+    private String userId;
+
+    @Schema(description = "是否启用")
+    private DataState state = DataState.Enable;
+
+    @Schema(description = "排序")
+    private Long sort = 1l;
+}

+ 17 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/projectAbout/PayOrderSettingDao.java

@@ -0,0 +1,17 @@
+package com.zhongshu.card.server.core.dao.projectAbout;
+
+import com.github.microservice.components.data.mongo.mongo.dao.MongoDao;
+import com.github.microservice.types.payment.PaymentType;
+import com.zhongshu.card.client.type.DataState;
+import com.zhongshu.card.server.core.domain.paySetting.PayOrderSetting;
+import com.zhongshu.card.server.core.domain.paySetting.ProjectPaySetting;
+
+import java.util.List;
+
+public interface PayOrderSettingDao extends MongoDao<PayOrderSetting> {
+
+    PayOrderSetting findTopById(String id);
+
+    List<PayOrderSetting> findByUserIdAndProjectOidOrderBySortAsc(String userId, String projectOid);
+
+}

+ 34 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/paySetting/PayOrderSetting.java

@@ -0,0 +1,34 @@
+package com.zhongshu.card.server.core.domain.paySetting;
+
+import com.github.microservice.types.payment.PaymentType;
+import com.zhongshu.card.client.type.DataState;
+import com.zhongshu.card.server.core.domain.base.SuperMain;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import java.util.Date;
+
+/**
+ * @author TRX
+ * @date 2024/11/12
+ */
+@Data
+@Builder
+@Document
+@AllArgsConstructor
+@NoArgsConstructor
+public class PayOrderSetting extends SuperMain {
+
+    @Schema(description = "支付渠道")
+    private PaymentType paymentType;
+
+    @Schema(description = "所属用户userId")
+    private String userId;
+
+    @Schema(description = "是否启用")
+    private DataState state = DataState.Enable;
+}

+ 64 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/paySetting/PayOrderSettingService.java

@@ -0,0 +1,64 @@
+package com.zhongshu.card.server.core.service.paySetting;
+
+import com.github.microservice.net.ResultContent;
+import com.github.microservice.types.payment.PaymentType;
+import com.zhongshu.card.client.model.paySetting.paySetting.PayOrderSettingModel;
+import com.zhongshu.card.client.type.DataState;
+import com.zhongshu.card.server.core.dao.projectAbout.PayOrderSettingDao;
+import com.zhongshu.card.server.core.dao.projectAbout.ProjectPaySettingDao;
+import com.zhongshu.card.server.core.domain.paySetting.ProjectPaySetting;
+import com.zhongshu.card.server.core.service.base.SuperService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author TRX
+ * @date 2024/11/12
+ */
+@Slf4j
+@Service
+public class PayOrderSettingService extends SuperService {
+
+    @Autowired
+    private PayOrderSettingDao payOrderSettingDao;
+
+    @Autowired
+    private ProjectPaySettingDao projectPaySettingDao;
+
+    /**
+     * 得到用户的支付服务
+     *
+     * @return
+     */
+    public ResultContent<List<PayOrderSettingModel>> getUserPayOrderSetting() {
+        String userId = getCurrentUserId();
+        String projectOid = getCurrentProjectOid();
+
+
+        return ResultContent.buildSuccess();
+    }
+
+    public List<PaymentType> getProjectPayment(String projectOid) {
+        List<PaymentType> paymentTypes = new ArrayList<PaymentType>();
+        List<ProjectPaySetting> projectPaySettings = projectPaySettingDao.findByProjectOid(projectOid);
+        if (ObjectUtils.isNotEmpty(projectPaySettings)) {
+            for (ProjectPaySetting projectPaySetting : projectPaySettings) {
+                if (projectPaySetting.getState() != DataState.Enable) {
+                    continue;
+                }
+                PaymentType channelType = projectPaySetting.getChannelType();
+//                if (channelType == PaymentType.WeChat) {
+//                    channelType = PaymentType.UserWallet;
+//                }
+                paymentTypes.add(channelType);
+            }
+        }
+        return paymentTypes;
+    }
+
+}