Bläddra i källkod

任务提交:获取策略、获取所有通道接口

杜魏 4 år sedan
förälder
incheckning
cfedc44177

+ 2 - 1
common/fire-dto/src/main/java/com/fire/dto/ChannelInfo.java

@@ -9,6 +9,7 @@ import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -62,7 +63,7 @@ public class ChannelInfo {
     private String ip;
 
     @ApiModelProperty("折扣")
-    private Double discount;
+    private BigDecimal discount;
 
     @ApiModelProperty("通道类别 1:运营商 2:第三方")
     private Integer channelType;

+ 4 - 4
common/fire-dto/src/main/java/com/fire/dto/ChannelSupplier.java

@@ -45,13 +45,13 @@ public class ChannelSupplier {
     private String address;
 
     @ApiModelProperty("可用余额")
-    private Integer balance;
+    private Long balance;
 
     @ApiModelProperty("累计消费")
-    private Integer consumeAmount;
+    private Long consumeAmount;
 
     @ApiModelProperty("累计充值")
-    private Integer rechargeAmount;
+    private Long rechargeAmount;
 
     @ApiModelProperty("创建者")
     private String creator;
@@ -102,7 +102,7 @@ public class ChannelSupplier {
     private String userId;
 
     @ApiModelProperty("报警额度")
-    private Integer alertBalance;
+    private Long alertBalance;
 
     @ApiModelProperty("预留字段1")
     private String ext1;

+ 2 - 2
common/fire-dto/src/main/java/com/fire/dto/DistributeGroup.java

@@ -36,7 +36,7 @@ public class DistributeGroup {
     @ApiModelProperty("组策略")
     private Integer policy;
 
-    @ApiModelProperty("运营商 1-移动 2-电信 3-联通")
+    @ApiModelProperty("运营商 1-移动 2-联通 3-电信")
     private Integer operator;
 
     @ApiModelProperty("权重")
@@ -62,6 +62,6 @@ public class DistributeGroup {
     private Integer isDelete;
 
     @TableField(exist = false)
-    @ApiModelProperty("通道列表")
+    @ApiModelProperty("通道列表")
     private List<ChannelInfo> channelInfos;
 }

+ 1 - 0
modules/admin/src/main/java/com/fire/admin/rest/ChannelGroupRest.java

@@ -70,4 +70,5 @@ public class ChannelGroupRest {
         channelGroupService.delChanGrouAndDistGrouByChanGrouId(channelGroupId);
         return new BaseResponse();
     }
+
 }

+ 10 - 0
modules/admin/src/main/java/com/fire/admin/rest/ChannelInfoRest.java

@@ -44,6 +44,16 @@ public class ChannelInfoRest {
         }
     }
 
+    @GetMapping("/getAllChannelnfos")
+    @ApiOperation(value = "不带分页获取所有通道", notes = "get_all_channelinfos.py")
+    public BaseRestResponse getAllChannelInfos() {
+        List<ChannelInfo> channelInfos = channelInfoService.list();
+        if (channelInfos != null) {
+            return new BaseRestResponse(channelInfos);
+        }
+        return new BaseRestResponse(null);
+    }
+
     @PostMapping("/product/list/{operator}")
     @ApiOperation(value = "获取通道产品", notes = "channel_products.py")
     public BaseRestResponse getChannelProducts(@PathVariable("operator") Integer operator) {

+ 13 - 2
modules/admin/src/main/java/com/fire/admin/rest/DistributeGroupRest.java

@@ -1,6 +1,7 @@
 package com.fire.admin.rest;
 
 import com.fire.admin.service.DistributeGroupService;
+import com.fire.admin.util.EnumUtils;
 import com.fire.dto.DistributeGroup;
 import com.fire.dto.response.BaseResponse;
 import com.fire.dto.response.BaseRestResponse;
@@ -36,10 +37,20 @@ public class DistributeGroupRest {
         }
     }
 
+    @GetMapping("/getAllPolicy")
+    @ApiOperation(value = "获取所有分发策略", notes = "get_distribute_policy.py")
+    public BaseRestResponse getDistributePolicy() {
+        List<String> allDistributePolicy = EnumUtils.getAllDistributePolicy();
+        if (allDistributePolicy != null) {
+            return new BaseRestResponse(allDistributePolicy);
+        }
+        return new BaseRestResponse(null);
+    }
+
     @DeleteMapping("/delete/{distributeGroupId}")
     @ApiOperation(value = "删除分发组", notes = "delete_distributeGroup.py")
-    public BaseResponse deleteDistributeGroup(@PathVariable("distributeGroupId") Long distributeGroupId) {
-        distributeGroupService.removeDistributeGroupById(distributeGroupId);
+    public BaseResponse deleteDistributeGroup(@PathVariable("distributeGroupId") Long channelId) {
+        distributeGroupService.removeDistGroupAndChannelByChannelId(channelId);
         return new BaseResponse();
     }
 }

+ 6 - 6
modules/admin/src/main/java/com/fire/admin/service/ChannelGroupService.java

@@ -25,11 +25,11 @@ public interface ChannelGroupService extends IService<ChannelGroup> {
 
 
     /**
-    * @Description:  TODO 根据通道组的集合获取通道组id 和通道组名称,用与app  接入展示
-    * @Param: [channelGroupIds]
-    * @return: java.util.List<com.fire.dto.ChannelGroup>
-    * @Author: liuliu
-    * @Date: 2021/6/7 17:58
-    */
+     * @Description: TODO 根据通道组的集合获取通道组id 和通道组名称,用与app  接入展示
+     * @Param: [channelGroupIds]
+     * @return: java.util.List<com.fire.dto.ChannelGroup>
+     * @Author: liuliu
+     * @Date: 2021/6/7 17:58
+     */
     List<ChannelGroup> queryChannelGroup(List<Long> channelGroupIds);
 }

+ 2 - 0
modules/admin/src/main/java/com/fire/admin/service/ChannelInfoService.java

@@ -33,5 +33,7 @@ public interface ChannelInfoService extends IService<ChannelInfo> {
 
     int deleteChannelBySupplierId(Long supplierId);
 
+    int deleteChannelById(Long channelId);
+
     void setInvalid(Long channelId, Integer isValid);
 }

+ 1 - 3
modules/admin/src/main/java/com/fire/admin/service/DistributeGroupService.java

@@ -17,9 +17,7 @@ public interface DistributeGroupService extends IService<DistributeGroup> {
 
     void saveDistributeGroups(List<DistributeGroup> distributeGroup);
 
-    void removeDistributeGroupById(Long distributeGroupId);
-
-    int removeDistributeGroupByChannelGroupId(Long channelGroupId);
+    int removeDistGroupAndChannelByChannelId(Long channelGroupId);
 
     void updateDistributeGroupById(DistributeGroup distributeGroup);
 }

+ 16 - 3
modules/admin/src/main/java/com/fire/admin/service/impl/AdditionalPaymentServiceImpl.java

@@ -18,13 +18,17 @@ import com.fire.dto.CustomerInfo;
 import com.fire.dto.enums.Status;
 import com.fire.utils.date.DateUtils;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.core.RocketMQTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.messaging.support.MessageBuilder;
 import org.springframework.stereotype.Service;
 import redis.clients.jedis.JedisCluster;
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
+import static com.fire.common.constants.RocketTags.SUPPLIER_TAG;
+import static com.fire.common.constants.RocketTopic.UPDATE_TOPIC;
 import static com.fire.dto.enums.RedisKey.*;
 
 /**
@@ -41,13 +45,15 @@ public class AdditionalPaymentServiceImpl extends ServiceImpl<AdditionalPaymentM
     private RedisAmountScript redisAmountScript;
     private CustomerService customerService;
     private JedisCluster jedisCluster;
+    private RocketMQTemplate rocketMQTemplate;
 
     @Autowired
-    public AdditionalPaymentServiceImpl(AliyunOSSUtil aliyunOSSUtil, RedisAmountScript redisAmountScript, CustomerService customerService, JedisCluster jedisCluster) {
+    public AdditionalPaymentServiceImpl(AliyunOSSUtil aliyunOSSUtil, RedisAmountScript redisAmountScript, CustomerService customerService, JedisCluster jedisCluster, RocketMQTemplate rocketMQTemplate) {
         this.aliyunOSSUtil = aliyunOSSUtil;
         this.redisAmountScript = redisAmountScript;
         this.customerService = customerService;
         this.jedisCluster = jedisCluster;
+        this.rocketMQTemplate = rocketMQTemplate;
     }
 
     /**
@@ -80,6 +86,7 @@ public class AdditionalPaymentServiceImpl extends ServiceImpl<AdditionalPaymentM
             int count = this.additionalPayment(additionalPaymentDto);
             Long amount = redisAmountScript.changeAmount(SUPPLIER_AMOUNT.key(), Long.parseLong(additionalPaymentDto.getRelationId()), "add", additionalPaymentDto.getAmount().multiply(new BigDecimal(10000)).longValue(), 0L);
             if (count > 0 && ObjectUtil.isNotEmpty(amount)) {
+                rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
                 log.info("供应商加款成功,供应商编号为:【{}】,加款金额为:【{}】", additionalPaymentDto.getRelationId(), additionalPaymentDto.getAmount());
             } else {
                 // 供应商加款失败,删除该条加款记录
@@ -174,7 +181,10 @@ public class AdditionalPaymentServiceImpl extends ServiceImpl<AdditionalPaymentM
     public void updAdditionPayment(AdditionalPaymentDto additionalPaymentDto) {
 
         AdditionalPayment payment = AdditionalPayment.builder().id(additionalPaymentDto.getId()).certificate(additionalPaymentDto.getCertificate()).build();
-        baseMapper.updateById(payment);
+        int count = baseMapper.updateById(payment);
+        if (count > 0) {
+            rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
+        }
     }
 
     /**
@@ -212,7 +222,10 @@ public class AdditionalPaymentServiceImpl extends ServiceImpl<AdditionalPaymentM
             Long amount = redisAmountScript.changeAmount(SUPPLIER_AMOUNT.key(), Long.parseLong(payment.getRelationId()), "sub", payment.getAmount(), 100000000000L);
             if (ObjectUtil.isNotEmpty(amount)) {
                 // TODO 修改记录的撤销状态
-                baseMapper.updateById(payment);
+                int count = baseMapper.updateById(payment);
+                if (count > 0) {
+                    rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
+                }
                 log.info("供应商款项撤销。 供应商编号为:【{}】 撤销金额为:【{}】  剩余额度为:【{}】", payment.getRelationId(), additionalPaymentDto.getAmount(), new BigDecimal(amount).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_DOWN));
                 return payment.getRelationId().concat("_").concat(amount.toString());
             } else {

+ 3 - 4
modules/admin/src/main/java/com/fire/admin/service/impl/ChannelGroupServiceImpl.java

@@ -52,14 +52,13 @@ public class ChannelGroupServiceImpl extends ServiceImpl<ChannelGroupMapper, Cha
         lambdaQueryWrapper.like(pageParam.getGroupName() != null, ChannelGroup::getGroupName, pageParam.getGroupName())
                 .orderByDesc(ChannelGroup::getCreateTime);
         IPage<ChannelGroup> channelGroupList = baseMapper.selectPage(pageParam, lambdaQueryWrapper);
-        if (channelGroupList != null) {
+        if (ObjectUtil.isNotEmpty(channelGroupList)) {
             for (ChannelGroup channelGroup : channelGroupList.getRecords()) {
                 channelGroup.setDistributeGroups(distributeGroupService.getDistributeGroupList(channelGroup.getChannelGroupId()));
             }
             return channelGroupList;
-        } else {
-            return null;
         }
+        return null;
     }
 
     @Override
@@ -105,7 +104,7 @@ public class ChannelGroupServiceImpl extends ServiceImpl<ChannelGroupMapper, Cha
     public void delChanGrouAndDistGrouByChanGrouId(Long channelGroupId) {
         if (channelGroupId != null) {
             int channelGroupResult = baseMapper.deleteById(channelGroupId);
-            int distributeGroupResult = distributeGroupService.removeDistributeGroupByChannelGroupId(channelGroupId);
+            int distributeGroupResult = distributeGroupService.removeDistGroupAndChannelByChannelId(channelGroupId);
             if (channelGroupResult > 0 && distributeGroupResult > 0) {
                 rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
                 log.info("编号为【{}】的通道组删除成功!", channelGroupId);

+ 21 - 2
modules/admin/src/main/java/com/fire/admin/service/impl/ChannelInfoServiceImpl.java

@@ -24,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
 import redis.clients.jedis.JedisCluster;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -111,9 +112,14 @@ public class ChannelInfoServiceImpl extends ServiceImpl<ChannelInfoMapper, Chann
         if (channelInfo != null) {
             if (channelInfo.getChannelId() == null) {
                 channelInfo.setChannelId(jedisCluster.incr(GLOBAL_ID_INCR.key()));
+                channelInfo.setCreator(SecurityUtil.getUser().getUsername());
+                channelInfo.setCreateTime(new Date());
             }
-            channelInfo.setCreator(SecurityUtil.getUser().getUsername());
-            channelInfo.setCreateTime(new Date());
+
+            if (channelInfo.getDiscount() == null) {
+                channelInfo.setDiscount(new BigDecimal(0));
+            }
+
             int result = baseMapper.insert(channelInfo);
             if (result > 0) {
                 rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
@@ -168,6 +174,7 @@ public class ChannelInfoServiceImpl extends ServiceImpl<ChannelInfoMapper, Chann
             int result = baseMapper.deleteByMap(map);
             if (result > 0) {
                 rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
+                log.info("编号为【{}】的通道删除成功!", supplierId);
                 return result;
             } else {
                 return 0;
@@ -177,6 +184,18 @@ public class ChannelInfoServiceImpl extends ServiceImpl<ChannelInfoMapper, Chann
         }
     }
 
+    @Override
+    public int deleteChannelById(Long channelId) {
+        if (channelId != null) {
+            int result = baseMapper.deleteById(channelId);
+            if (result > 0) {
+                log.info("编号为【{}】的通道删除成功!", channelId);
+                return result;
+            }
+        }
+        return 0;
+    }
+
     @Override
     public void setInvalid(Long channelId, Integer isValid) {
         ChannelInfo channelInfo = ChannelInfo.builder().channelId(channelId)

+ 3 - 1
modules/admin/src/main/java/com/fire/admin/service/impl/ChannelProductServiceImpl.java

@@ -43,6 +43,9 @@ public class ChannelProductServiceImpl extends ServiceImpl<ChannelProductMapper,
         List<ChannelProductInfo> channelProductInfos = new LambdaQueryChainWrapper<>(baseMapper)
                 .eq(channelId != null, ChannelProductInfo::getChannelId, channelId).list();
         if (channelProductInfos != null) {
+            /*for (ChannelProductInfo info : channelProductInfos) {
+                info.setFacePrice(info.getFacePrice()/10000);
+            }*/
             return channelProductInfos;
         } else {
             return null;
@@ -59,7 +62,6 @@ public class ChannelProductServiceImpl extends ServiceImpl<ChannelProductMapper,
                 } else {
                     log.info("通道产品已修改为:【{}】", channelProductInfos);
                 }
-
                 info.setDiscount((new BigDecimal(info.getPrice()).divide(new BigDecimal(10000))).divide(new BigDecimal(info.getFacePrice()), 4, BigDecimal.ROUND_DOWN));
             }
 

+ 25 - 28
modules/admin/src/main/java/com/fire/admin/service/impl/DistributeGroupServiceImpl.java

@@ -47,59 +47,56 @@ public class DistributeGroupServiceImpl extends ServiceImpl<DistributeGroupMappe
 
     @Override
     public List<DistributeGroup> getDistributeGroupList(Long channelGroupId) {
-        List<DistributeGroup> distributeGroupList = new LambdaQueryChainWrapper<>(baseMapper).eq(channelGroupId != null, DistributeGroup::getChannelGroupId, channelGroupId).list();
-        if (distributeGroupList != null) {
-            return distributeGroupList;
-        } else {
-            return null;
+        if (ObjectUtil.isNotEmpty(channelGroupId)) {
+            List<DistributeGroup> distributeGroupList = new LambdaQueryChainWrapper<>(baseMapper).eq(channelGroupId != null, DistributeGroup::getChannelGroupId, channelGroupId).list();
+            if (ObjectUtil.isNotEmpty(distributeGroupList)) {
+                return distributeGroupList;
+            }
         }
+        return null;
     }
 
     @Override
     public void saveDistributeGroups(List<DistributeGroup> distributeGroups) {
         if (ObjectUtil.isNotEmpty(distributeGroups)) {
             for (DistributeGroup distributeGroup : distributeGroups) {
-                distributeGroup.setDistributeGroupId(jedisCluster.incr(GLOBAL_ID_INCR.key()));
+                if (distributeGroup.getDistributeGroupId() == null) {
+                    distributeGroup.setDistributeGroupId(jedisCluster.incr(GLOBAL_ID_INCR.key()));
+                    distributeGroup.setCreator(SecurityUtil.getUser().getUsername());
+                    distributeGroup.setCreateTime(new Date());
+                } else {
+                    distributeGroup.setUpdator(SecurityUtil.getUser().getUsername());
+                    distributeGroup.setUpdateTime(new Date());
+                }
             }
             boolean result = this.saveOrUpdateBatch(distributeGroups);
             if (result) {
                 rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
-                log.info("添加或修改的分发组是:【{}】", distributeGroups);
+                log.info("分发组是:【{}】", distributeGroups);
             }
         } else {
             throw new BaseException(Status.PARAM_ERROR.status(), Status.PARAM_ERROR.message());
         }
     }
 
-    @Override
-    public void removeDistributeGroupById(Long distributeGroupId) {
-        if (distributeGroupId != null) {
-            int result = baseMapper.deleteById(distributeGroupId);
-            if (result > 0) {
-                rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
-                log.info("编号为【{}】的分发组删除成功!", distributeGroupId);
-            }
-        } else {
-            throw new BaseException(Status.PARAM_ERROR.status(), Status.PARAM_ERROR.message());
-        }
-    }
 
     @Override
-    public int removeDistributeGroupByChannelGroupId(Long channelGroupId) {
-        if (channelGroupId != null) {
+    public int removeDistGroupAndChannelByChannelId(Long channelId) {
+        if (channelId != null) {
             Map<String, Object> map = new HashMap<>();
-            map.put("channel_group_id", channelGroupId);
-            int result = baseMapper.deleteByMap(map);
-            if (result > 0) {
+            map.put("channel_id", channelId);
+            int distResult = baseMapper.deleteByMap(map);
+            int channelResult = channelInfoService.deleteChannelById(channelId);
+            if (distResult > 0 && channelResult > 0) {
                 rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
-                log.info("编号为【{}】的分发组删除成功!", channelGroupId);
-                return result;
-            } else {
-                return 0;
+                log.info("编号为【{}】的分发组删除成功!", channelId);
+                log.info("编号为【{}】的通道删除成功!", channelId);
+                return distResult + channelResult;
             }
         } else {
             throw new BaseException(Status.PARAM_ERROR.status(), Status.PARAM_ERROR.message());
         }
+        return 0;
     }
 
     @Override

+ 7 - 6
modules/admin/src/main/java/com/fire/admin/service/impl/SupplierServiceImpl.java

@@ -30,6 +30,7 @@ import java.util.Map;
 import static com.fire.common.constants.RocketTags.SUPPLIER_TAG;
 import static com.fire.common.constants.RocketTopic.UPDATE_TOPIC;
 import static com.fire.dto.enums.RedisKey.GLOBAL_ID_INCR;
+import static com.fire.dto.enums.RedisKey.SUPPLIER_AMOUNT;
 
 /**
  * @author: admin
@@ -61,14 +62,14 @@ public class SupplierServiceImpl extends ServiceImpl<ChannelSupplierMapper, Chan
                 .orderByDesc(ChannelSupplier::getIsValid, ChannelSupplier::getBalance, ChannelSupplier::getCreateTime);
         IPage<ChannelSupplier> supplierList = baseMapper.selectPage(supplierPageParam, lambdaQueryWrapper);
 
-        if (supplierList != null) {
+        if (ObjectUtil.isNotEmpty(supplierList)) {
             for (ChannelSupplier supplier : supplierList.getRecords()) {
+                supplier.setBalance(Long.valueOf(jedisCluster.hget(SUPPLIER_AMOUNT.key(), SUPPLIER_AMOUNT.key() + supplier.getSupplierId())));
                 supplier.setBankCards(bankCardService.getBankCardList(supplier.getSupplierId(), 1));
             }
             return supplierList;
-        } else {
-            return null;
         }
+        return null;
     }
 
     @Override
@@ -108,13 +109,13 @@ public class SupplierServiceImpl extends ServiceImpl<ChannelSupplierMapper, Chan
     @Override
     public void saveSupplier(ChannelSupplier channelSupplier) {
         if (channelSupplier != null) {
-            if (channelSupplier.getSupplierId() == null) {
-                channelSupplier.setSupplierId(jedisCluster.incr(GLOBAL_ID_INCR.key()));
-            }
+            channelSupplier.setSupplierId(jedisCluster.incr(GLOBAL_ID_INCR.key()));
+
             channelSupplier.setCreator(SecurityUtil.getUser().getUsername());
             channelSupplier.setCreateTime(new Date());
             int result = baseMapper.insert(channelSupplier);
             if (result > 0) {
+                jedisCluster.hset(SUPPLIER_AMOUNT.key(), SUPPLIER_AMOUNT.key() + channelSupplier.getSupplierId(), "0");
                 rocketMQTemplate.send(UPDATE_TOPIC + ":" + SUPPLIER_TAG, MessageBuilder.withPayload(SUPPLIER_TAG).build());
                 log.info("添加的供应商是:【{}】", channelSupplier);
             }

+ 37 - 25
modules/admin/src/main/java/com/fire/admin/util/EnumUtils.java

@@ -1,6 +1,7 @@
 package com.fire.admin.util;
 
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.fire.dto.enums.DistributePolicy;
 import com.fire.dto.enums.Province;
 
 import java.util.ArrayList;
@@ -16,41 +17,52 @@ import java.util.List;
 public class EnumUtils {
 
     /**
-    * @Description:  TODO  获取所有省份的名称
-    * @Param: []
-    * @return: java.util.List<java.lang.String>
-    * @Author: liuliu
-    * @Date: 2021/5/18 15:31
-    */
-   public  static List<String> getProvinces(){
-       List<String> provinceList = new ArrayList<>();
-       for (Province value : Province.values()) {
-           String provinceName = value.getName();
-           provinceList.add(provinceName);
-       }
-       return provinceList;
-   }
-   
-   /**
-   * @Description:  TODO 通过省份名称获取省份编号
-   * @Param: [name]
-   * @return: java.lang.String
-   * @Author: liuliu
-   * @Date: 2021/5/18 15:44
-   */
+     * @Description: TODO  获取所有省份的名称
+     * @Param: []
+     * @return: java.util.List<java.lang.String>
+     * @Author: liuliu
+     * @Date: 2021/5/18 15:31
+     */
+    public static List<String> getProvinces() {
+        List<String> provinceList = new ArrayList<>();
+        for (Province value : Province.values()) {
+            String provinceName = value.getName();
+            provinceList.add(provinceName);
+        }
+        return provinceList;
+    }
+
+    /**
+     * @Description: TODO 通过省份名称获取省份编号
+     * @Param: [name]
+     * @return: java.lang.String
+     * @Author: liuliu
+     * @Date: 2021/5/18 15:44
+     */
     public static String convert(String name) {
-        if(StringUtils.isBlank(name)){
+        if (StringUtils.isBlank(name)) {
             return null;
         }
         Province[] values = Province.values();
         for (Province province : values) {
 
-            if (province.getName() .equals(name)){
+            if (province.getName().equals(name)) {
                 return province.getCode();
             }
         }
         return null;
     }
 
-
+    /**
+     * 获取所有分发策略
+     * @return
+     */
+    public static List<String> getAllDistributePolicy() {
+        List<String> policyList = new ArrayList<>();
+        for (DistributePolicy dist : DistributePolicy.values()) {
+            String policyDesc = dist.desc();
+            policyList.add(policyDesc);
+        }
+        return policyList;
+    }
 }