From 972d3bc71115ec977dccf835fbcd148da3bcc86c Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 03 九月 2019 16:41:49 +0800 Subject: [PATCH] 统计可用的免单券数量-countUsableFreeCouponForBuy --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractAuditRecordServiceImpl.java | 202 ++++++++------------------------------------------ 1 files changed, 32 insertions(+), 170 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractAuditRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractAuditRecordServiceImpl.java index 8860463..96a24ef 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractAuditRecordServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractAuditRecordServiceImpl.java @@ -1,20 +1,18 @@ package com.yeshi.fanli.service.impl.user; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.springframework.stereotype.Service; -import org.yeshi.utils.DateUtil; +import com.google.gson.Gson; import com.yeshi.fanli.dao.mybatis.ExtractAuditRecordMapper; +import com.yeshi.fanli.dto.money.ExtractOrderStatisticDTO; import com.yeshi.fanli.entity.bus.user.ExtractAuditRecord; import com.yeshi.fanli.service.inter.user.ExtractAuditRecordService; +import com.yeshi.fanli.util.StringUtil; @Service public class ExtractAuditRecordServiceImpl implements ExtractAuditRecordService { @@ -46,8 +44,16 @@ @Override public List<ExtractAuditRecord> getMyAuditedTimeSlotList(int pageIndex, int pageSize, String key, Integer state, Long adminId, Integer days) { - return extractAuditRecordMapper.getMyAuditedTimeSlotList((pageIndex - 1) * pageSize, pageSize, key, state, - adminId, days); + List<ExtractAuditRecord> list = extractAuditRecordMapper.getMyAuditedTimeSlotList((pageIndex - 1) * pageSize, + pageSize, key, state, adminId, days); + Gson gson = new Gson(); + if (list != null) + for (ExtractAuditRecord record : list) { + if (!StringUtil.isNullOrEmpty(record.getExtraInfoStr())) { + record.setExtraInfo(gson.fromJson(record.getExtraInfoStr(), ExtractOrderStatisticDTO.class)); + } + } + return list; } @Override @@ -72,7 +78,16 @@ @Override public List<ExtractAuditRecord> getByUidList(int pageIndex, int pageSize, Long uid) { - return extractAuditRecordMapper.getByUidList((pageIndex - 1) * pageSize, pageSize, uid); + List<ExtractAuditRecord> list = extractAuditRecordMapper.getByUidList((pageIndex - 1) * pageSize, pageSize, uid); + + Gson gson = new Gson(); + if (list != null) + for (ExtractAuditRecord record : list) { + if (!StringUtil.isNullOrEmpty(record.getExtraInfoStr())) { + record.setExtraInfo(gson.fromJson(record.getExtraInfoStr(), ExtractOrderStatisticDTO.class)); + } + } + return list; } @Override @@ -92,173 +107,20 @@ @Override public List<Map<String, Object>> countAuditTotal(Integer state, Integer type, String years, String startTime, - String endTime) throws Exception{ - List<Map<String, Object>> list = extractAuditRecordMapper.countAuditTotal(state, type, years, startTime, endTime); - - if (list == null || list.size() == 0) { - return list = new ArrayList<Map<String, Object>>(); - } - - switch (type){ - case 1: // 鎸夊ぉ澶勭悊 - return dayFactory(startTime, endTime, list); - case 2: // 鎸夋湀澶勭悊 - return monthFactory(list); - case 3: - return yearFactory(list); - default: - return null; - } - } - - @Override - public List<Map<String, Object>> countExtractMoney(Integer state, Integer type, String years, String startTime, - String endTime) throws Exception{ - List<Map<String, Object>> list = extractAuditRecordMapper.countExtractMoney(state, type, years, startTime, endTime); - - if (list == null || list.size() == 0) { - return list = new ArrayList<Map<String, Object>>(); - } - - switch (type){ - case 1: // 鎸夊ぉ澶勭悊 - return dayFactory(startTime, endTime, list); - case 2: // 鎸夋湀澶勭悊 - return monthFactory(list); - case 3: - return yearFactory(list); - default: - return null; - } + String endTime) throws Exception { + return extractAuditRecordMapper.countAuditTotal(state, type, years, startTime, endTime); } @Override - public List<Map<String, Object>> countExtractApplyNumber(Integer state, Integer type, String years, String startTime, - String endTime) throws Exception{ - List<Map<String, Object>> list = extractAuditRecordMapper.countExtractApplyNumber(state, type, years, startTime, endTime); - - if (list == null || list.size() == 0) { - return list = new ArrayList<Map<String, Object>>(); - } - - switch (type){ - case 1: // 鎸夊ぉ澶勭悊 - return dayFactory(startTime, endTime, list); - case 2: // 鎸夋湀澶勭悊 - return monthFactory(list); - case 3: - return yearFactory(list); - default: - return null; - } + public List<Map<String, Object>> countExtractApplyMoney(Integer state, Integer type, String years, String startTime, + String endTime) throws Exception { + return extractAuditRecordMapper.countExtractMoney(state, type, years, startTime, endTime); } - - - public List<Map<String, Object>> dayFactory(String startTime, String endTime, List<Map<String, Object>> list) throws Exception { - - List<Map<String, Object>> listObject = new ArrayList<Map<String, Object>>(); - - if (startTime.equals(endTime)) { - - Map<String, Object> map = list.get(0); - Object total = map.get("total"); - if (total == null) { - map.put("total", 0); - } - listObject.add(map); - return listObject; - } - - String plusDay = ""; - for (int i = 0; i < 1000; i++) { - if (i == 0) { - plusDay = startTime; - } else { - plusDay = DateUtil.plusDay(i, startTime); - } - - Map<String, Object> mapObject = new HashMap<String, Object>(); - Object total = null; - - for (int j = 0; j < list.size(); j++) { - Map<String, Object> map = list.get(j); - Object createDate = map.get("showDate"); - String month = createDate.toString(); - if (plusDay.equalsIgnoreCase(month)) { - total = map.get("total"); - break; - } - } - - if (total == null) { - total = 0; - } - mapObject.put("total", total); - - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd"); - Date parseDate = sdf.parse(plusDay.toString()); - - mapObject.put("showDate", sdf2.format(parseDate)); - - listObject.add(mapObject); - - if (plusDay.equals(endTime)) { - break; // 鏃堕棿缁撴潫 - } - } - - return listObject; - } - - public List<Map<String, Object>> monthFactory(List<Map<String, Object>> list) { - - List<Map<String, Object>> listObject = new ArrayList<Map<String, Object>>(); - // 12 涓湀澶勭悊 - for (int i = 1; i <= 12; i++) { - Map<String, Object> mapObject = new HashMap<String, Object>(); - Object total = null; - - for (int j = 0; j < list.size(); j++) { - Map<String, Object> map = list.get(j); - Object createDate = map.get("showDate"); - String month = createDate.toString(); - if ((i + "").equalsIgnoreCase(month) || i == Integer.parseInt(month)) { - total = map.get("total"); - break; - } - } - - if (total == null) { - total = 0; - } - mapObject.put("total", total); - - mapObject.put("showDate", i + "鏈�"); - - listObject.add(mapObject); - } - return listObject; - } - - public List<Map<String, Object>> yearFactory(List<Map<String, Object>> list) { - - List<Map<String, Object>> listObject = new ArrayList<Map<String, Object>>(); - - for (int i = 0; i < list.size(); i++) { - Map<String, Object> map = list.get(i); - Object total = map.get("total"); - - if (total == null) { - total = 0; - } - map.put("total", total); - - listObject.add(map); - } - - return listObject; + @Override + public List<Map<String, Object>> countExtractApplyNumber(Integer state, Integer type, String years, + String startTime, String endTime) throws Exception { + return extractAuditRecordMapper.countExtractApplyNumber(state, type, years, startTime, endTime); } } -- Gitblit v1.8.0