|
@@ -46,7 +46,6 @@ import javax.imageio.ImageIO;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.awt.image.BufferedImage;
|
|
|
import java.io.IOException;
|
|
|
-import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -413,43 +412,33 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<Order> payTypeCollect() {
|
|
|
+ public List<Map<String, Object>> payTypeCollect() {
|
|
|
QueryWrapper<Order> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.select("sum(money) as money","pay_type as payType")
|
|
|
.groupBy("pay_type");
|
|
|
- List<Order> list = this.list(queryWrapper);
|
|
|
+ List<Map<String, Object>> list = baseMapper.selectMaps(queryWrapper);
|
|
|
for (OrderPayType orderPayType:OrderPayType.values()) {
|
|
|
- if (orderPayType.getPayCode().equals(4)){
|
|
|
- continue;
|
|
|
- }
|
|
|
- boolean present = list.stream().anyMatch(o -> o.getPayType().equals(orderPayType.getPayCode()));
|
|
|
+ boolean present = list.stream().anyMatch(o -> o.get("payType").equals(orderPayType.getPayCode()));
|
|
|
if (!present){
|
|
|
- Order order = new Order();
|
|
|
- order.setPayType(orderPayType.getPayCode());
|
|
|
- order.setMoney(new BigDecimal("0.00"));
|
|
|
- list.add(order);
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+ map.put("payType",orderPayType.getPayCode());
|
|
|
+ map.put("money",0.00);
|
|
|
+ list.add(map);
|
|
|
}
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<Map<String, Object>> dateCollect(Integer dateType) {
|
|
|
- Date startTime;
|
|
|
- Date endTime;
|
|
|
+ public List<Map<String, Object>> dateCollect(Integer dateType,Date startTime,Date endTime) {
|
|
|
String type;
|
|
|
- Date date = new Date();
|
|
|
int times;
|
|
|
QueryWrapper<Order> queryWrapper = new QueryWrapper<>();
|
|
|
if (0 == dateType){
|
|
|
type = "EXTRACT(DAY FROM create_time)";
|
|
|
- startTime =DateUtils.getFirstDayOfMonth(date);
|
|
|
- endTime = DateUtils.getLastDayOfMonth(date);
|
|
|
times = Integer.parseInt(DateUtils.getDay(endTime))+1;
|
|
|
}else {
|
|
|
type = "MONTH(create_time)";
|
|
|
- startTime =DateUtils.getBeginDayOfYear(date);
|
|
|
- endTime = DateUtils.getEndDayOfYear(date);
|
|
|
times = 13;
|
|
|
}
|
|
|
queryWrapper.select(String.format("%s%s",type,"as orderTime"),"IFNULL(sum(money),0) as total")
|