| package com.xzx.gc.user.service; | 
|   | 
| import cn.hutool.core.collection.CollUtil; | 
| import com.xzx.gc.entity.ConfigInfo; | 
| import com.xzx.gc.entity.CoreSetMoney; | 
| import com.xzx.gc.user.mapper.AccountMapper; | 
| import com.xzx.gc.user.mapper.ConfigMapper; | 
| import com.xzx.gc.user.mapper.OtherUserMapper; | 
| import com.xzx.gc.util.DoubleUtil; | 
| import org.apache.commons.lang3.StringUtils; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.stereotype.Service; | 
| import org.springframework.transaction.annotation.Transactional; | 
|   | 
| import java.math.BigDecimal; | 
| import java.util.List; | 
| import java.util.Map; | 
|   | 
| @Service | 
| @Transactional | 
| public class ConfigService { | 
|     @Autowired | 
|     private ConfigMapper configMapper; | 
|   | 
|     @Autowired | 
|     private OtherUserMapper otherUserMapper; | 
|   | 
|     @Autowired | 
|     private AccountMapper accountMapper; | 
|   | 
|   | 
|     public ConfigInfo findByCode(String typeCode) { | 
|         ConfigInfo configInfo=new ConfigInfo(); | 
|         configInfo.setConfigTypeCode(typeCode); | 
|         List<ConfigInfo> list = configMapper.select(configInfo); | 
|         if(CollUtil.isNotEmpty(list)){ | 
|             return list.get(0); | 
|         } | 
|         return  null; | 
|     } | 
|   | 
|     public List<ConfigInfo> findByGroup(String group) { | 
|         ConfigInfo configInfo=new ConfigInfo(); | 
|         configInfo.setConfigGroup(group); | 
|         List<ConfigInfo> select = configMapper.select(configInfo); | 
|         return select; | 
|     } | 
|   | 
|   | 
|     public void updateMoneySetting(CoreSetMoney money) { | 
|         if (!StringUtils.isEmpty(money.getAgentPrice())) { | 
|             configMapper.updateAgentPrice(money); | 
|         } | 
|         if (!StringUtils.isEmpty(money.getTimeInterval())) { | 
|             configMapper.updateTimeInterval(money); | 
|         } | 
|         if (!StringUtils.isEmpty(money.getStartTime())) { | 
|             configMapper.updateStratTime(money); | 
|         } | 
|         if (!StringUtils.isEmpty(money.getEndTime())) { | 
|             configMapper.updateEndTime(money); | 
|         } | 
|         if (!StringUtils.isEmpty(money.getOverdrawPrice())) { | 
|             Map<String, Object> m = configMapper.queryOverdrawPrice(); | 
|             //String limitPrice = m.get("configValue").toString(); | 
|             if(null!=m){ | 
|                 List<String> orderIds = otherUserMapper.queryRKOrderIds(m.get("configValue").toString(), "1"); | 
|                 if (null != orderIds && orderIds.size() > 0) { | 
|                     if (money.getOverdrawPrice().equals(m.get("configValue").toString())) { | 
|                         // 需要更新所有account表的透支额度,但是不更新已经修改过的用户额度 | 
|                         if(null!=money.getWarehousingPrice()){ | 
|                             money.setWarehousingPrice(DoubleUtil.roundTwo(money.getWarehousingPrice())); | 
|                         } | 
|                         if(null!=money.getOverdrawPrice()){ | 
|                             money.setOverdrawPrice(DoubleUtil.roundTwo(money.getOverdrawPrice())); | 
|   | 
|                         } | 
|                         configMapper.updateOverdrawPrice(money); | 
|                         accountMapper.updateAccountOverdrawPrice(money.getOverdrawPrice(), m.get("configValue").toString(), orderIds, null); | 
|                     } else { | 
|                         money.setWarehousingPrice(DoubleUtil.roundTwo(money.getWarehousingPrice())); | 
|                         money.setOverdrawPrice(DoubleUtil.roundTwo(money.getOverdrawPrice())); | 
|                         configMapper.updateOverdrawPrice(money); | 
|                         accountMapper.updateAccountOverdrawPrice(money.getOverdrawPrice(), m.get("configValue").toString(), orderIds, "1"); | 
|   | 
|                     } | 
|                 } | 
|             } | 
|   | 
|   | 
|   | 
|         } | 
|         if (!StringUtils.isEmpty(money.getWarehousingPrice())) { | 
|             Map<String, Object> m = configMapper.queryWarehousingPrice(); | 
|             List<String> orderIds = otherUserMapper.queryRKOrderIds(m.get("configValue").toString(), null); | 
|             if (null != orderIds && orderIds.size() > 0) { | 
|                 if (money.getOverdrawPrice().equals(m.get("configValue").toString())) { | 
|                     money.setWarehousingPrice(DoubleUtil.roundTwo(money.getWarehousingPrice())); | 
|                     money.setOverdrawPrice(DoubleUtil.roundTwo(money.getOverdrawPrice())); | 
|                     configMapper.updateWarehousingPrice(money); | 
|                     accountMapper.updateAccountWarehousingPrice(money.getWarehousingPrice(), m.get("configValue").toString(), orderIds, null); | 
|   | 
|                 } else { | 
|                     money.setWarehousingPrice(DoubleUtil.roundTwo(money.getWarehousingPrice())); | 
|                     money.setOverdrawPrice(DoubleUtil.roundTwo(money.getOverdrawPrice())); | 
|                     configMapper.updateWarehousingPrice(money); | 
|                     accountMapper.updateAccountWarehousingPrice(money.getWarehousingPrice(), m.get("configValue").toString(), orderIds, "1"); | 
|   | 
|                 } | 
|             } | 
|   | 
|   | 
|         } | 
|         if (!StringUtils.isEmpty(money.getRechargePrice())) { | 
|             configMapper.updateRechargePrice(money); | 
|         } | 
|   | 
|         if (!StringUtils.isEmpty(money.getOrderTimeout())) { | 
|             configMapper.updateOrderTimeout(money); | 
|         } | 
|         if (!StringUtils.isEmpty(money.getOrderTotal())) { | 
|             configMapper.updateOrderTotal(money); | 
|         } | 
|         if (!StringUtils.isEmpty(money.getOrderViewNum())) { | 
|             BigDecimal ovN = new BigDecimal(money.getOrderViewNum()); | 
|             if(ovN.compareTo(BigDecimal.ZERO)==0){ | 
|                 configMapper.updateOrderViewNum(money); | 
|   | 
|             }else if(ovN.compareTo(BigDecimal.ZERO)==1){ | 
|                 if(null!=money.getOrderTotal()&&!"".equals(money.getOrderTotal())){ | 
|                     money.setOrderViewNum(money.getOrderTotal()); | 
|                     configMapper.updateOrderViewNum(money); | 
|                 } | 
|   | 
|   | 
|   | 
|             } | 
|         } | 
|     } | 
|   | 
|   | 
| } |