| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- package com.izouma.nineth.service;
- import com.izouma.nineth.domain.SysConfig;
- import com.izouma.nineth.dto.PageQuery;
- import com.izouma.nineth.enums.SearchMode;
- import com.izouma.nineth.exception.BusinessException;
- import com.izouma.nineth.repo.SysConfigRepo;
- import com.izouma.nineth.utils.JpaUtils;
- import lombok.AllArgsConstructor;
- import org.springframework.cache.annotation.Cacheable;
- import org.springframework.data.domain.Page;
- import org.springframework.stereotype.Service;
- import javax.annotation.PostConstruct;
- import java.math.BigDecimal;
- import java.time.LocalTime;
- import java.time.format.DateTimeFormatter;
- import java.util.List;
- @Service
- @AllArgsConstructor
- public class SysConfigService {
- private SysConfigRepo sysConfigRepo;
- public Page<SysConfig> all(PageQuery pageQuery) {
- return sysConfigRepo.findAll(JpaUtils.toSpecification(pageQuery, SysConfig.class), JpaUtils.toPageRequest(pageQuery));
- }
- public BigDecimal getBigDecimal(String name) {
- return sysConfigRepo.findByName(name).map(sysConfig -> new BigDecimal(sysConfig.getValue()))
- .orElse(BigDecimal.ZERO);
- }
- public LocalTime getTime(String name) {
- String str = sysConfigRepo.findByName(name).map(SysConfig::getValue)
- .orElseThrow(new BusinessException("配置不存在"));
- DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm");
- return LocalTime.from(dateTimeFormatter.parse(str));
- }
- public boolean getBoolean(String name) {
- String str = sysConfigRepo.findByName(name).map(SysConfig::getValue)
- .orElseThrow(new BusinessException("配置不存在"));
- return str.equals("1");
- }
- public int getInt(String name) {
- String str = sysConfigRepo.findByName(name).map(SysConfig::getValue)
- .orElseThrow(new BusinessException("配置不存在"));
- return Integer.parseInt(str);
- }
- public String getString(String name) {
- return sysConfigRepo.findByName(name).map(SysConfig::getValue).orElse(null);
- }
- @PostConstruct
- public void init() {
- List<SysConfig> list = sysConfigRepo.findAll();
- if (list.stream().noneMatch(i -> i.getName().equals("search_mode"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("gift_gas_fee")
- .desc("转赠gas费")
- .type(SysConfig.ValueType.NUMBER)
- .value("1")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("enable_wx_pub"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("enable_wx_pub")
- .desc("使用公众号支付")
- .type(SysConfig.ValueType.BOOLEAN)
- .value("FALSE")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("enable_wx_lite"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("enable_wx_lite")
- .desc("使用小程序支付")
- .type(SysConfig.ValueType.BOOLEAN)
- .value("FALSE")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("hold_days"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("hold_days")
- .desc("持有满几天可销售")
- .type(SysConfig.ValueType.NUMBER)
- .value("1")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("default_search_mode"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("default_search_mode")
- .desc("默认搜索方式")
- .type(SysConfig.ValueType.STRING)
- .value("FULL")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("enable_sand_quick"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("enable_sand_quick")
- .desc("使用衫德h5快捷支付")
- .type(SysConfig.ValueType.BOOLEAN)
- .value("FALSE")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("order_cancel_time"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("order_cancel_time")
- .desc("订单自动取消间隔(S)")
- .type(SysConfig.ValueType.NUMBER)
- .value("210")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("pay_channel"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("pay_channel")
- .desc("支付通道")
- .type(SysConfig.ValueType.SELECT)
- .value("sandPay")
- .options("hmPay,sandPay")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("gift_days"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("gift_days")
- .desc("转赠满多少天可销售")
- .type(SysConfig.ValueType.NUMBER)
- .value("20")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("min_recharge_amount"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("min_recharge_amount")
- .desc("最小充值金额")
- .type(SysConfig.ValueType.NUMBER)
- .value("100")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("max_recharge_amount"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("max_recharge_amount")
- .desc("最大充值金额")
- .type(SysConfig.ValueType.NUMBER)
- .value("5000")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("enable_balance_pay"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("enable_balance_pay")
- .desc("使用余额支付")
- .type(SysConfig.ValueType.BOOLEAN)
- .value("0")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("min_withdraw_amount"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("min_withdraw_amount")
- .desc("最小提现金额")
- .type(SysConfig.ValueType.NUMBER)
- .value("100")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("withdraw_charge"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("withdraw_charge")
- .desc("提现手续费(%,最低)")
- .type(SysConfig.ValueType.STRING)
- .value("8,2")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("enable_withdraw"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("enable_withdraw")
- .desc("允许提现")
- .type(SysConfig.ValueType.BOOLEAN)
- .value("0")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("enable_recharge"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("enable_recharge")
- .desc("允许充值")
- .type(SysConfig.ValueType.BOOLEAN)
- .value("0")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("daily_withdraw_limit"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("daily_withdraw_limit")
- .desc("每日提现次数限制")
- .type(SysConfig.ValueType.NUMBER)
- .value("1")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("enable_wallet"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("enable_wallet")
- .desc("开启钱包功能")
- .type(SysConfig.ValueType.BOOLEAN)
- .value("0")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("realtime_settle_order"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("realtime_settle_order")
- .desc("开启订单实时结算")
- .type(SysConfig.ValueType.BOOLEAN)
- .value("0")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("wallet_enable_amount"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("wallet_enable_amount")
- .desc("开启钱包所需最小消费金额")
- .type(SysConfig.ValueType.NUMBER)
- .value("1")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("enable_auto_withdraw"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("enable_auto_withdraw")
- .desc("开启自动提现")
- .type(SysConfig.ValueType.BOOLEAN)
- .value("0")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("enable_force_withdraw"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("enable_force_withdraw")
- .desc("开启强制提现")
- .type(SysConfig.ValueType.BOOLEAN)
- .value("0")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("enable_face_auth"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("enable_face_auth")
- .desc("使用支付宝人脸实名认证")
- .type(SysConfig.ValueType.BOOLEAN)
- .value("0")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("withdraw_channel"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("withdraw_channel")
- .desc("提现通道")
- .type(SysConfig.ValueType.SELECT)
- .value("sandPay")
- .options("payEase,sandPay")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("parallel_airdrop"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("parallel_airdrop")
- .desc("并发空投")
- .type(SysConfig.ValueType.BOOLEAN)
- .value("1")
- .build());
- }
- if (list.stream().noneMatch(i -> i.getName().equals("company_collection_price"))) {
- sysConfigRepo.save(SysConfig.builder()
- .name("company_collection_price")
- .desc("企业上传藏品价格")
- .type(SysConfig.ValueType.NUMBER)
- .value("5")
- .build());
- }
- SearchMode searchMode = SearchMode.valueOf(sysConfigRepo.findByName("default_search_mode").get().getValue());
- JpaUtils.setDefaultSearchMode(searchMode);
- OrderPayService.setPayChannel(sysConfigRepo.findByName("pay_channel").get().getValue());
- }
- }
|