TRX 1 год назад
Родитель
Сommit
44b51aae33
14 измененных файлов с 440 добавлено и 13 удалено
  1. 37 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/PayChannelConfigModel.java
  2. 33 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/PayChannelConfigParam.java
  3. 28 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/PayChannelConfigSearch.java
  4. 77 0
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/projectAbout/PayChannelConfigController.java
  5. 5 0
      FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/BaseImpl.java
  6. 0 4
      FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/payment/impl/ExpenseFlowDaoImpl.java
  7. 19 0
      FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/projectAbout/PayChannelConfigDao.java
  8. 19 0
      FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/projectAbout/extend/PayChannelConfigDaoExtend.java
  9. 63 0
      FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/projectAbout/impl/PayChannelConfigDaoImpl.java
  10. 0 4
      FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/projectAbout/impl/ProjectExcelTemplateDaoImpl.java
  11. 0 4
      FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/school/impl/DeviceBindDaoImpl.java
  12. 30 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/projectAbout/PayChannelConfig.java
  13. 4 0
      FullCardServer/src/main/java/com/zhongshu/card/server/core/service/base/SuperService.java
  14. 125 0
      FullCardServer/src/main/java/com/zhongshu/card/server/core/service/projectAbout/ProjectChannelConfigService.java

+ 37 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/PayChannelConfigModel.java

@@ -0,0 +1,37 @@
+package com.zhongshu.card.client.model.projectAbout;
+
+import com.github.microservice.types.payment.PaymentChannelType;
+import com.zhongshu.card.client.model.base.SuperModel;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 项目的 支付渠道配置模型
+ *
+ * @author TRX
+ * @date 2024/9/27
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PayChannelConfigModel extends SuperModel {
+    @Schema(description = "支付产品名称")
+    private String name;
+
+    @Schema(description = "支付类型")
+    private PaymentChannelType paymentChannelType;
+
+    private String paymentChannelTypeStr;
+
+    public String getPaymentChannelTypeStr() {
+        if (paymentChannelType != null) {
+            return paymentChannelType.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "汇率说明")
+    private String rateMark;
+}

+ 33 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/PayChannelConfigParam.java

@@ -0,0 +1,33 @@
+package com.zhongshu.card.client.model.projectAbout;
+
+import com.github.microservice.types.payment.PaymentChannelType;
+import com.zhongshu.card.client.model.base.SuperParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 项目的 支付渠道配置模型
+ *
+ * @author TRX
+ * @date 2024/9/27
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PayChannelConfigParam extends SuperParam {
+
+    @NotEmpty
+    @Schema(description = "支付产品名称")
+    private String name;
+
+    @NotNull
+    @Schema(description = "支付类型")
+    private PaymentChannelType paymentChannelType;
+
+    @Schema(description = "汇率说明")
+    private String rateMark;
+}

+ 28 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/PayChannelConfigSearch.java

@@ -0,0 +1,28 @@
+package com.zhongshu.card.client.model.projectAbout;
+
+import com.github.microservice.types.payment.PaymentChannelType;
+import com.zhongshu.card.client.model.base.SuperSearch;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 项目的 支付渠道配置模型
+ *
+ * @author TRX
+ * @date 2024/9/27
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PayChannelConfigSearch extends SuperSearch {
+    @Schema(description = "支付产品名称")
+    private String name;
+
+    @Schema(description = "支付类型")
+    private PaymentChannelType paymentChannelType;
+
+    @Schema(description = "汇率说明")
+    private String rateMark;
+}

+ 77 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/projectAbout/PayChannelConfigController.java

@@ -0,0 +1,77 @@
+package com.zhongshu.card.server.core.controller.projectAbout;
+
+import com.github.microservice.auth.security.annotations.ResourceAuth;
+import com.github.microservice.auth.security.type.AuthType;
+import com.github.microservice.net.ResultContent;
+import com.zhongshu.card.client.model.base.IDParam;
+import com.zhongshu.card.client.model.projectAbout.ProjectExcelTemplateModel;
+import com.zhongshu.card.client.model.projectAbout.ProjectExcelTemplateParam;
+import com.zhongshu.card.client.model.projectAbout.ProjectExcelTemplateQuery;
+import com.zhongshu.card.client.model.projectAbout.ProjectExcelTemplateSearch;
+import com.zhongshu.card.server.core.service.projectAbout.ProjectExcelTemplateService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.web.PageableDefault;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+ * 项目的 excel模版 配置
+ *
+ * @author TRX
+ * @date 2024/7/26
+ */
+@RestController
+@RequestMapping("/project/payChannelConfig")
+@Tag(name = "项目-excel模版")
+public class PayChannelConfigController {
+
+    @Autowired
+    ProjectExcelTemplateService projectExcelTemplateService;
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "保存信息(添加、编辑)", description = "保存信息")
+    @RequestMapping(value = "saveProjectExcelTemplate", method = {RequestMethod.POST})
+    public ResultContent saveProjectExcelTemplate(@RequestBody @Valid ProjectExcelTemplateParam param) {
+        return projectExcelTemplateService.saveProjectExcelTemplate(param);
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "列表列表-分页查询)", description = "列表列表-分页查询")
+    @RequestMapping(value = {"page"}, method = {RequestMethod.POST})
+    public ResultContent<Page<ProjectExcelTemplateModel>> page(
+            @Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable,
+            @Parameter(required = false) ProjectExcelTemplateSearch param) {
+        return projectExcelTemplateService.page(param, pageable);
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "删除数据", description = "删除数据")
+    @RequestMapping(value = "deleteData", method = {RequestMethod.POST})
+    public ResultContent deleteData(@RequestBody @Valid IDParam param) {
+        return projectExcelTemplateService.deleteData(param.getId());
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "得到详情", description = "得到详情")
+    @RequestMapping(value = "getDetail", method = {RequestMethod.POST})
+    public ResultContent getDetail(@RequestBody @Valid IDParam param) {
+        return projectExcelTemplateService.getDetail(param.getId());
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "根据标记得到模版数据", description = "根据标记得到模版数据")
+    @RequestMapping(value = "getDetailByMark", method = {RequestMethod.POST})
+    public ResultContent<ProjectExcelTemplateModel> getDetailByMark(@RequestBody @Valid ProjectExcelTemplateQuery param) {
+        return projectExcelTemplateService.getDetailByMark(param);
+    }
+
+}

+ 5 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/BaseImpl.java

@@ -1,6 +1,7 @@
 package com.zhongshu.card.server.core.dao;
 
 import com.zhongshu.card.client.model.base.SuperSearch;
+import com.zhongshu.card.server.core.util.CommonUtil;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.mongodb.core.query.Criteria;
@@ -36,6 +37,10 @@ public abstract class BaseImpl {
     public Criteria buildCriteriaNotOid(SuperSearch param) {
         Criteria criteria = new Criteria();
         criteria.and("isDelete").is(Boolean.FALSE);
+        // 时间
+        if (!CommonUtil.longIsEmpty(param.getStartTime()) && !CommonUtil.longIsEmpty(param.getEndTime())) {
+            criteria.and("createTime").gte(param.getStartTime()).and("createTime").lte(param.getEndTime());
+        }
         return criteria;
     }
 

+ 0 - 4
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/payment/impl/ExpenseFlowDaoImpl.java

@@ -82,10 +82,6 @@ public class ExpenseFlowDaoImpl extends BaseImpl implements ExpenseFlowDaoExtend
             criteria.and("isPaySuccess").is(param.getIsPaySuccess());
         }
 
-        if (!CommonUtil.longIsEmpty(param.getStartTime()) && !CommonUtil.longIsEmpty(param.getEndTime())) {
-            criteria.and("createTime").gte(param.getStartTime()).and("createTime").lte(param.getEndTime());
-        }
-
         // 项目
         if (StringUtils.isNotEmpty(param.getProjectOid())) {
             criteria.and("projectOid").is(param.getProjectOid());

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

@@ -0,0 +1,19 @@
+package com.zhongshu.card.server.core.dao.projectAbout;
+
+import com.github.microservice.components.data.mongo.mongo.dao.MongoDao;
+import com.github.microservice.types.payment.PaymentChannelType;
+import com.zhongshu.card.server.core.dao.projectAbout.extend.PayChannelConfigDaoExtend;
+import com.zhongshu.card.server.core.dao.projectAbout.extend.ProjectExcelTemplateDaoExtend;
+import com.zhongshu.card.server.core.domain.projectAbout.PayChannelConfig;
+import com.zhongshu.card.server.core.domain.projectAbout.ProjectExcelTemplate;
+
+/**
+ * 项目关联的 支付配置
+ */
+public interface PayChannelConfigDao extends MongoDao<PayChannelConfig>, PayChannelConfigDaoExtend {
+
+    PayChannelConfig findTopById(String id);
+
+    PayChannelConfig findTopByProjectOidAndPaymentChannelType(String projectOid, PaymentChannelType paymentChannelType);
+
+}

+ 19 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/projectAbout/extend/PayChannelConfigDaoExtend.java

@@ -0,0 +1,19 @@
+package com.zhongshu.card.server.core.dao.projectAbout.extend;
+
+import com.zhongshu.card.client.model.projectAbout.PayChannelConfigSearch;
+import com.zhongshu.card.client.model.projectAbout.ProjectExcelTemplateSearch;
+import com.zhongshu.card.server.core.domain.projectAbout.PayChannelConfig;
+import com.zhongshu.card.server.core.domain.projectAbout.ProjectExcelTemplate;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+
+/**
+ * @Author TRX
+ * @CreateDate: 2023/7/7
+ * @Version: 1.0
+ */
+public interface PayChannelConfigDaoExtend {
+
+    Page<PayChannelConfig> page(Pageable pageable, PayChannelConfigSearch param);
+
+}

+ 63 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/projectAbout/impl/PayChannelConfigDaoImpl.java

@@ -0,0 +1,63 @@
+package com.zhongshu.card.server.core.dao.projectAbout.impl;
+
+import com.github.microservice.components.data.mongo.mongo.helper.DBHelper;
+import com.zhongshu.card.client.model.projectAbout.PayChannelConfigSearch;
+import com.zhongshu.card.client.model.projectAbout.ProjectExcelTemplateSearch;
+import com.zhongshu.card.server.core.dao.BaseImpl;
+import com.zhongshu.card.server.core.dao.projectAbout.extend.PayChannelConfigDaoExtend;
+import com.zhongshu.card.server.core.dao.projectAbout.extend.ProjectExcelTemplateDaoExtend;
+import com.zhongshu.card.server.core.domain.projectAbout.PayChannelConfig;
+import com.zhongshu.card.server.core.domain.projectAbout.ProjectExcelTemplate;
+import com.zhongshu.card.server.core.util.CommonUtil;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.regex.Pattern;
+
+/**
+ * @Author TRX
+ * @CreateDate: 2023/4/12
+ * @Version: 1.0
+ */
+public class PayChannelConfigDaoImpl extends BaseImpl implements PayChannelConfigDaoExtend {
+
+    @Autowired
+    private DBHelper dbHelper;
+
+    @Override
+    public Page<PayChannelConfig> page(Pageable pageable, PayChannelConfigSearch param) {
+        Criteria criteria = buildCriteriaNotOid(param);
+
+        if (ObjectUtils.isNotEmpty(param.getProjectOid())) {
+            criteria.and("projectOid").is(param.getProjectOid());
+        }
+
+        if (param.getPaymentChannelType() != null) {
+            criteria.and("paymentChannelType").is(param.getPaymentChannelType());
+        }
+
+        // 模糊搜索
+        List<Criteria> criterias = new ArrayList<>();
+        if (StringUtils.isNotEmpty(param.getName())) {
+            Pattern pattern = Pattern.compile("^.*" + param.getName() + ".*$");
+            criterias.add(Criteria.where("name").is(pattern));
+        }
+        if (!CollectionUtils.isEmpty(criterias)) {
+            criteria.andOperator(criterias.toArray(new Criteria[]{}));
+        }
+        Sort sort = buildSort(param);
+        Query query = Query.query(criteria);
+        query.with(sort);
+        return dbHelper.pages(query, pageable, PayChannelConfig.class);
+    }
+
+}

+ 0 - 4
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/projectAbout/impl/ProjectExcelTemplateDaoImpl.java

@@ -45,10 +45,6 @@ public class ProjectExcelTemplateDaoImpl extends BaseImpl implements ProjectExce
             criteria.and("mark").is(param.getMark());
         }
 
-        if (!CommonUtil.longIsEmpty(param.getStartTime()) && !CommonUtil.longIsEmpty(param.getEndTime())) {
-            criteria.and("createTime").gte(param.getStartTime()).and("createTime").lte(param.getEndTime());
-        }
-
         Sort sort = buildSort(param);
         Query query = Query.query(criteria);
         query.with(sort);

+ 0 - 4
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/school/impl/DeviceBindDaoImpl.java

@@ -66,10 +66,6 @@ public class DeviceBindDaoImpl extends BaseImpl implements DeviceBindDaoExtend {
         if (ObjectUtils.isNotEmpty(param.getShopInfoOids())) {
             criteria.and("shopInfoOid").in(param.getShopInfoOids());
         }
-        // 时间范围
-        if (!CommonUtil.longIsEmpty(param.getStartTime()) && !CommonUtil.longIsEmpty(param.getEndTime())) {
-            criteria.and("createTime").gte(param.getStartTime()).and("createTime").lte(param.getEndTime());
-        }
 
         // 模糊搜索
         List<Criteria> criterias = new ArrayList<>();

+ 30 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/projectAbout/PayChannelConfig.java

@@ -3,7 +3,14 @@ package com.zhongshu.card.server.core.domain.projectAbout;
 import com.github.microservice.types.payment.PaymentChannelType;
 import com.github.microservice.types.payment.PaymentType;
 import com.zhongshu.card.server.core.domain.base.SuperMain;
+import com.zhongshu.card.server.core.domain.org.Organization;
 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.DBRef;
+import org.springframework.data.mongodb.core.mapping.Document;
 
 /**
  * 项目的  支付渠道总设置
@@ -11,9 +18,31 @@ import io.swagger.v3.oas.annotations.media.Schema;
  * @author TRX
  * @date 2024/9/27
  */
+@Data
+@Builder
+@Document
+@AllArgsConstructor
+@NoArgsConstructor
 public class PayChannelConfig extends SuperMain {
 
-    @Schema(description = "")
+    @Schema(description = "项目信息")
+    @DBRef(lazy = true)
+    private Organization projectInfo;
+
+    @Schema(description = "项目名称")
+    private String projectName;
+
+    @Schema(description = "项目编码")
+    private String projectCode;
+
+    //-------------------------------业务信息 --------------------
+
+    @Schema(description = "支付产品名称")
+    private String name;
+
+    @Schema(description = "支付类型")
     private PaymentChannelType paymentChannelType;
 
+    @Schema(description = "汇率说明")
+    private String rateMark;
 }

+ 4 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/base/SuperService.java

@@ -263,6 +263,10 @@ public abstract class SuperService {
         Assert.hasText(param.getProjectOid(), "projectOid不能为空");
     }
 
+    public void checkSaveParamProjectOid(SuperParam param) {
+        Assert.hasText(param.getProjectOid(), "projectOid不能为空");
+    }
+
     public OperationLogsAddParam initLog(String userId) {
         return CommonUtil.initLog(request, userId);
     }

+ 125 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/projectAbout/ProjectChannelConfigService.java

@@ -0,0 +1,125 @@
+package com.zhongshu.card.server.core.service.projectAbout;
+
+import com.github.microservice.components.data.base.util.PageEntityUtil;
+import com.github.microservice.net.ResultContent;
+import com.github.microservice.net.ResultMessage;
+import com.zhongshu.card.client.model.projectAbout.PayChannelConfigModel;
+import com.zhongshu.card.client.model.projectAbout.PayChannelConfigParam;
+import com.zhongshu.card.client.model.projectAbout.PayChannelConfigSearch;
+import com.zhongshu.card.server.core.dao.org.OrganizationDao;
+import com.zhongshu.card.server.core.dao.projectAbout.PayChannelConfigDao;
+import com.zhongshu.card.server.core.domain.org.Organization;
+import com.zhongshu.card.server.core.domain.projectAbout.PayChannelConfig;
+import com.zhongshu.card.server.core.service.base.SuperService;
+import com.zhongshu.card.server.core.util.BeanUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.stereotype.Service;
+
+/**
+ * 项目的 支付配置
+ *
+ * @author TRX
+ * @date 2024/9/24
+ */
+@Slf4j
+@Service
+public class ProjectChannelConfigService extends SuperService {
+
+    @Autowired
+    OrganizationDao organizationDao;
+
+    @Autowired
+    PayChannelConfigDao payChannelConfigDao;
+
+    /**
+     * 保存信息
+     *
+     * @param param
+     * @return
+     */
+    public ResultContent savePayChannelConfig(PayChannelConfigParam param) {
+        checkSaveParamProjectOid(param);
+
+        String projectOid = param.getProjectOid();
+        Organization projectInfo = organizationDao.findTopByOid(projectOid);
+        if (ObjectUtils.isEmpty(projectInfo)) {
+            return ResultContent.buildFail(String.format("项目oid不存在:%s", projectOid));
+        }
+        PayChannelConfig entity = null;
+        PayChannelConfig nameTemp = payChannelConfigDao.findTopByProjectOidAndPaymentChannelType(projectOid, param.getPaymentChannelType());
+
+        if (ObjectUtils.isNotEmpty(param.getId())) {
+            entity = payChannelConfigDao.findTopById(param.getId());
+            if (ObjectUtils.isEmpty(entity)) {
+                return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, param.getId()));
+            }
+            if (ObjectUtils.isNotEmpty(nameTemp) && !nameTemp.getId().equals(entity.getId())) {
+                return ResultContent.buildFail(String.format("类型已存在:%s", param.getPaymentChannelType().getRemark()));
+            }
+            initUpdateEntity(entity);
+        } else {
+            if (ObjectUtils.isNotEmpty(nameTemp)) {
+                return ResultContent.buildFail(String.format("类型已存在:%s", param.getPaymentChannelType().getRemark()));
+            }
+            param.setId(null);
+            entity = new PayChannelConfig();
+            entity.setIsDelete(Boolean.FALSE);
+            initEntityNoOid(entity);
+        }
+        BeanUtils.copyProperties(param, entity);
+        entity.setProjectInfo(projectInfo);
+        entity.setProjectName(projectInfo.getName());
+        entity.setProjectCode(projectInfo.getCode());
+
+        entity.setOid(projectOid);
+        entity.setAboutOid(projectOid);
+        entity.setAboutAuthType(projectInfo.getAuthType());
+        payChannelConfigDao.save(entity);
+        return ResultContent.buildSuccess();
+    }
+
+    /**
+     * 分页列表
+     *
+     * @param param
+     * @param pageable
+     * @return
+     */
+    public ResultContent<Page<PayChannelConfigModel>> page(PayChannelConfigSearch param, Pageable pageable) {
+        initSearchParamCheckProjectOid(param);
+
+        Page<PayChannelConfig> page = payChannelConfigDao.page(pageable, param);
+        return ResultContent.buildSuccess(PageEntityUtil.concurrent2PageModel(page, this::toModel));
+    }
+
+    public ResultContent deleteData(String id) {
+        PayChannelConfig entity = payChannelConfigDao.findTopById(id);
+        if (ObjectUtils.isEmpty(entity)) {
+            return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, id));
+        }
+        payChannelConfigDao.delete(entity);
+        return ResultContent.buildSuccess();
+    }
+
+    public ResultContent getDetail(String id) {
+        PayChannelConfig entity = payChannelConfigDao.findTopById(id);
+        if (ObjectUtils.isEmpty(entity)) {
+            return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, id));
+        }
+        return ResultContent.buildSuccess(toModel(entity));
+    }
+
+    public PayChannelConfigModel toModel(PayChannelConfig entity) {
+        PayChannelConfigModel model = null;
+        if (ObjectUtils.isNotEmpty(entity)) {
+            model = new PayChannelConfigModel();
+            BeanUtils.copyProperties(entity, model);
+        }
+        return model;
+    }
+
+}