package com.hzs.system.enums.controller;

import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.hzs.common.core.annotation.ColumnAuthority;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.enums.*;
import com.hzs.common.core.enums.retail.ETradeMemberWhite;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.domain.EnumEntity;
import com.hzs.common.domain.serviceCharge.BdServiceCharge;
import com.hzs.common.domain.system.base.BdCountry;
import com.hzs.common.domain.system.config.BdAccount;
import com.hzs.common.domain.system.config.BdAwards;
import com.hzs.common.domain.system.config.BdDelivery;
import com.hzs.common.domain.system.config.BdGrade;
import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.common.service.ITransactionCommonService;
import com.hzs.system.base.service.IBdCountryService;
import com.hzs.system.base.service.IBdSystemConfigService;
import com.hzs.system.config.service.*;
import com.hzs.system.enums.vo.HandleBusinessEnumVO;
import com.hzs.system.sys.IMenuColumnServiceApi;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * 查询枚举的公共controller
 */
@RestController
@RequestMapping("/pub/enums")
public class EnumsController extends BaseController {

    @Autowired
    private IBdSystemConfigService iBdSystemConfigService;
    @Autowired
    private IBdAccountService iBdAccountService;
    @Autowired
    private IBdGradeService iBdGradeService;
    @Autowired
    private IBdAwardsService iBdAwardsService;
    @Autowired
    private IBdCountryService iBdCountryService;
    @Autowired
    private IBdServiceChargeService iBdServiceChargeService;
    @Autowired
    private IBdDeliveryService iBdDeliveryService;
    @Autowired
    private IBdBonusItemsService bonusItemsService;
    @Autowired
    private ITransactionCommonService iTransactionCommonService;

    @DubboReference
    IMenuColumnServiceApi iMenuColumnServiceApi;


    /**
     * 审批业务类型列表
     *
     * @return
     */
    @GetMapping("/approval-business")
    public AjaxResult approvalBusiness() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EApprovalBusiness value : EApprovalBusiness.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.APPROVAL_BUSINESS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 升级类型
     *
     * @return
     */
    @GetMapping("/upgradeType")
    public AjaxResult upgradeType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EUpgradeType value : EUpgradeType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.UPGRADE_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 撤销订单类型
     *
     * @return
     */
    @GetMapping("/cancel-the-order")
    public AjaxResult cancelTheOrder() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EApprovalBusiness value : EApprovalBusiness.values()) {
            if (value.getValue() == 233 || value.getValue() == 234) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.APPROVAL_BUSINESS));
            }

        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 考核类型
     *
     * @return
     */
    @GetMapping("/assessmentType")
    public AjaxResult AssessmentType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EAssessmentType value : EAssessmentType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ASSESSMENT_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 会员收益状态
     *
     * @return
     */
    @GetMapping("/incomeStatus")
    public AjaxResult incomeStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EIncomeStatus value : EIncomeStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.INCOME_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 审批状态列表
     *
     * @return
     */
    @GetMapping("/approval-status")
    public AjaxResult approvalStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EApproveStatus value : EApproveStatus.values()) {
            if (EApproveStatus.WAIT_SUBMIT.getValue() != value.getValue()
                    && EApproveStatus.ALREADY_SUBMIT.getValue() != value.getValue()) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.APPROVE_STATUS));
            }
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 审批状态列表
     *
     * @return
     */
    @GetMapping("/approval-status-submit")
    public AjaxResult approvalStatusSubmit() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EApproveStatus value : EApproveStatus.values()) {
            if (EApproveStatus.WAIT_SUBMIT.getValue() != value.getValue()) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.APPROVE_STATUS));
            }
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 审批状态列表
     *
     * @return
     */
    @GetMapping("/approval-status-all")
    public AjaxResult approvalStatusAll() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EApproveStatus value : EApproveStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.APPROVE_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 审批操作列表
     *
     * @return
     */
    @GetMapping("/approval-operation")
    public AjaxResult approvalOperation() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EApproveOperation value : EApproveOperation.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.APPROVE_OPERATION));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 真实奖衔（启用）
     *
     * @return
     */
    @GetMapping("/awardsList")
    public AjaxResult awardsList() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EAwards value : EAwards.values()) {
            if (value.getEnable() == EYesNo.YES.getIntValue()) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
            }
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 奖衔级别
     **/
    @GetMapping("/awardsLevelList")
    public AjaxResult awardsLevelList() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EAwardsLevel value : EAwardsLevel.values()) {
            if (value.getEnable() == EYesNo.YES.getIntValue()) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
            }
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 真实奖衔（全部）
     *
     * @return
     */
    @GetMapping("/awardsAllList")
    public AjaxResult awardsAllList() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EAwards value : EAwards.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.AWARDS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 等级
     *
     * @return
     */
    @GetMapping("/gradeList")
    public AjaxResult gradeList() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EGrade value : EGrade.values()) {
            if (value.getEnable() == EnableStatus.ENABLE.getValue()) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.GRADE));
            }
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 签呈来源列表
     *
     * @return
     */
    @GetMapping("/sign-source")
    public AjaxResult signSource() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESignSource value : ESignSource.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.SIGN_SOURCE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 签呈来源列表
     *
     * @return
     */
    @GetMapping("/sign-source-first-two")
    public AjaxResult signSourceFirstTwo() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        enumEntityList.add(new EnumEntity(ESignSource.MANAGE.getValue(), ESignSource.MANAGE.getLabel(), EnumsPrefixConstants.SIGN_SOURCE));
        enumEntityList.add(new EnumEntity(ESignSource.MEMBER.getValue(), ESignSource.MEMBER.getLabel(), EnumsPrefixConstants.SIGN_SOURCE));
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 权限类型列表
     *
     * @return
     */
    @GetMapping("/permission-type")
    public AjaxResult permissionType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPermissionType value : EPermissionType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.PERMISSION_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 伞下新增直推业绩订单类型
     *
     * @return
     */
    @GetMapping("/order-business")
    public AjaxResult orderBusiness() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EOrderBusiness value : EOrderBusiness.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ORDER_BUSINESS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 伞下新增直推业绩订单类型
     *
     * @return
     */
    @GetMapping("/orderUp-business")
    public AjaxResult orderUpBusiness() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EOrderUpBusiness value : EOrderUpBusiness.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ORDER_UP_BUSINESS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 出货相关订单类型
     *
     * @return
     */
    @GetMapping("/order-shipment")
    public AjaxResult orderShipment() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EOrderShipment value : EOrderShipment.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ORDER_SHIPMENT));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 单个批量枚举
     *
     * @return
     */
    @GetMapping("/batch-type")
    public AjaxResult batchType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EBatchType value : EBatchType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.BATCH_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 国家币种种类枚举
     *
     * @return
     */
    @GetMapping("/currency-type")
    public AjaxResult currencyType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ECurrencyType value : ECurrencyType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.CURRENCY_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 业绩类型枚举
     *
     * @return
     */
    @GetMapping("/achievement-type")
    public AjaxResult AchievementType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EAchievementType value : EAchievementType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ACHIEVEMENT_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 业绩类型枚举（会员端）
     *
     * @return
     */
    @GetMapping("/achievement-type-member")
    public AjaxResult AchievementTypeMember() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EAchievementType value : EAchievementType.values()) {
            if (value.getValue() == EAchievementType.FIRST_PURCHASE.getValue()) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ACHIEVEMENT_TYPE));
            }
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 代数枚举
     *
     * @return
     */
    @GetMapping("/algebra")
    public AjaxResult algebra() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EAlgebra value : EAlgebra.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ALGEBRA));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 直推配置取值枚举
     **/
    @GetMapping("/take-value-type")
    public AjaxResult takeValueType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ETakeValueType value : ETakeValueType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.TAKE_VALUE_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 专区枚举
     **/
    @GetMapping("/special-area")
    public AjaxResult specialArea() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESpecialArea value : ESpecialArea.values()) {
            if (value.getEnable() == EnableStatus.ENABLE.getValue()) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
            }
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 控制类型枚举
     **/
    @GetMapping("/authority-control-type")
    public AjaxResult authorityControlType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EAuthorityControlType value : EAuthorityControlType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 地区类型枚举
     **/
    @GetMapping("/areaType")
    public AjaxResult areaType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EAreaType value : EAreaType.values()) {
            if (value.getEnable() == EnableStatus.ENABLE.getValue()) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.EAREA_TYPE));
            }
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 专区枚举-消费配置专用
     **/
    @GetMapping("/special-area-consume")
    public AjaxResult specialAreaConsume() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESpecialArea value : ESpecialArea.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.SPECIAL_AREA));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 注水业绩枚举
     **/
    @GetMapping("/member-achieve")
    public AjaxResult memberAchieve() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EMemberAchieve value : EMemberAchieve.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), value.getProp(), EnumsPrefixConstants.MEMBER_ACHIEVE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 注水方式枚举
     **/
    @GetMapping("/member-watertype")
    public AjaxResult watertype() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EInfusingWaterType value : EInfusingWaterType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.INFUSING_WATER_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 统计值枚举
     **/
    @GetMapping("/statistical-value")
    public AjaxResult statisticalValue() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EStatisticalValue value : EStatisticalValue.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.STATISTICAL_VALUE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 注册权限
     **/
    @GetMapping("/registration-authority")
    public AjaxResult registrationAuthority() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ERegistrationAuthority value : ERegistrationAuthority.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.REGISTRATION_AUTHORITY));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 关系类型
     **/
    @GetMapping("/relation-type")
    public AjaxResult relationType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ERelationType value : ERelationType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.RELATION_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 级差类型
     **/
    @GetMapping("/range-type")
    public AjaxResult rangeType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ERangeType value : ERangeType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.RANGE_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 计算类型
     **/
    @GetMapping("/cal-type")
    public AjaxResult calType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ECalType value : ECalType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.CAL_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 货币种类
     **/
    @GetMapping("/account")
    public AjaxResult account() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EAccount value : EAccount.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ACCOUNT));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 账户状态（会员登录账户）
     **/
    @GetMapping("/account-status")
    public AjaxResult accountStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EAccountStatus value : EAccountStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ACCOUNT_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 活动类型
     **/
    @GetMapping("/activity-type")
    public AjaxResult activityType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EActType value : EActType.values()) {
            if (EYesNo.YES.getIntValue() == value.getEnable()) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ACT_TYPE));
            }
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 条码状态
     **/
    @GetMapping("/barcode-status")
    public AjaxResult barcodeStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EBarcodeStatus value : EBarcodeStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.BARCODE_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 会员类型
     **/
    @GetMapping("/customerTypeList")
    public AjaxResult getECustomerTypeList() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ECustomerType value : ECustomerType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.CUSTOMER_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 发货方式
     **/
    @GetMapping("/delivery-list")
    public AjaxResult deliveryList(Integer pkCountry) {
        if (pkCountry == null) {
            pkCountry = SecurityUtils.getPkCountry();
        }
        List<BdDelivery> deliveryList = iBdDeliveryService.queryList(pkCountry);

        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (BdDelivery delivery : deliveryList) {
            EDelivery value = EDelivery.getDelivery(delivery.getValue());
            if (null != value) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.DELIVERY));
            }
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 发货状态
     **/
    @GetMapping("/delivery-status")
    public AjaxResult deliveryStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EDeliveryStatus value : EDeliveryStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.DELIVERY_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 首页banner类型枚举类
     **/
    @GetMapping("/getEHomeBannerTypeList")
    public AjaxResult getEHomeBannerTypeList() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EHomeBannerType value : EHomeBannerType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.EHOME_BANNER_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 转账特殊设置枚举
     **/
    @GetMapping("/getETransferSpecialList")
    public AjaxResult getETransferSpecialList() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ETransferSpecial value : ETransferSpecial.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.EROUNDING_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 用户状态枚举
     **/
    @GetMapping("/getEUserStatusList")
    public AjaxResult getEUserStatusList() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EUserStatus value : EUserStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ENU_USER));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 钱包状态枚举
     **/
    @GetMapping("/get-sallet-status")
    public AjaxResult getEWalletStatusList() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EWalletStatus value : EWalletStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.WALLET_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 商品权限类型枚举
     **/
    @GetMapping("/getEWaresPermissionTypeList")
    public AjaxResult getEWaresPermissionTypeList() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EWaresPermissionType value : EWaresPermissionType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 是否经销商枚举类
     **/
    @GetMapping("/dealer-yes-no")
    public AjaxResult dealerYesNo() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EDealerYesNo value : EDealerYesNo.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.DEALER_YES_NO));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 系统是否枚举类
     **/
    @GetMapping("/yes-no")
    public AjaxResult yesNo() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EYesNo value : EYesNo.values()) {
            if (value.getIntValue() >= 0) {
                enumEntityList.add(new EnumEntity(value.getIntValue(), value.getLabel(), EnumsPrefixConstants.YES_NO));
            }
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 运输方式 - 会员端
     *
     * @return
     */
    @GetMapping("/transport-type")
    public AjaxResult getTransportTypeList(Integer pkCountry) {
        if (pkCountry == null) {
            pkCountry = SecurityUtils.getPkCountry();
        }
        return AjaxResult.success(iBdSystemConfigService.getTransportTypeEnumEntity(pkCountry));
    }

    /**
     * 运输方式 - 管理端
     *
     * @return
     */
    @GetMapping("/manager-transport-type")
    public AjaxResult getManagerTransportTypeList() {
        return AjaxResult.success(iBdSystemConfigService.getTransportTypeEnumEntity(SecurityUtils.getPkCountry()));
    }

    /**
     * 产品属性枚举
     *
     * @return
     */
    @GetMapping("/get-product-attr-type")
    public AjaxResult getProductAttrType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EProductAttrType value : EProductAttrType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.E_PRODUCT_ATTR_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 自动提现周期枚举
     *
     * @return
     */
    @GetMapping("/get-cycle")
    public AjaxResult getECycle() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ECycle value : ECycle.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 供应方式
     *
     * @return
     */
    @GetMapping("/supply-way")
    public AjaxResult supplyWay() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESupplyWay value : ESupplyWay.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.SUPPLY_WAY));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 预售状态
     *
     * @return
     */
    @GetMapping("/presale-status")
    public AjaxResult presaleStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPresaleStatus value : EPresaleStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.PRESALE_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 订单支付方式
     *
     * @return
     */
    @GetMapping("/order-pay-type")
    public AjaxResult OrderPayType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EOrderPayType value : EOrderPayType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ORDER_PAY_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 打印状态
     *
     * @return
     */
    @GetMapping("/print-status")
    public AjaxResult printStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPrintStatus value : EPrintStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.E_PRINT_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 产品发货渠道
     *
     * @return
     */
    @GetMapping("/get-shipping-channel")
    public AjaxResult getShippingChannel() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EShippingChannel value : EShippingChannel.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.E_SHIPPING_CHANNEL));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 查询产品所属单位
     *
     * @return
     */
    @GetMapping("get-unit")
    public AjaxResult getUnit() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EUnit value : EUnit.values()) {

            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.UNIT));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 奖金扣项
     */
    @GetMapping("get-bonus-deduct")
    public AjaxResult getBonusDeduct() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EBonusDeduct value : EBonusDeduct.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.DEDUCT));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 语言枚举
     *
     * @return
     */
    @GetMapping("/get-languages")
    public AjaxResult getELanguages() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ELanguages value : ELanguages.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), value.getLocal(), EnumsPrefixConstants.LANGUAGES));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 收益类型（云代类型）
     *
     * @return
     */
    @GetMapping("/get-cloud-type")
    public AjaxResult getECloudType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ECloudType value : ECloudType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.CLOUD_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 服务补贴
     *
     * @return
     */
    @GetMapping("get-service-type")
    public AjaxResult getServiceType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EServiceType value : EServiceType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.SERVICE_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 交款方式（充值）
     *
     * @return
     */
    @GetMapping("/get-payment-type")
    public AjaxResult getEPaymentType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPaymentType value : EPaymentType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.PAYMENT_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 审核状态（充值）
     *
     * @return
     */
    @GetMapping("/approve-recharge-status")
    public AjaxResult getEApproveRechargeStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EApproveRechargeStatus value : EApproveRechargeStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.APPROVE_RECHARGE_OPERATION));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 充值类型（充值）
     *
     * @return
     */
    @GetMapping("/get-recharge-method")
    public AjaxResult getERechargeMethod() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ERechargeMethod value : ERechargeMethod.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.RECHARGE_METHOD));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 充值操作类型（充值）
     *
     * @return
     */
    @GetMapping("/get-recharge-operation-type")
    public AjaxResult getERechargeOperationType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ERechargeOperationType value : ERechargeOperationType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.RECHARGE_OPERATION_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 充值操作类型（充值）
     *
     * @return
     */
    @GetMapping("/get-freeze-operation-type")
    public AjaxResult getFreezeOperationType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EFreezeOperationType value : EFreezeOperationType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.FREEZE_OPERATION_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 推荐类型枚举
     *
     * @return
     */
    @GetMapping("/get-bonus-type")
    public AjaxResult getEBonusType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EBonusType value : EBonusType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.BONUS_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 订单类型
     *
     * @return
     */
    @GetMapping("/order-type")
    public AjaxResult orderType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EOrderType value : EOrderType.values()) {
            if (value.getEnable() == EYesNo.YES.getIntValue()) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
            }
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 订单类型
     *
     * @return
     */
    @GetMapping("/order-type-repurchase-all")
    public AjaxResult orderTypeRepurchaseAll() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EOrderType value : EOrderType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ORDER_TYPE));
        }
        enumEntityList.add(new EnumEntity(99, "复购全部", EnumsPrefixConstants.ORDER_TYPE));
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 空单注册订单类型
     *
     * @return
     */
    @GetMapping("/empty-order-type")
    public AjaxResult emptyOrderType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        // 注册订单
        enumEntityList.add(new EnumEntity(EOrderType.REGISTER_ORDER.getValue(), EOrderType.REGISTER_ORDER.getLabel(), EnumsPrefixConstants.ORDER_TYPE));
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 查询专区
     *
     * @return
     */
    @GetMapping("/order-type-special")
    public AjaxResult orderTypeSpecial() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EOrderType eOrderType : EOrderType.getOrderTypeSpecial()) {
            enumEntityList.add(new EnumEntity(eOrderType.getValue(), eOrderType.getLabel(), EnumsPrefixConstants.ORDER_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 订单状态
     *
     * @return
     */
    @GetMapping("/order-status")
    public AjaxResult orderStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EOrderStatus value : EOrderStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ORDER_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 奖项枚举类
     **/
    @GetMapping("/bonus-items")
    public AjaxResult bonusItems() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EBonusItems value : EBonusItems.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 体系奖项枚举类
     **/
    @GetMapping("/vertex-bonus-items")
    public AjaxResult vertexBonusItems() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EVertexBonus value : EVertexBonus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 获取国家获取奖项
     *
     * @return
     */
    @GetMapping("/bonus-country")
    public AjaxResult bonusCountry() {
        List<BdBonusItemsExt> list = bonusItemsService.queryBonusItems(SecurityUtils.getPkCountry());

        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (BdBonusItemsExt bonusItemsExt : list) {
            enumEntityList.add(new EnumEntity(bonusItemsExt.getPkTransaction(), bonusItemsExt.getBonusName(), EnumsPrefixConstants.BONUS_ITEMS));
        }

        return AjaxResult.success(enumEntityList);
    }


    /**
     * 公布日期、发布日期、可提现日期 枚举
     **/
    @GetMapping("/publish-date")
    public AjaxResult publishDate() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPublishDate value : EPublishDate.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.PUBLISH_DATE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 奖结算周期枚举
     **/
    @GetMapping("/settlement-cycle")
    public AjaxResult settlementCycle() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESettlementCycle value : ESettlementCycle.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.SETTLE_PERIOD));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 收费方式枚举
     *
     * @return
     */
    @GetMapping("/get-charge-type")
    public AjaxResult getChargeType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EChargeType value : EChargeType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.CHARGE_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 交易类型
     *
     * @return
     */
    @GetMapping("/get-trade-type")
    public AjaxResult getETradeType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ETradeType value : ETradeType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.TRADE_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 证件类型枚举
     *
     * @return
     */
    @GetMapping("/get-card-type")
    public AjaxResult getECardType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ECardType value : ECardType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.CARD_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 性别枚举
     *
     * @return
     */
    @GetMapping("/get-sex")
    public AjaxResult getESex() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESex value : ESex.values()) {
            if (value.getValue() != 0) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.CARD_TYPE));
            }
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 订单来源枚举
     *
     * @author: zhang jing
     * @date: 2022/11/17 14:56
     * @param: []
     * @return: com.hzs.common.core.web.domain.AjaxResult
     **/
    @GetMapping("/get-order-source")
    public AjaxResult getEOrderSource() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EOrderSource value : EOrderSource.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ORDER_SOURCE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 是否认证枚举
     *
     * @author: zhang jing
     * @date: 2022/11/17 15:05
     * @param: []
     * @return: com.hzs.common.core.web.domain.AjaxResult
     **/
    @GetMapping("/get-yes-no-attestation")
    public AjaxResult getEYesNoAttestation() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EYesNoAttestation value : EYesNoAttestation.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.YES_NO_ATTESTATION));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 会员有效状态枚举
     *
     * @author: zhang jing
     * @date: 2022/11/17 15:05
     * @param: []
     * @return: com.hzs.common.core.web.domain.AjaxResult
     **/
    @GetMapping("/get-expirestatus")
    public AjaxResult getEExpireStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EExpireStatus value : EExpireStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 是否上传枚举
     *
     * @author: zhang jing
     * @date: 2022/11/17 15:09
     * @param: []
     * @return: com.hzs.common.core.web.domain.AjaxResult
     **/
    @GetMapping("/get-yes-no-uploads")
    public AjaxResult getEYesNoUpLoads() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EYesNoUpLoads value : EYesNoUpLoads.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.YES_NO_UPLOADS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 钱包账户状态
     *
     * @author: zhang jing
     * @date: 2022/9/30 15:38
     * @param: []
     * @return: com.hzs.common.core.web.domain.AjaxResult
     **/
    @GetMapping("/account-member-account")
    public AjaxResult getEMemberAccount() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EMemberAccount value : EMemberAccount.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.MEMBER_ACCOUNT));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 标签类型
     *
     * @return AjaxResult
     */
    @GetMapping("/label-type")
    public AjaxResult getLabelType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ELabelType value : ELabelType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.TAG_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 公告类型
     *
     * @return AjaxResult
     */
    @GetMapping("/notice-type")
    public AjaxResult getNoticeType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ENoticeType value : ENoticeType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.NOTICE_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 公告功能类型
     *
     * @return AjaxResult
     */
    @GetMapping("/notice-function-type")
    public AjaxResult getNoticeFunctionType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ENoticeFunctionType value : ENoticeFunctionType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.NOTICE_FUNCTION_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 公告网站类型
     *
     * @return AjaxResult
     */
    @GetMapping("/notice-website-type")
    public AjaxResult getNoticeWebsiteType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ENoticeWebsiteType value : ENoticeWebsiteType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.NOTICE_WEBSITE_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 公告弹窗类型
     *
     * @return AjaxResult
     */
    @GetMapping("/notice-popup-type")
    public AjaxResult getNoticePopubType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPopupType value : EPopupType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.POPUP_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 公告状态
     *
     * @return AjaxResult
     */
    @GetMapping("/notice-state")
    public AjaxResult getNoticeStateType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ENoticeState value : ENoticeState.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.NOTICE_STATE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 公告等级
     *
     * @return AjaxResult
     */
    @GetMapping("/notice-grade")
    public AjaxResult getNoticeGrade() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ENoticeGrade value : ENoticeGrade.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.NOTICE_GRADE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 公告发布位置
     *
     * @return AjaxResult
     */
    @GetMapping("/notice-location")
    public AjaxResult getNoticeLocation() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EMenu value : EMenu.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.E_MENU));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 发布位置
     **/
    @GetMapping("/position")
    public AjaxResult getEPosition() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPosition value : EPosition.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.POSITION));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 发布位置
     **/
    @GetMapping("/position-two")
    public AjaxResult getEPositionTwo() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPositionTwo value : EPositionTwo.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.POSITION_TOW));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 前端菜单列表
     *
     * @return
     */
    @GetMapping("/menu-list")
    public AjaxResult menuList() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EMenu value : EMenu.values()) {
            EnumEntity enumEntity = new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.E_MENU);

            // 处理菜单明细（二级菜单）
            List<EMenuDetail> menuDetailList = EMenuDetail.getEnumListByParent(value.getValue());
            List<EnumEntity> enumList = new ArrayList<>(menuDetailList.size());
            for (EMenuDetail eMenuDetail : menuDetailList) {

                enumList.add(new EnumEntity(eMenuDetail.getValue(), StringUtils.isNotEmpty(eMenuDetail.getLabelAlias()) ? eMenuDetail.getLabelAlias() : eMenuDetail.getLabel(), EnumsPrefixConstants.E_MENU));
            }
            enumEntity.setEnumList(enumList);

            enumEntityList.add(enumEntity);
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 启用状态列表
     *
     * @return
     */
    @GetMapping("/enable-status")
    public AjaxResult enableStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EnableStatus value : EnableStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ENABLE_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 修改免考状态枚举
     *
     * @return
     */
    @GetMapping("/free-assessment-state")
    public AjaxResult freeAssessmentState() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EFreeAssessmentState value : EFreeAssessmentState.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.EFREE_ASSESSMENT_STATE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 流程类型
     *
     * @return
     */
    @GetMapping("/process-type")
    public AjaxResult getProcessType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EProcessType value : EProcessType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.PROCESS_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 修改会员姓名枚举
     *
     * @return
     */
    @GetMapping("/modifyName")
    public AjaxResult modifyName() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EModifyName value : EModifyName.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.EMODIFY_NAME));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 修改联系方式枚举
     *
     * @return
     */
    @GetMapping("/modifyPhone")
    public AjaxResult modifyPhone() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EModifyPhone value : EModifyPhone.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.EMODIFY_NAME));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 修改收益状态枚举
     *
     * @return
     */
    @GetMapping("/profitState")
    public AjaxResult profitState() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EProfitState value : EProfitState.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.EPROFIT_STATE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 奖金收益状态
     *
     * @return
     */
    @GetMapping("/bonus-income-status")
    public AjaxResult bonusIncomeStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EBonusIncomeStatus value : EBonusIncomeStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.BONUS_INCOME_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 重置银行信息枚举
     *
     * @return
     */
    @GetMapping("/resetBank")
    public AjaxResult resetBank() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EResetBank value : EResetBank.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ERESET_BANK));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 重置密码枚举
     *
     * @return
     */
    @GetMapping("/resetPassword")
    public AjaxResult resetPassword() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EResetPassword value : EResetPassword.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ERESET_PASSWORD));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 修改登录状态枚举
     *
     * @return
     */
    @GetMapping("/signInState")
    public AjaxResult signInState() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESignInState value : ESignInState.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ESIGN_IN_STATE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 签呈类型
     *
     * @return
     */
    @GetMapping("/sign-type")
    public AjaxResult signType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESignType value : ESignType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.SIGN_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 销售类型
     *
     * @return
     */
    @GetMapping("/sale-type")
    public AjaxResult saleType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESaleType value : ESaleType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.E_SALE_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 获取等级（按国家）
     *
     * @param pkCountry 国家ID
     * @return
     */
    @GetMapping("/grade")
    public AjaxResult grade(@RequestParam(required = false) Integer pkCountry) {
        if (null == pkCountry) {
            pkCountry = SecurityUtils.getPkCountry();
        }
        // 查询国家等级列表
        List<BdGrade> gradeList = iBdGradeService.queryGradeConfigByCondition(pkCountry);
        gradeList.sort(Comparator.comparing(BdGrade::getGradeValue));

        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (BdGrade bdGrade : gradeList) {
            enumEntityList.add(new EnumEntity(bdGrade.getPkId(), bdGrade.getGradeName()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 获取奖衔（按国家）
     *
     * @param pkCountry 国家ID
     * @return
     */
    @GetMapping("/award")
    public AjaxResult award(@RequestParam(required = false) Integer pkCountry) {
        if (null == pkCountry) {
            pkCountry = SecurityUtils.getPkCountry();
        }
        // 查询国家奖衔列表
        List<BdAwards> awardList = iBdAwardsService.queryAwards(pkCountry);

        // 获取翻译内容
        Map<Integer, String> tranMap = iTransactionCommonService.enumTransactionByDBFromPkId(awardList.stream().map(BdAwards::getPkTransaction).collect(Collectors.toList()));

        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (BdAwards bdAwards : awardList) {
            enumEntityList.add(new EnumEntity(bdAwards.getPkId(), tranMap.get(bdAwards.getPkTransaction())));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 支付业务类型
     *
     * @return
     */
    @GetMapping("/pay-business-type")
    public AjaxResult payBusinessType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPayBusinessType value : EPayBusinessType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.PAY_BUSINESS_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 支付状态
     *
     * @return
     */
    @GetMapping("/pay-status")
    public AjaxResult payStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPayStatus value : EPayStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.PAY_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 售后状态
     *
     * @return
     */
    @GetMapping("/after-sale")
    public AjaxResult afterSale() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EAfterSale value : EAfterSale.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.AFTER_SALE_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 退款状态
     *
     * @return
     */
    @GetMapping("/refund-status")
    public AjaxResult refundStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ERefundStatus value : ERefundStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.REFUND_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 支付渠道
     *
     * @return
     */
    @GetMapping("/pay-channel")
    public AjaxResult payChannel() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPayChannel value : EPayChannel.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.PAY_CHANNEL));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 支付类型
     *
     * @return
     */
    @GetMapping("/pay-type")
    public AjaxResult payType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPayType value : EPayType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.PAY_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 提货类型
     *
     * @return
     */
    @GetMapping("/act-type-all")
    public AjaxResult actTypeAll() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EActType value : EActType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ACT_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 站内信类型
     *
     * @return
     */
    @GetMapping("/message-type")
    public AjaxResult internalMessageType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EInternalMessageType value : EInternalMessageType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.INTERNAL_MESSAGE_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }


    @GetMapping("/read-state")
    public AjaxResult readState() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EReadState value : EReadState.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.READ_STATE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 获取办理业务相关枚举集合
     *
     * @return
     */
    @ColumnAuthority(perms = "Member")
    @GetMapping("/handleBusinessEnum")
    public AjaxResult HandleBusinessEnum() {
        List<HandleBusinessEnumVO> handleBusinessEnumList = new ArrayList<>();
        Integer pkCountry = SecurityUtils.getPkCountry();
        for (EApprovalBusiness value : EApprovalBusiness.values()) {
            HandleBusinessEnumVO handleBusinessEnumVO = new HandleBusinessEnumVO();
            handleBusinessEnumVO.setButtonType(EButtonType.SINGLE_CHOICE.getValue());
            QueryWrapper<BdServiceCharge> queryWrapper = new QueryWrapper();
            queryWrapper.eq("PK_COUNTRY", pkCountry);
            //变更会员姓名
            if (value.getValue() == EApprovalBusiness.CHANGE_NAME.getValue()) {
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                for (EModifyName value1 : EModifyName.values()) {
                    enumEntityList1.add(new EnumEntity(value1.getValue(), value1.getLabel(), EnumsPrefixConstants.EMODIFY_NAME));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumVO.setEditTypeKey("change_name");
                handleBusinessEnumList.add(handleBusinessEnumVO);
                //变更联系方式
            } else if (value.getValue() == EApprovalBusiness.CHANGE_PHONE.getValue()) {
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                for (EModifyPhone value1 : EModifyPhone.values()) {
                    enumEntityList1.add(new EnumEntity(value1.getValue(), value1.getLabel(), EnumsPrefixConstants.EMODIFY_PHONE));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumList.add(handleBusinessEnumVO);
                handleBusinessEnumVO.setEditTypeKey("change_phone");
                //重置会员密码
            } else if (value.getValue() == EApprovalBusiness.RESET_LOGIN_PASSWORD.getValue()) {
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                for (EResetPassword value1 : EResetPassword.values()) {
                    enumEntityList1.add(new EnumEntity(value1.getValue(), value1.getLabel(), EnumsPrefixConstants.ERESET_PASSWORD));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumList.add(handleBusinessEnumVO);
                handleBusinessEnumVO.setEditTypeKey("reset_login_password");
                //实名认证
            } else if (value.getValue() == EApprovalBusiness.REAL_NAME_AUTHENTICATION.getValue()) {
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                for (EYesNoAttestation value1 : EYesNoAttestation.values()) {
                    enumEntityList1.add(new EnumEntity(value1.getValue(), value1.getLabel(), EnumsPrefixConstants.YES_NO_ATTESTATION));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumList.add(handleBusinessEnumVO);
                handleBusinessEnumVO.setEditTypeKey("real_name_authentication");
                //重置银行信息
            } else if (value.getValue() == EApprovalBusiness.RESET_BANK.getValue()) {
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                for (EResetBank value1 : EResetBank.values()) {
                    enumEntityList1.add(new EnumEntity(value1.getValue(), value1.getLabel(), EnumsPrefixConstants.ERESET_BANK));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumList.add(handleBusinessEnumVO);
                handleBusinessEnumVO.setEditTypeKey("reset_bank");
                //修改注册等级
            } else if (value.getValue() == EApprovalBusiness.CHANGE_REGISTER_GRADE.getValue()) {
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                QueryWrapper<BdGrade> queryWrapperGr = new QueryWrapper();
                queryWrapperGr.eq("PK_COUNTRY", SecurityUtils.getPkCountry());
                queryWrapperGr.orderByAsc("GRADE_VALUE");
                List<BdGrade> grList = iBdGradeService.list(queryWrapperGr);
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                for (BdGrade gr : grList) {
                    enumEntityList1.add(new EnumEntity(gr.getPkId(), gr.getGradeName(), EnumsPrefixConstants.KEY_GRADE));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumList.add(handleBusinessEnumVO);
                handleBusinessEnumVO.setEditTypeKey("change_register_grade");
                //修改结算等级
            } else if (value.getValue() == EApprovalBusiness.CHANGE_SETTLEMENT_GRADE.getValue()) {
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                QueryWrapper<BdGrade> queryWrapperGr = new QueryWrapper();
                queryWrapperGr.eq("PK_COUNTRY", SecurityUtils.getPkCountry());
                queryWrapperGr.orderByAsc("GRADE_VALUE");
                List<BdGrade> grList = iBdGradeService.list(queryWrapperGr);
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                for (BdGrade gr : grList) {
                    enumEntityList1.add(new EnumEntity(gr.getPkId(), gr.getGradeName(), EnumsPrefixConstants.KEY_GRADE));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumList.add(handleBusinessEnumVO);
                handleBusinessEnumVO.setEditTypeKey("change_settlement_grade");
                //修改奖衔
            } else if (value.getValue() == EApprovalBusiness.CHANGE_AWARDS.getValue()) {
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                QueryWrapper<BdAwards> queryWrapperAw = new QueryWrapper();
                queryWrapperAw.eq("PK_COUNTRY", SecurityUtils.getPkCountry());
                queryWrapperAw.eq("ENABLE_STATE", EnableStatus.ENABLE.getValue());
                queryWrapperAw.orderByAsc("AWARDS_VALUE");
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                List<BdAwards> list = iBdAwardsService.list(queryWrapperAw);
                for (BdAwards ba : list) {
                    enumEntityList1.add(new EnumEntity(ba.getPkId(), ba.getAwardsName(), EnumsPrefixConstants.AWARDS));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumList.add(handleBusinessEnumVO);
                handleBusinessEnumVO.setEditTypeKey("change_awards");

            } else if (value.getValue() == EApprovalBusiness.CHANGE_NATURAL_COUNTRY.getValue()) {
                //修改自然国家
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                List<BdCountry> list = iBdCountryService.list();
                for (BdCountry value1 : list) {
                    enumEntityList1.add(new EnumEntity(value1.getPkId(), value1.getName()));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumList.add(handleBusinessEnumVO);
                handleBusinessEnumVO.setEditTypeKey("change_natural_country");
                //修改登录状态
            } else if (value.getValue() == EApprovalBusiness.SIGN_IN_STATE.getValue()) {
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                for (ESignInState value1 : ESignInState.values()) {
                    enumEntityList1.add(new EnumEntity(value1.getValue(), value1.getLabel(), EnumsPrefixConstants.ESIGN_IN_STATE));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumList.add(handleBusinessEnumVO);
                handleBusinessEnumVO.setEditTypeKey("sign_in_state");
                //修改收益状态
            } else if (value.getValue() == EApprovalBusiness.PROFIT_STATE.getValue()) {
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                for (EProfitState value1 : EProfitState.values()) {
                    enumEntityList1.add(new EnumEntity(value1.getValue(), value1.getLabel(), EnumsPrefixConstants.EPROFIT_STATE));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumList.add(handleBusinessEnumVO);
                handleBusinessEnumVO.setEditTypeKey("profit_state");
                //修改钱包状态
            } else if (value.getValue() == EApprovalBusiness.WALLET_STATE.getValue()) {
                handleBusinessEnumVO.setButtonType(EButtonType.MULTIPLE_CHOICE.getValue());
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                for (EMemberAccount value1 : EMemberAccount.values()) {
                    enumEntityList1.add(new EnumEntity(value1.getValue(), value1.getLabel(), EnumsPrefixConstants.MEMBER_ACCOUNT));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumList.add(handleBusinessEnumVO);
                handleBusinessEnumVO.setEditTypeKey("wallet_state");
                //修改免考状态
            } else if (value.getValue() == EApprovalBusiness.FREE_ASSESSMENT_STATE.getValue()) {
                handleBusinessEnumVO.setButtonType(EButtonType.MULTIPLE_CHOICE.getValue());
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                for (EFreeAssessmentState value1 : EFreeAssessmentState.values()) {
                    enumEntityList1.add(new EnumEntity(value1.getValue(), value1.getLabel(), EnumsPrefixConstants.EFREE_ASSESSMENT_STATE));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumList.add(handleBusinessEnumVO);
                handleBusinessEnumVO.setEditTypeKey("free_assessment_state");
            } else if (value.getValue() == EApprovalBusiness.IS_REGION.getValue()) {
                //是否收益区域
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                for (EDealerYesNo value1 : EDealerYesNo.values()) {
                    enumEntityList1.add(new EnumEntity(value1.getValue(), value1.getLabel(), EnumsPrefixConstants.DEALER_YES_NO));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumList.add(handleBusinessEnumVO);
                handleBusinessEnumVO.setEditTypeKey("is_region");
            } else if (value.getValue() == EApprovalBusiness.IS_ACTIVATE.getValue()) {
                //是否激活
                queryWrapper.eq("TYPE", value.getValue());
                BdServiceCharge bdServiceCharge = iBdServiceChargeService.getOne(queryWrapper);
                if (StringUtils.isNotNull(bdServiceCharge)) {
                    handleBusinessEnumVO.setPkAccount(bdServiceCharge.getPkAccount().intValue());
                }
                handleBusinessEnumVO.setBusinessType(value.getValue());
                handleBusinessEnumVO.setEditTypeName(value.getLabel());
                List<EnumEntity> enumEntityList1 = new ArrayList<>();
                for (EDealerYesNo value1 : EDealerYesNo.values()) {
                    enumEntityList1.add(new EnumEntity(value1.getValue(), value1.getLabel(), EnumsPrefixConstants.DEALER_YES_NO));
                }
                handleBusinessEnumVO.setEnumEntityList(enumEntityList1);
                handleBusinessEnumList.add(handleBusinessEnumVO);
                handleBusinessEnumVO.setEditTypeKey("is_activate");
            }
        }
        //查询权限配置
        List<HandleBusinessEnumVO> handleBusinessEnumListNew = new ArrayList<>();
        Map<String, Integer> map = iMenuColumnServiceApi.queryMenuColumn("Business", SecurityUtils.getUserId()).getData();
        if (CollectionUtil.isNotEmpty(handleBusinessEnumList)) {
            if (map != null) {
                handleBusinessEnumList.forEach(itm -> {
                    if (map.get(itm.getEditTypeKey()) != null && map.get(itm.getEditTypeKey()) == 0) {
                        handleBusinessEnumListNew.add(itm);
                    }
                });
                return AjaxResult.success(handleBusinessEnumListNew);
            }
        }
        return AjaxResult.success(handleBusinessEnumList);
    }

    /**
     * 变化类型，考核业绩变化明细表
     *
     * @return
     */
    @GetMapping("/change-type")
    public AjaxResult changeType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EChangeType value : EChangeType.values()) {
            if (EYesNo.YES.getIntValue() == value.getEnable()) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.CHANGE_TYPE));
            }
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 考核状态枚举(会员端专用)
     *
     * @return
     */
    @GetMapping("/member-assess-status")
    public AjaxResult memberAssessStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EMemberAssessStatus value : EMemberAssessStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.MEMBER_ASSESS_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 考核状态枚举
     *
     * @return
     */
    @GetMapping("/assess-status")
    public AjaxResult assessStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EAssessStatus value : EAssessStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ASSESS_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 查询安置架构左上角图标展示
     *
     * @return
     */
    @GetMapping("/get-framework-type")
    public AjaxResult getFrameworkType() {
        return AjaxResult.success(EFrameworkType.getFrameworkType());
    }

    /**
     * 短信发送方式列表
     *
     * @return
     */
    @GetMapping("/sms-send-type")
    public AjaxResult smsSendType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESmsSendType value : ESmsSendType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 短信发送状态列表
     *
     * @return
     */
    @GetMapping("/sms-send-status")
    public AjaxResult smsSendStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESmsSendStatus value : ESmsSendStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 钱包冻结状态枚举
     *
     * @return
     */
    @GetMapping("/wallet-freeze-state")
    public AjaxResult walletState() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EWalletFreezeState value : EWalletFreezeState.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), value.getField(), EnumsPrefixConstants.WALLET_FREEZE_STATE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 安置位置查询
     *
     * @return
     */
    @GetMapping("/placedept")
    public AjaxResult placedept() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPlaceDept value : EPlaceDept.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.PLACE_DEPT));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 审核状态
     *
     * @return
     */
    @GetMapping("get-modify-record-status")
    public AjaxResult getModifyRecordStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EModifyRecordStatus value : EModifyRecordStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.MODIFY_RECORD_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 业务类型（站内信）
     *
     * @return
     */
    @GetMapping("/notice-business-type")
    public AjaxResult getENoticeBusinessType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ENoticeBusinessType value : ENoticeBusinessType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.NOTICE_BUSINESS_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 证件类型
     *
     * @return
     */
    @GetMapping("/id-type")
    public AjaxResult getEIdType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EIdType value : EIdType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ID_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 活动条件
     *
     * @return
     */
    @GetMapping("/get-condition")
    public AjaxResult getCondition() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ECondition value : ECondition.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.CONDITION));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 活动状态
     *
     * @return
     */
    @GetMapping("/get-activityStatus")
    public AjaxResult getActivityStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EActivityStatus value : EActivityStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ACTIVITY_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 达标状态
     *
     * @return
     */
    @GetMapping("/get-reach-state")
    public AjaxResult getReachState() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EReachState value : EReachState.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.REACH_STATE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 比率类型
     *
     * @return
     */
    @GetMapping("/get-ratio-type")
    public AjaxResult getRatioType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ERatioType value : ERatioType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.RATIO_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 日期下拉的查询条件
     *
     * @return
     */
    @GetMapping("/get-day-type")
    public AjaxResult getEDayType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EDayType value : EDayType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.DAY_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 提货来源枚举
     *
     * @return
     */
    @GetMapping("/pick-type")
    public AjaxResult pickType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPickType value : EPickType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ACT_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 数据类型(安置)
     *
     * @return
     */
    @GetMapping("/data-type")
    public AjaxResult dataType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EDadaType value : EDadaType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.DADA_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 数据类型(推荐)
     *
     * @return
     */
    @GetMapping("/recommend-data-type")
    public AjaxResult recommendDataType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ERecommendDadaType value : ERecommendDadaType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.RECOMMEND_DADA_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 复购类型
     *
     * @return
     */
    @GetMapping("/get-repurchase-type")
    public AjaxResult getRepurchaseType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ERepurchaseType value : ERepurchaseType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.REPURCHASE_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 打款状态
     *
     * @return
     */
    @GetMapping("/get-payment-status")
    public AjaxResult getPaymentStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EWithdrawStatus value : EWithdrawStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 商品类型
     *
     * @return
     */
    @GetMapping("/get-wares-type")
    public AjaxResult getWaresType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EWaresType value : EWaresType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ENU_WARES_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 点位状态
     *
     * @return
     */
    @GetMapping("/point-status")
    public AjaxResult pointStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPointStatus value : EPointStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.POINT_STATUS));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 交易配置 业务类型
     *
     * @return
     */
    @GetMapping("/business-module")
    public AjaxResult businessModule() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EBusinessModule value : EBusinessModule.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 业务扣款币种 -- 2023.11.08 运营需求，中国手续费为可选消费账户、现金账户、奖金账户
     *
     * @return
     */
    @GetMapping("/commission-account")
    public AjaxResult commissionAccount() {
        List<EnumEntity> enumEntityList = new ArrayList<>();

        // 查询国家需要使用的收货币种
        List<BdAccount> list = iBdAccountService.queryCommissionAccount(SecurityUtils.getPkCountry());
        // 获取翻译内容
        Map<Integer, String> tranMap = iTransactionCommonService.enumTransactionByDBFromPkId(list.stream().map(BdAccount::getPkTransactionKey).collect(Collectors.toList()));

        for (BdAccount bdAccount : list) {
            enumEntityList.add(new EnumEntity(bdAccount.getPkId(), tranMap.get(bdAccount.getPkTransactionKey())));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 业务体系范围
     *
     * @return
     */
    @GetMapping("/business-scope")
    public AjaxResult businessScope() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EBusinessScope value : EBusinessScope.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 正反查
     *
     * @return
     */
    @GetMapping("/up-down")
    public AjaxResult upDown() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EUpDown value : EUpDown.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 统计范围
     *
     * @return
     */
    @GetMapping("/statistics-scope")
    public AjaxResult statisticsScope() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EStatisticsScope value : EStatisticsScope.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 服务协议
     *
     * @return
     */
    @GetMapping("/service-status")
    public AjaxResult serviceStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EServiceStatus value : EServiceStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 树类型（安置、推荐）
     *
     * @return AjaxResult
     */
    @GetMapping("/tree-type")
    public AjaxResult treeType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ERealType value : ERealType.values()) {
            enumEntityList.add(new EnumEntity(value.getIntValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * EQuantityMode/EPostageMode
     *
     * @return
     */
    @GetMapping("/quantity-mode-list")
    public AjaxResult quantityModeList() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EPostageMode value : EPostageMode.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 客商类型
     *
     * @return
     */
    @GetMapping("/supply-type")
    public AjaxResult supplyType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESupplierType value : ESupplierType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.SUPPLIER_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 销售模式
     *
     * @return
     */
    @GetMapping("/sale-model")
    public AjaxResult saleModel() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESaleModel value : ESaleModel.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.SALE_MODEL));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 结算方式枚举
     **/
    @GetMapping("/settle-Type")
    public AjaxResult settleType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESettleType value : ESettleType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.SETTLE_TYPE));
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 会员续约白名单类型
     *
     * @return
     */
    @GetMapping("/agreement-white")
    public AjaxResult agreementWhite() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (EAgreementWhiteType value : EAgreementWhiteType.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 证件状态
     *
     * @return
     */
    @GetMapping("/certificate_status")
    public AjaxResult certificateStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ECertificateStatus value : ECertificateStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 商品排序
     *
     * @return
     */
    @GetMapping("/get-sort-status")
    public AjaxResult getSortStatus() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESortStatus value : ESortStatus.values()) {
            enumEntityList.add(new EnumEntity(value.getIntValue(), value.getLabel()));
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 系统类型
     *
     * @return
     */
    @GetMapping("/system-type")
    public AjaxResult systemType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESystemType value : ESystemType.values()) {
            if (EYesNo.YES.getIntValue() == value.getEnable()) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
            }
        }
        return AjaxResult.success(enumEntityList);
    }

    /**
     * 联创数据报表类型枚举
     **/
    @GetMapping("/sheetType")
    public AjaxResult sheetType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ESheetType value : ESheetType.values()) {
            if (value.getEnable() == EnableStatus.ENABLE.getValue()) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
            }
        }
        return AjaxResult.success(enumEntityList);
    }


    /**
     * 会员类型（交易配置白名单）
     *
     * @return
     */
    @GetMapping("/member-type")
    public AjaxResult memberType() {
        List<EnumEntity> enumEntityList = new ArrayList<>();
        for (ETradeMemberWhite value : ETradeMemberWhite.values()) {
            if (EYesNo.YES.getIntValue() == value.getEnable()) {
                enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
            }
        }
        return AjaxResult.success(enumEntityList);
    }

}
