Browse Source

首页功能完善

yq 3 years ago
parent
commit
7edb6a975a

+ 109 - 1
src/main/java/com/usky/dxtop/common/utils/DateUtils.java

@@ -1,10 +1,12 @@
 package com.usky.dxtop.common.utils;
 
+import org.apache.commons.lang3.time.DateFormatUtils;
+
 import java.lang.management.ManagementFactory;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.util.Calendar;
 import java.util.Date;
-import org.apache.commons.lang3.time.DateFormatUtils;
 
 /**
  * 时间工具类
@@ -103,6 +105,13 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
         return DateFormatUtils.format(now, "yyyyMMdd");
     }
 
+    /**
+     * 得到当天字符串 格式(dd)
+     */
+    public static String getDay(Date date) {
+        return DateFormatUtils.format(date, "dd");
+    }
+
     /**
      * 日期型字符串转化为日期 格式
      */
@@ -160,4 +169,103 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
         long diff = endDate.getTime() - nowDate.getTime();
         return diff % nd % nh / nm;
     }
+    /**
+     * 获取某天的开始一刻 2020-12-31 00:00:00.000
+     *
+     * @param startDate
+     * @return
+     */
+    public static Date getDayStartTime(Date startDate) {
+        Calendar todayStart = Calendar.getInstance();
+        todayStart.setTime(startDate);
+        todayStart.set(Calendar.HOUR_OF_DAY, 0);
+        todayStart.set(Calendar.MINUTE, 0);
+        todayStart.set(Calendar.SECOND, 0);
+        todayStart.set(Calendar.MILLISECOND, 0);
+        return todayStart.getTime();
+    }
+
+    /**
+     * 获取某天的最后一刻 2020-12-31 23:59:59.999
+     *
+     * @param endDate
+     * @return
+     */
+    public static Date getDayEndTime(Date endDate) {
+        Calendar todayEnd = Calendar.getInstance();
+        todayEnd.setTime(endDate);
+        todayEnd.set(Calendar.HOUR_OF_DAY, 23);
+        todayEnd.set(Calendar.MINUTE, 59);
+        todayEnd.set(Calendar.SECOND, 59);
+        todayEnd.set(Calendar.MILLISECOND, 999);
+        return todayEnd.getTime();
+    }
+
+    /**
+     * 获取当月第一天
+     *
+     * @param date
+     * @return
+     */
+    public static Date getFirstDayOfMonth(Date date) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.set(Calendar.DAY_OF_MONTH, 1);
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+        return calendar.getTime();
+    }
+
+    /**
+     * 根据入参时间返回当前月最后的时间
+     *
+     * @param date
+     * @return
+     */
+    public static Date getLastDayOfMonth(Date date) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
+        calendar.set(Calendar.HOUR_OF_DAY, 23);
+        calendar.set(Calendar.MINUTE, 59);
+        calendar.set(Calendar.SECOND, 59);
+        calendar.set(Calendar.MILLISECOND, 999);
+        return calendar.getTime();
+    }
+
+
+
+    /**
+     * 获得time所在年的第一天
+     * @param time
+     * @return
+     */
+    public static Date getBeginDayOfYear(Date time){
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(time);
+        cal.set(Calendar.YEAR, cal.get(Calendar.YEAR));
+        cal.set(Calendar.MONTH, Calendar.JANUARY);
+        cal.set(Calendar.DATE, 1);
+
+        return getDayStartTime(cal.getTime());
+    }
+
+
+    /**
+     * 获取本年的结束时间
+     * @return
+     */
+    public static Date getEndDayOfYear(Date time) {
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(time);
+        cal.set(Calendar.YEAR, cal.get(Calendar.YEAR));
+        cal.set(Calendar.MONTH, Calendar.DECEMBER);
+        cal.set(Calendar.DATE, 31);
+        return getDayEndTime(cal.getTime());
+    }
+
+
+
 }

+ 40 - 0
src/main/java/com/usky/dxtop/controller/web/OrderController.java

@@ -1,7 +1,9 @@
 package com.usky.dxtop.controller.web;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.usky.dxtop.common.core.domain.AjaxResult;
+import com.usky.dxtop.common.utils.DateUtils;
 import com.usky.dxtop.controller.BaseController;
 import com.usky.dxtop.model.Order;
 import com.usky.dxtop.service.OrderService;
@@ -137,9 +139,47 @@ public class OrderController extends BaseController {
         orderService.reportExport(startTime,endTime,type,response);
     }
 
+    /**
+     * 统一支付
+     * @param order
+     * @return
+     */
     @PostMapping("/callUnifiedPay")
     public AjaxResult callUnifiedPay(@RequestBody Order order){
         return AjaxResult.success(orderService.callUnifiedPay(order));
     }
+
+    /**
+     * 支付方式汇总
+     * @return
+     */
+    @GetMapping("/payTypeCollect")
+    public AjaxResult payTypeCollect(){
+        return AjaxResult.success(orderService.payTypeCollect());
+    }
+
+    /**
+     * 充值金额/充值次数
+     * @return
+     */
+    @GetMapping("/orderMoney")
+    public AjaxResult orderMoney(){
+        Date date = new Date();
+        QueryWrapper<Order> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("IFNULL(sum(money),0) as total","count(*) as count")
+                .between("create_time",DateUtils.getDayStartTime(date),date);
+        return AjaxResult.success(orderService.getMap(queryWrapper));
+    }
+
+    /**
+     * 日期汇总
+     * @param type
+     * @return
+     */
+    @GetMapping("/dateCollect")
+    public AjaxResult dateCollect(@RequestParam Integer type){
+        return AjaxResult.success(orderService.dateCollect(type));
+    }
+
 }
 

+ 52 - 0
src/main/java/com/usky/dxtop/controller/web/StaffController.java

@@ -0,0 +1,52 @@
+package com.usky.dxtop.controller.web;
+
+import com.usky.dxtop.common.core.domain.AjaxResult;
+import com.usky.dxtop.model.StaffRadio;
+import com.usky.dxtop.service.StaffRadioService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author yq
+ * @date 2021/9/23 13:34
+ */
+@RestController
+@RequestMapping("/dxtop/staff")
+public class StaffController {
+
+    @Autowired
+    private StaffRadioService staffRadioService;
+
+    /**
+     * TODO 人员信息后面要写到人员模块的controller
+     * @return
+     */
+    @RequestMapping("count")
+    public AjaxResult count(){
+        return AjaxResult.success(100);
+    }
+
+
+    /**
+     * 批量新增
+     * @param list
+     * @return
+     */
+    @PostMapping()
+    public AjaxResult addList(@RequestBody List<StaffRadio> list){
+        staffRadioService.addList(list);
+        return AjaxResult.success();
+    }
+
+    /**
+     * 人员比例
+     * @return
+     */
+    @GetMapping("staffRadio")
+    public AjaxResult staffRadio(){
+        return AjaxResult.success(staffRadioService.staffRadio());
+    }
+
+}

+ 9 - 0
src/main/java/com/usky/dxtop/controller/web/TopChannelController.java

@@ -87,5 +87,14 @@ public class TopChannelController extends BaseController {
     {
         return toAjax(topChannelService.remove(id));
     }
+
+    /**
+     * 渠道订单金额
+     * @return
+     */
+    @GetMapping("/channelOrderMoney")
+    public AjaxResult channelOrderMoney(){
+        return AjaxResult.success(topChannelService.channelOrderMoney());
+    }
 }
 

+ 6 - 0
src/main/java/com/usky/dxtop/controller/web/TopRadioController.java

@@ -79,5 +79,11 @@ public class TopRadioController extends BaseController {
         return toAjax(topRadioService.updateById(topRadio));
     }
 
+
+    @GetMapping("/all")
+    public AjaxResult all(){
+        return AjaxResult.success(topRadioService.list());
+    }
+
 }
 

+ 0 - 47
src/main/java/com/usky/dxtop/mapper/OrderMapper.java

@@ -1,13 +1,7 @@
 package com.usky.dxtop.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.usky.dxtop.model.Order;
-import com.usky.dxtop.service.vo.OrderReport;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.Date;
 
 
 /**
@@ -21,48 +15,7 @@ import java.util.Date;
 public interface OrderMapper extends BaseMapper<Order> {
 
 
-    /**
-     *
-     * @param page
-     * @param endTime
-     * @return
-     */
-    Page<OrderReport> getCountByDay(IPage<OrderReport> page,
-                                    @Param("startTime") Date startTime,
-                                    @Param("endTime") Date endTime);
-
-
-    /**
-     * 周报
-     * @param startTime
-     * @param endTime
-     * @return
-     */
-    Page<OrderReport> getCountByWeek(IPage<OrderReport> page,
-                                        @Param("startTime") Date startTime,
-                                           @Param("endTime") Date endTime);
-
-
-    /**
-     * 月报
-     * @param startTime
-     * @param endTime
-     * @return
-     */
-    Page<OrderReport> getCountByMonth(IPage<OrderReport> page,
-                                      @Param("startTime") Date startTime,
-                                      @Param("endTime") Date endTime);
-
 
-    /**
-     * 年报
-     * @param startTime
-     * @param endTime
-     * @return
-     */
-    Page<OrderReport> getCountByYear(IPage<OrderReport> page,
-                                     @Param("startTime") Date startTime,
-                                     @Param("endTime") Date endTime);
 
 
 }

+ 4 - 0
src/main/java/com/usky/dxtop/mapper/StaffRadioMapper.java

@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.usky.dxtop.model.StaffRadio;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  Mapper 接口
@@ -16,4 +19,5 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface StaffRadioMapper extends BaseMapper<StaffRadio> {
 
+    List<Map<String,Object>> staffRadio();
 }

+ 6 - 0
src/main/java/com/usky/dxtop/mapper/TopChannelMapper.java

@@ -3,6 +3,9 @@ package com.usky.dxtop.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.usky.dxtop.model.TopChannel;
 
+import java.util.List;
+import java.util.Map;
+
 
 /**
  * <p>
@@ -14,4 +17,7 @@ import com.usky.dxtop.model.TopChannel;
  */
 public interface TopChannelMapper extends BaseMapper<TopChannel> {
 
+
+
+    List<Map<String,Object>> channelOrderMoney();
 }

+ 7 - 2
src/main/java/com/usky/dxtop/model/Order.java

@@ -57,9 +57,14 @@ public class Order extends BaseEntity implements Serializable {
     private Integer orderFlag;
 
     /**
-     * 充值来源
+     * 渠道id
      */
-    private Integer topSource;
+    private Integer channelId;
+
+    /**
+     * 渠道名称
+     */
+    private Integer channelName;
 
     /**
      * 支付方式

+ 16 - 0
src/main/java/com/usky/dxtop/service/OrderService.java

@@ -8,6 +8,8 @@ import com.usky.dxtop.service.vo.OrderRequest;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -116,4 +118,18 @@ public interface OrderService extends IService<Order> {
      * @return
      */
     String callUnifiedPay(Order order);
+
+    /**
+     * 支付方式汇总
+     * @return
+     */
+    List<Order> payTypeCollect();
+
+    /**
+     * @param dateType(0月1年)
+     * 日期汇总
+     * @return
+     */
+    List<Map<String,Object>> dateCollect(Integer dateType);
+
 }

+ 15 - 0
src/main/java/com/usky/dxtop/service/StaffRadioService.java

@@ -3,6 +3,9 @@ package com.usky.dxtop.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.usky.dxtop.model.StaffRadio;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务类
@@ -14,4 +17,16 @@ import com.usky.dxtop.model.StaffRadio;
 public interface StaffRadioService extends IService<StaffRadio> {
 
 
+    /**
+     * 批量新增
+     * @param list
+     * @return
+     */
+    void addList(List<StaffRadio> list);
+
+    /**
+     * 人员比例
+     * @return
+     */
+    List<Map<String,Object>> staffRadio();
 }

+ 7 - 1
src/main/java/com/usky/dxtop/service/TopChannelService.java

@@ -3,9 +3,9 @@ package com.usky.dxtop.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.usky.dxtop.common.core.page.CommonPage;
 import com.usky.dxtop.model.TopChannel;
-import com.usky.dxtop.model.TopRadio;
 
 import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -24,5 +24,11 @@ public interface TopChannelService extends IService<TopChannel> {
 
     boolean remove(Long id);
 
+    /**
+     * 渠道订单金额
+     * @return
+     */
+    List<Map<String,Object>> channelOrderMoney();
+
 
 }

+ 1 - 3
src/main/java/com/usky/dxtop/service/TopRadioService.java

@@ -3,9 +3,6 @@ package com.usky.dxtop.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.usky.dxtop.common.core.page.CommonPage;
 import com.usky.dxtop.model.TopRadio;
-import org.apache.catalina.LifecycleState;
-
-import java.util.List;
 
 
 /**
@@ -24,4 +21,5 @@ public interface TopRadioService extends IService<TopRadio> {
 
 
     CommonPage<TopRadio> list(Integer current, Integer size, String identity);
+
 }

+ 92 - 9
src/main/java/com/usky/dxtop/service/impl/OrderServiceImpl.java

@@ -5,6 +5,7 @@ import cn.afterturn.easypoi.excel.entity.ExportParams;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -45,9 +46,8 @@ import javax.imageio.ImageIO;
 import javax.servlet.http.HttpServletResponse;
 import java.awt.image.BufferedImage;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.TreeMap;
+import java.math.BigDecimal;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -323,21 +323,34 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
     @Override
     public CommonPage<OrderReport> orderReportList(Integer current,Integer size,Date startTime, Date endTime, Integer type) {
-        IPage<OrderReport> page = new Page<>(current, size);
+        IPage<Map<String,Object>> page = new Page<>(current, size);
+        String dateType;
         switch (type){
             case 1 :
-                page = baseMapper.getCountByDay(page, startTime, endTime);
+                dateType = "DATE(create_time) reportDate";
                 break;
             case 2 :
-                page = baseMapper.getCountByWeek(page, startTime, endTime);
+                dateType = "WEEK(create_time) reportDate";
                 break;
             case 3 :
-                page = baseMapper.getCountByMonth(page, startTime, endTime);
+                dateType = "MONTH(create_time) reportDate";
                 break;
             default:
-                page = baseMapper.getCountByYear(page, startTime, endTime);
+                dateType = "YEAR(create_time) reportDate";
         }
-        return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
+        QueryWrapper<Order> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select(dateType,
+                "sum(money) as totalMoney",
+                "sum(if(pay_type = '1', money, 0)) as cashMoney",
+                "sum(if(pay_type = '2', money, 0)) as wxMoney",
+                "sum(if(pay_type = '3', money, 0)) as zfbMoney")
+                .between(null != startTime && null != endTime,"create_time",startTime,endTime)
+                .groupBy("reportDate")
+                .orderByAsc("reportDate");
+        IPage<Map<String, Object>> mapIPage = baseMapper.selectMapsPage(page, queryWrapper);
+        String jsonStr = JSON.toJSONString(mapIPage.getRecords());
+        List<OrderReport> orderReports = JSON.parseArray(jsonStr, OrderReport.class);
+        return new CommonPage<>(orderReports,page.getTotal(),page.getCurrent(),page.getSize());
     }
 
     @Override
@@ -399,6 +412,76 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return payInfo;
     }
 
+    @Override
+    public List<Order> 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);
+        for (OrderPayType orderPayType:OrderPayType.values()) {
+            if (orderPayType.getPayCode().equals(4)){
+                continue;
+            }
+            boolean present = list.stream().anyMatch(o -> o.getPayType().equals(orderPayType.getPayCode()));
+            if (!present){
+                Order order = new Order();
+                order.setPayType(orderPayType.getPayCode());
+                order.setMoney(new BigDecimal("0.00"));
+                list.add(order);
+            }
+        }
+        return list;
+    }
+
+    @Override
+    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")
+                .between("create_time",startTime,endTime)
+                .groupBy("orderTime");
+        List<Map<String, Object>> list = baseMapper.selectMaps(queryWrapper);
+        perfectDate(list,times,1);
+        return list;
+    }
+
+    /**
+     * 处理数据
+     * @param list
+     * @param times
+     * @param defaultTime
+     */
+    public void perfectDate(List<Map<String,Object>> list,Integer times,Integer defaultTime){
+        for (int i = defaultTime; i < times; i++) {
+            int finalI = i;
+            list.stream()
+                    .filter(asv -> Integer.parseInt(asv.get("orderTime").toString()) == finalI)
+                    .findFirst()
+                    .orElseGet(() -> {
+                        Map<String,Object> map = new HashMap<>();
+                        map.put("orderTime",finalI);
+                        map.put("total",0.00);
+                        list.add(map);
+                        return map;
+                    });
+        }
+    }
+
     /**
      * 充值失败后处理
      * @param order

+ 20 - 3
src/main/java/com/usky/dxtop/service/impl/StaffRadioServiceImpl.java

@@ -1,11 +1,16 @@
 package com.usky.dxtop.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.usky.dxtop.mapper.StaffRadioMapper;
 import com.usky.dxtop.model.StaffRadio;
 import com.usky.dxtop.service.StaffRadioService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务实现类
@@ -18,7 +23,19 @@ import org.springframework.stereotype.Service;
 public class StaffRadioServiceImpl extends ServiceImpl<StaffRadioMapper, StaffRadio> implements StaffRadioService {
 
 
-//    public void test(){
-//        saveOrUpdate()
-//    }
+    @Override
+    public void addList(List<StaffRadio> list) {
+        list.forEach(staffRadio -> {
+            LambdaUpdateWrapper<StaffRadio> updateWrapper = Wrappers.lambdaUpdate();
+            updateWrapper.eq(StaffRadio::getStaffId, staffRadio.getId())
+                    .eq(StaffRadio::getRadioId, staffRadio.getId())
+                    .set(StaffRadio::isDelFlag,staffRadio.isDelFlag());
+            this.saveOrUpdate(null,updateWrapper);
+        });
+    }
+
+    @Override
+    public List<Map<String,Object>> staffRadio() {
+        return baseMapper.staffRadio();
+    }
 }

+ 6 - 2
src/main/java/com/usky/dxtop/service/impl/TopChannelServiceImpl.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
 import com.usky.dxtop.common.constant.UserConstants;
 import com.usky.dxtop.common.core.page.CommonPage;
 import com.usky.dxtop.common.exception.CustomException;
@@ -13,13 +12,13 @@ import com.usky.dxtop.common.utils.StringUtils;
 import com.usky.dxtop.mapper.TopChannelMapper;
 import com.usky.dxtop.model.QrCode;
 import com.usky.dxtop.model.TopChannel;
-import com.usky.dxtop.model.TopRadio;
 import com.usky.dxtop.service.QrCodeService;
 import com.usky.dxtop.service.TopChannelService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -72,4 +71,9 @@ public class TopChannelServiceImpl extends ServiceImpl<TopChannelMapper, TopChan
         topChannel.setDelFlag(true);
         return this.updateById(topChannel);
     }
+
+    @Override
+    public List<Map<String, Object>> channelOrderMoney() {
+        return baseMapper.channelOrderMoney();
+    }
 }

+ 2 - 2
src/main/java/com/usky/dxtop/service/vo/OrderExport.java

@@ -43,8 +43,8 @@ public class OrderExport {
     /**
      * 充值来源
      */
-    @Excel(name = "充值来源", height = 6, width = 20)
-    private Integer topSource;
+    @Excel(name = "充值渠道", height = 6, width = 20)
+    private String channelName;
 
     @Excel(name = "支付场景", height = 6, width = 20)
     private String scene;

+ 0 - 76
src/main/resources/mapper/OrderMapper.xml

@@ -18,82 +18,6 @@
         <result property="updateBy"      column="update_by"      />
         <result property="updateTime"    column="update_time"    />
     </resultMap>
-    <select id="getCountByDay" resultType="com.usky.dxtop.service.vo.OrderReport">
-    select *
-    from
-    (SELECT
-    DATE(create_time) reportDate,
-    sum(money) as totalMoney,
-    sum(if(pay_type = '1', money, 0)) as cashMoney,
-    sum(if(pay_type = '2', money, 0)) as wxMoney,
-    sum(if(pay_type = '3', money, 0)) as zfbMoney
-    FROM
-    t_order
-        <where>
-            <if test="startTime != null and endTime != null">
-                create_time BETWEEN #{startTime} AND #{endTime}
-            </if>
-        </where>
-    GROUP BY reportDate) as t
-    order by reportDate
-    </select>
-    <select id="getCountByWeek" resultType="com.usky.dxtop.service.vo.OrderReport">
-        select *
-        from
-        (SELECT
-        WEEK(create_time) reportDate,
-        sum(money) as totalMoney,
-        sum(if(pay_type = '1', money, 0)) as cashMoney,
-        sum(if(pay_type = '2', money, 0)) as wxMoney,
-        sum(if(pay_type = '3', money, 0)) as zfbMoney
-        FROM
-        t_order
-        <where>
-            <if test="startTime != null and endTime != null">
-                create_time BETWEEN #{startTime} AND #{endTime}
-            </if>
-        </where>
-        GROUP BY reportDate) as t
-        order by reportDate
-    </select>
 
-    <select id="getCountByYear" resultType="com.usky.dxtop.service.vo.OrderReport">
-        select *
-        from
-        (SELECT
-        YEAR(create_time) reportDate,
-        sum(money) as totalMoney,
-        sum(if(pay_type = '1', money, 0)) as cashMoney,
-        sum(if(pay_type = '2', money, 0)) as wxMoney,
-        sum(if(pay_type = '3', money, 0)) as zfbMoney
-        FROM
-        t_order
-        <where>
-            <if test="startTime != null and endTime != null">
-                create_time BETWEEN #{startTime} AND #{endTime}
-            </if>
-        </where>
-        GROUP BY reportDate) as t
-        order by reportDate
-    </select>
-    <select id="getCountByMonth" resultType="com.usky.dxtop.service.vo.OrderReport">
-        select *
-        from
-        (SELECT
-        month(create_time) reportDate,
-        sum(money) as totalMoney,
-        sum(if(pay_type = '1', money, 0)) as cashMoney,
-        sum(if(pay_type = '2', money, 0)) as wxMoney,
-        sum(if(pay_type = '3', money, 0)) as zfbMoney
-        FROM
-        t_order
-        <where>
-            <if test="startTime != null and endTime != null">
-                create_time BETWEEN #{startTime} AND #{endTime}
-            </if>
-        </where>
-        GROUP BY reportDate) as t
-        order by reportDate
-    </select>
 
 </mapper>

+ 8 - 0
src/main/resources/mapper/StaffRadioMapper.xml

@@ -8,5 +8,13 @@
         <result column="staff_id" property="staffId" />
         <result column="radio_id" property="radioId" />
     </resultMap>
+    <select id="staffRadio" resultType="java.util.Map">
+        select tc.identity as raType,count(sr.id) as count
+        from staff_radio as sr
+        right join top_radio as tc
+        on sr.radio_id = tc.id
+		where tc.del_flag = 0
+        group by tc.identity
+    </select>
 
 </mapper>

+ 8 - 0
src/main/resources/mapper/TopChannelMapper.xml

@@ -12,5 +12,13 @@
         <result property="updateBy"      column="update_by"      />
         <result property="updateTime"    column="update_time"    />
     </resultMap>
+    <select id="channelOrderMoney" resultType="java.util.Map">
+        select tc.name as chName,sum(o.money) as money
+        from top_channel as tc
+        left join t_order as o
+        on tc.id = o.channel_id
+        group by tc.id
+        where tc.del_flag = 0
+    </select>
 
 </mapper>