From 0e9b6603d4ae9d11c1fbc90257ce816c5807b8ff Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 28 十月 2022 16:55:02 +0800 Subject: [PATCH] 批量添加结算消息 --- app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornGetFrequencyConfigServiceImpl.java | 167 ++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 110 insertions(+), 57 deletions(-) diff --git a/app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornGetFrequencyConfigServiceImpl.java b/app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornGetFrequencyConfigServiceImpl.java index a2c9f1d..3679453 100644 --- a/app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornGetFrequencyConfigServiceImpl.java +++ b/app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornGetFrequencyConfigServiceImpl.java @@ -2,10 +2,21 @@ import java.lang.Exception; import javax.annotation.Resource; + +import com.yeshi.makemoney.app.entity.SystemEnum; +import com.yeshi.makemoney.app.entity.goldcorn.GoldCornGetType; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.aggregation.Aggregation; +import org.springframework.data.mongodb.core.aggregation.AggregationOperation; +import org.springframework.data.mongodb.core.aggregation.AggregationResults; import org.springframework.stereotype.Service; -import java.util.Date; + +import java.util.*; + +import org.yeshi.utils.StringUtil; +import org.yeshi.utils.TimeUtil; import org.yeshi.utils.bean.BeanUtil; -import java.util.List; + import com.yeshi.makemoney.app.dao.goldcorn.GoldCornGetFrequencyConfigDao; import com.yeshi.makemoney.app.entity.goldcorn.GoldCornGetFrequencyConfig; import com.yeshi.makemoney.app.service.inter.goldcorn.GoldCornGetFrequencyConfigService; @@ -16,71 +27,113 @@ import org.springframework.data.mongodb.core.query.Query; @Service -public class GoldCornGetFrequencyConfigServiceImpl implements GoldCornGetFrequencyConfigService{ +public class GoldCornGetFrequencyConfigServiceImpl implements GoldCornGetFrequencyConfigService { - @Resource - private GoldCornGetFrequencyConfigDao goldCornGetFrequencyConfigDao; + @Resource + private GoldCornGetFrequencyConfigDao goldCornGetFrequencyConfigDao; - @Override - public List<GoldCornGetFrequencyConfig> list(GoldCornGetFrequencyConfigQuery goldCornGetFrequencyConfigQuery, int page, int pageSize) { - DaoQuery daoQuery = new DaoQuery(); - try { - BeanUtil.copyProperties(goldCornGetFrequencyConfigQuery, daoQuery); - } catch (IllegalAccessException e) { - e.printStackTrace(); + @Override + public List<GoldCornGetFrequencyConfig> list(GoldCornGetFrequencyConfigQuery goldCornGetFrequencyConfigQuery, int page, int pageSize) { + DaoQuery daoQuery = new DaoQuery(); + daoQuery.type = goldCornGetFrequencyConfigQuery.getType(); + daoQuery.minValidateTime = goldCornGetFrequencyConfigQuery.toStartTime(); + daoQuery.maxValidateTime = goldCornGetFrequencyConfigQuery.toEndTime(); + daoQuery.start = (page - 1) * pageSize; + daoQuery.count = pageSize; + return goldCornGetFrequencyConfigDao.list(daoQuery); } - daoQuery.start=(page-1)*pageSize; - daoQuery.count=pageSize; - return goldCornGetFrequencyConfigDao.list(daoQuery); - } - @Override - public long count(GoldCornGetFrequencyConfigQuery goldCornGetFrequencyConfigQuery) { - DaoQuery daoQuery = new DaoQuery(); - try { - BeanUtil.copyProperties(goldCornGetFrequencyConfigQuery, daoQuery); - } catch (IllegalAccessException e) { - e.printStackTrace(); + @Override + public long count(GoldCornGetFrequencyConfigQuery goldCornGetFrequencyConfigQuery) { + DaoQuery daoQuery = new DaoQuery(); + daoQuery.type = goldCornGetFrequencyConfigQuery.getType(); + daoQuery.minValidateTime = goldCornGetFrequencyConfigQuery.toStartTime(); + daoQuery.maxValidateTime = goldCornGetFrequencyConfigQuery.toEndTime(); + return goldCornGetFrequencyConfigDao.count(daoQuery); } - return goldCornGetFrequencyConfigDao.count(daoQuery); - } - @Override - public GoldCornGetFrequencyConfig get(String id) { - Query query=new Query(); - query.addCriteria(Criteria.where("_id").is(id)); - return goldCornGetFrequencyConfigDao.findOne(query); - } + @Override + public GoldCornGetFrequencyConfig get(String id) { + Query query = new Query(); + query.addCriteria(Criteria.where("_id").is(id)); + return goldCornGetFrequencyConfigDao.findOne(query); + } - @Override - public void add(GoldCornGetFrequencyConfig goldCornGetFrequencyConfig) throws Exception { - //鏌ヨ涓婚敭ID鏄惁瀛樺湪 - if(goldCornGetFrequencyConfigDao.get(goldCornGetFrequencyConfig.getId())!=null){ - throw new Exception("宸插瓨鍦�"); - } + @Override + public void add(GoldCornGetFrequencyConfig goldCornGetFrequencyConfig) throws Exception { - if(goldCornGetFrequencyConfig.getCreateTime()==null){ - goldCornGetFrequencyConfig.setCreateTime(new Date()); - } - //淇濆瓨 - goldCornGetFrequencyConfigDao.save(goldCornGetFrequencyConfig); - } + if (goldCornGetFrequencyConfig.getId() == null) { + goldCornGetFrequencyConfig.setId(goldCornGetFrequencyConfig.toId()); + } - @Override - public void update(GoldCornGetFrequencyConfig goldCornGetFrequencyConfig) { - if(goldCornGetFrequencyConfig.getUpdateTime()==null){ - goldCornGetFrequencyConfig.setUpdateTime(new Date()); - } - //鏇存柊 - goldCornGetFrequencyConfigDao.updateSelective(goldCornGetFrequencyConfig); - } + //鏌ヨ涓婚敭ID鏄惁瀛樺湪 + if (goldCornGetFrequencyConfigDao.get(goldCornGetFrequencyConfig.getId()) != null) { + throw new Exception("宸插瓨鍦�"); + } - @Override - public void delete(List<String> idList) { - for (String id : idList){ - goldCornGetFrequencyConfigDao.delete(id); - } - } + if (goldCornGetFrequencyConfig.getCreateTime() == null) { + goldCornGetFrequencyConfig.setCreateTime(new Date()); + } + //淇濆瓨 + goldCornGetFrequencyConfigDao.save(goldCornGetFrequencyConfig); + } + + @Override + public void update(GoldCornGetFrequencyConfig goldCornGetFrequencyConfig) { + if (goldCornGetFrequencyConfig.getUpdateTime() == null) { + goldCornGetFrequencyConfig.setUpdateTime(new Date()); + } + //鏇存柊 + goldCornGetFrequencyConfigDao.updateSelective(goldCornGetFrequencyConfig); + } + + @Override + public void delete(List<String> idList) { + for (String id : idList) { + goldCornGetFrequencyConfigDao.delete(id); + } + } + + @Override + public GoldCornGetFrequencyConfig getConfig(SystemEnum system, GoldCornGetType type, Date time) { + DaoQuery daoQuery = new DaoQuery(); + daoQuery.maxValidateTime = time; + daoQuery.type = type; + daoQuery.system = system; + daoQuery.count = 1; + daoQuery.sortList = Arrays.asList(new Sort.Order[]{Sort.Order.desc("validateTime")}); + + + List<GoldCornGetFrequencyConfig> list = goldCornGetFrequencyConfigDao.list(daoQuery); + if (list != null && list.size() > 0) { + return list.get(0); + } + + return null; + } + + @Override + public List<GoldCornGetFrequencyConfig> listByTypes(List<GoldCornGetType> typeList, SystemEnum system, Date date) { + + Criteria[] ors = new Criteria[typeList.size()]; + for (int i = 0; i < ors.length; i++) { + ors[i] = Criteria.where("type").is(typeList.get(i)); + } + + List<AggregationOperation> list = new ArrayList<>(); + list.add(Aggregation.match(new Criteria().orOperator(ors).and("validateTime").lte(date))); + list.add(Aggregation.sort(Sort.Direction.DESC, "validateTime")); + list.add(Aggregation.group("type").first("id").as("id")); + list.add(Aggregation.lookup("goldCornGetFrequencyConfig", "id", "_id", "config")); + list.add(Aggregation.project("config")); + AggregationResults<Map> results = goldCornGetFrequencyConfigDao.aggregate(list, Map.class); + List<GoldCornGetFrequencyConfig> resultList = new ArrayList<>(); + for (Map map : results.getMappedResults()) { + List<GoldCornGetFrequencyConfig> config = (List<GoldCornGetFrequencyConfig>) map.get("config"); + resultList.addAll(config); + } + return resultList; + } } \ No newline at end of file -- Gitblit v1.8.0