Administrator
2025-04-23 595b7935a30e84fba1bc3561d05f9d19d3e32e1f
src/main/java/com/taoke/autopay/service/impl/UserSettingServiceImpl.java
@@ -2,6 +2,7 @@
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.taoke.autopay.dto.ChannelOrderCountDTO;
import com.taoke.autopay.dto.UserSubmitKeyLimitDto;
import com.taoke.autopay.entity.OrderChannelEnum;
import com.taoke.autopay.entity.SystemConfigKeyEnum;
@@ -34,7 +35,7 @@
            limit = new ArrayList<>();
        }
        limit.sort((UserSubmitKeyLimitDto o1, UserSubmitKeyLimitDto o2) ->
                o2.getTotalCount() - o1.getTotalCount());
               o1.getOrderType()==o2.getOrderType() ? o2.getBeforeCount() - o1.getBeforeCount():o1.getOrderType() - o2.getOrderType());
        systemConfigService.setValue(SystemConfigKeyEnum.USER_SUBMIT_KEY_COUNT_LIMIT, new Gson().toJson(limit));
    }
@@ -54,21 +55,20 @@
    }
    @Override
    public int getLimitCountByTotalCount(long totalCount, OrderChannelEnum orderChannel) {
    public int getLimitCountByTotalCount(int orderType, long beforeCount, OrderChannelEnum orderChannel) {
        List<UserSubmitKeyLimitDto> list = getUserSubmitKeyCountList(true);
        if (list.size() == 0) {
        if (list.isEmpty()) {
            return Integer.MAX_VALUE;
        }
        for (UserSubmitKeyLimitDto t : list) {
            if (totalCount >= t.getTotalCount()) {
                if(orderChannel==OrderChannelEnum.cyx){
                    return t.getPerCountCyx();
                }
               else if(orderChannel==OrderChannelEnum.bps){
                    return t.getPerCountBps();
                }
               else if(orderChannel==OrderChannelEnum.unknown){
                    return t.getPerCountUnknown();
            if(t.getOrderType()!=orderType){
                continue;
            }
            if (beforeCount >= t.getBeforeCount()) {
                for(ChannelOrderCountDTO tt:t.getTodayOrderCountList()){
                    if(tt.getOrderChannel() ==orderChannel){
                        return tt.getOrderCount();
                    }
                }
                return Integer.MAX_VALUE;
            }