rk
4 小时以前 c74a6f59490cfb9a0ee37f70427739b74e7fbd58
server/services/src/main/java/com/doumee/biz/system/impl/OperationConfigBizImpl.java
@@ -9,6 +9,9 @@
import com.doumee.dao.system.model.SystemDictData;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import java.math.BigDecimal;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -46,6 +49,11 @@
        dto.setRegisterCouponGiftCount(getValue(Constants.OP_REGISTER_COUPON_GIFT_COUNT));
        dto.setRegisterCouponId(getValue(Constants.OP_REGISTER_COUPON_ID));
        dto.setRegisterGiftCouponIds(getValue(Constants.OP_REGISTER_GIFT_COUPON_IDS));
        dto.setRegisterRewardOrderCount(getValue(Constants.OP_REGISTER_REWARD_ORDER_COUNT));
        dto.setRegisterRewardAmount(fenToYuan(getValue(Constants.OP_REGISTER_REWARD_AMOUNT)));
        dto.setPlatformRewardOrderCount(getValue(Constants.OP_PLATFORM_REWARD_ORDER_COUNT));
        dto.setPlatformRewardAmount(fenToYuan(getValue(Constants.OP_PLATFORM_REWARD_AMOUNT)));
        dto.setInvoiceMonthLimit(getValue(Constants.OP_INVOICE_MONTH_LIMIT));
        return dto;
    }
@@ -73,6 +81,11 @@
        saveOrUpdate(Constants.OP_REGISTER_COUPON_GIFT_COUNT, "注册赠送-至多赠送次数", dto.getRegisterCouponGiftCount());
        saveOrUpdate(Constants.OP_REGISTER_COUPON_ID, "注册赠送-优惠券ID", dto.getRegisterCouponId());
        saveOrUpdate(Constants.OP_REGISTER_GIFT_COUPON_IDS, "新注册赠送-优惠券IDs", dto.getRegisterGiftCouponIds());
        saveOrUpdate(Constants.OP_REGISTER_REWARD_ORDER_COUNT, "注册完成订单奖励单数", dto.getRegisterRewardOrderCount());
        saveOrUpdate(Constants.OP_REGISTER_REWARD_AMOUNT, "注册完成订单奖励金额(分)", yuanToFen(dto.getRegisterRewardAmount()));
        saveOrUpdate(Constants.OP_PLATFORM_REWARD_ORDER_COUNT, "平台完成订单奖励单数", dto.getPlatformRewardOrderCount());
        saveOrUpdate(Constants.OP_PLATFORM_REWARD_AMOUNT, "平台完成订单奖励金额(分)", yuanToFen(dto.getPlatformRewardAmount()));
        saveOrUpdate(Constants.OP_INVOICE_MONTH_LIMIT, "发票开具月份限制(月)", dto.getInvoiceMonthLimit());
    }
    private String getValue(String label) {
@@ -97,6 +110,20 @@
        }
    }
    private String fenToYuan(String fen) {
        if (StringUtils.isBlank(fen)) {
            return null;
        }
        return new BigDecimal(fen).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP).toPlainString();
    }
    private String yuanToFen(String yuan) {
        if (StringUtils.isBlank(yuan)) {
            return null;
        }
        return new BigDecimal(yuan).multiply(new BigDecimal("100")).setScale(0, BigDecimal.ROUND_HALF_UP).toPlainString();
    }
    private void validate(OperationConfigDTO dto) {
        if (dto == null
                || StringUtils.isBlank(dto.getDriverDailyCancelLimit())