tianyunperfect 3 лет назад
Родитель
Сommit
8e5794f635

+ 10 - 0
book-dao/src/main/java/com/book/dao/VO/SunVO.java

@@ -0,0 +1,10 @@
+package com.book.dao.VO;
+
+import lombok.Data;
+
+@Data
+public class SunVO {
+    int page;
+
+    int size;
+}

+ 2 - 2
book-server/src/main/java/com/book/server/common/entity/PageResult.java

@@ -18,13 +18,13 @@ public class PageResult<T> {
      *
      * @mock 1
      */
-    private Integer currentPage;
+    //private Integer currentPage;
     /**
      * 每页数量
      *
      * @mock 10
      */
-    private Integer pageSize;
+    //private Integer pageSize;
     /**
      * 总数
      *

+ 112 - 51
book-server/src/main/java/com/book/server/controller/SunDataController.java

@@ -1,51 +1,112 @@
-package com.book.server.controller;
-
-import com.book.server.common.entity.Result;
-import com.book.server.config.SunTypeEnum;
-import com.book.server.service.SunDataService;
-import com.book.server.vo.SunNotifyRequest;
-import com.book.server.vo.SunRequest;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.codec.digest.DigestUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.websocket.server.PathParam;
-import java.util.UUID;
-
-/**
- * created in 2021/9/27
- * Project: book-store
- *
- * @author win7
- */
-@RestController
-@RequestMapping("/api/sun")
-@Slf4j
-public class SunDataController extends BaseController {
-@Autowired
-private SunDataService sunDataService;
-
-
-    @PostMapping("/getData/{type}")
-    public Result getData(@PathVariable("type") String type,@RequestBody SunRequest request) {
-        SunTypeEnum sunTypeEnum = SunTypeEnum.valueOf(type);
-      return   sunDataService.requestData(request,sunTypeEnum);
-
-    }
-    @PostMapping("/pullData")
-    public String pushData(@RequestBody SunNotifyRequest request) {
-        sunDataService.pullData(request);
-        String s = "{\"code\":200\",msg\":\"ok\"}";
-        return s;
-
-    }
-
-
-
-
-    public static void main(String[] args) {
-        System.out.println(UUID.randomUUID().toString());
-    }
-
-}
+package com.book.server.controller;
+
+import com.book.dao.VO.SunVO;
+import com.book.dao.polardb.entity.SunChannel;
+import com.book.dao.polardb.entity.SunOrder;
+import com.book.dao.polardb.entity.SunOrderCollect;
+import com.book.dao.polardb.entity.SunUserCollect;
+import com.book.server.common.entity.PageResult;
+import com.book.server.common.entity.Result;
+import com.book.server.config.SunTypeEnum;
+import com.book.server.service.SunDataService;
+import com.book.server.vo.SunNotifyRequest;
+import com.book.server.vo.SunRequest;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.websocket.server.PathParam;
+import java.util.UUID;
+
+/**
+ * SUN
+ * created in 2021/9/27
+ * Project: book-store
+ *
+ * @author win7
+ */
+@RestController
+@RequestMapping("/api/sun")
+@Slf4j
+public class SunDataController extends BaseController {
+    @Autowired
+    private SunDataService sunDataService;
+
+
+    /**
+     * getData
+     * @param type
+     * @param request
+     * @return
+     */
+    @PostMapping("/getData/{type}")
+    public Result getData(@PathVariable("type") String type, @RequestBody SunRequest request) {
+        SunTypeEnum sunTypeEnum = SunTypeEnum.valueOf(type);
+        return sunDataService.requestData(request, sunTypeEnum);
+
+    }
+
+    /**
+     * pullData
+     * @param request
+     * @return
+     */
+    @PostMapping("/pullData")
+    public String pushData(@RequestBody SunNotifyRequest request) {
+        sunDataService.pullData(request);
+        String s = "{\"code\":200\",msg\":\"ok\"}";
+        return s;
+
+    }
+
+    /**
+     * 获取 渠道
+     *
+     * @param sunVO
+     * @return
+     */
+    @PostMapping("/pageChannel")
+    public Result<PageResult<SunChannel>> pageSunChannel(@RequestBody SunVO sunVO) {
+        return Result.success(sunDataService.pageSunChannel(sunVO));
+    }
+
+    /**
+     * 获取 订单明细表
+     *
+     * @param sunVO
+     * @return
+     */
+    @PostMapping("/pageOrder")
+    public Result<PageResult<SunOrder>> pageOrder(@RequestBody SunVO sunVO) {
+        return Result.success(sunDataService.pageSunOrder(sunVO));
+    }
+
+    /**
+     * 获取 订单统计表
+     *
+     * @param sunVO
+     * @return
+     */
+    @PostMapping("/pageOrderCollect")
+    public Result<PageResult<SunOrderCollect>> pageOrderCollect(@RequestBody SunVO sunVO) {
+        return Result.success(sunDataService.pageOrderCollect(sunVO));
+    }
+
+    /**
+     * 获取 用户统计表
+     *
+     * @param sunVO
+     * @return
+     */
+    @PostMapping("/pageUserCollect")
+    public Result<PageResult<SunUserCollect>> pageUserCollect(@RequestBody SunVO sunVO) {
+        return Result.success(sunDataService.pageUserCollect(sunVO));
+    }
+
+
+    public static void main(String[] args) {
+        System.out.println(UUID.randomUUID().toString());
+    }
+
+}

+ 36 - 22
book-server/src/main/java/com/book/server/service/SunDataService.java

@@ -1,22 +1,36 @@
-package com.book.server.service;
-
-import com.book.server.common.entity.Result;
-import com.book.server.config.SunTypeEnum;
-import com.book.server.vo.SunNotifyRequest;
-import com.book.server.vo.SunRequest;
-import com.book.server.vo.SunResult;
-
-/**
- * created in 2021/9/28
- * Project: book-store
- *
- * @author win7
- */
-
-public interface SunDataService {
-
-    Result requestData(SunRequest request,SunTypeEnum sunTypeEnum);
-
-    void pullData(SunNotifyRequest request);
-
-}
+package com.book.server.service;
+
+import com.book.dao.VO.SunVO;
+import com.book.dao.polardb.entity.SunChannel;
+import com.book.dao.polardb.entity.SunOrder;
+import com.book.dao.polardb.entity.SunOrderCollect;
+import com.book.dao.polardb.entity.SunUserCollect;
+import com.book.server.common.entity.PageResult;
+import com.book.server.common.entity.Result;
+import com.book.server.config.SunTypeEnum;
+import com.book.server.vo.SunNotifyRequest;
+import com.book.server.vo.SunRequest;
+import com.book.server.vo.SunResult;
+
+/**
+ * created in 2021/9/28
+ * Project: book-store
+ *
+ * @author win7
+ */
+
+public interface SunDataService {
+
+    Result requestData(SunRequest request,SunTypeEnum sunTypeEnum);
+
+    void pullData(SunNotifyRequest request);
+
+    PageResult<SunChannel> pageSunChannel(SunVO sunVO);
+
+    PageResult<SunOrder> pageSunOrder(SunVO sunVO);
+
+    PageResult<SunOrderCollect> pageOrderCollect(SunVO sunVO);
+
+    PageResult<SunUserCollect> pageUserCollect(SunVO sunVO);
+
+}

+ 333 - 286
book-server/src/main/java/com/book/server/service/impl/SunDataServiceImpl.java

@@ -1,287 +1,334 @@
-package com.book.server.service.impl;
-
-import com.book.dao.polardb.entity.SunOrder;
-import com.book.dao.polardb.entity.SunOrderCollect;
-import com.book.dao.polardb.entity.SunUserCollect;
-import com.book.dao.polardb.mapper.SunOrderCollectMapper;
-import com.book.dao.polardb.mapper.SunOrderMapper;
-import com.book.dao.polardb.mapper.SunUserCollectMapper;
-import com.book.dao.utils.DateUtils;
-import com.book.dao.utils.TimeUtil;
-import com.book.server.common.entity.Result;
-import com.book.server.common.util.JsonUtils;
-import com.book.server.config.SunTypeEnum;
-import com.book.server.service.SunDataService;
-import com.book.server.utils.DataUtil;
-import com.book.server.utils.HttpTool;
-import com.book.server.utils.HttpUtils;
-import com.book.server.vo.*;
-import com.google.gson.FieldNamingPolicy;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.codec.digest.DigestUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.nio.charset.StandardCharsets;
-import java.text.ParseException;
-import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * created in 2021/9/28
- * Project: book-store
- *
- * @author win7
- */
-@Service
-@Slf4j
-public class SunDataServiceImpl implements SunDataService {
-    private static final String CLIENT_ID = "10005818";
-    private static final String TOKEN = "PKp2HD39ze3CdzizqH";
-    private static final String VIP_ID = "36637";
-    private static final String URL = "https://data.yifengaf.cn";
-
-
-    private Map<Integer, SunRequest> taskMap = new ConcurrentHashMap<>();
-    @Autowired
-    private SunUserCollectMapper sunUserCollectMapper;
-    @Autowired
-    private SunOrderMapper sunOrderMapper;
-
-    @Autowired
-    private SunOrderCollectMapper sunOrderCollectMapper;
-
-
-    @Override
-    public Result requestData(SunRequest request, SunTypeEnum sunTypeEnum) {
-        try {
-
-            String url = URL + sunTypeEnum.getPath();
-            request.setClient_id(CLIENT_ID);
-//            request.setToken(TOKEN);
-            request.setNonce(UUID.randomUUID().toString().replace("-", ""));
-            request.setTimestamp(System.currentTimeMillis() + "");
-            request.setVip_id(VIP_ID);
-            String signaure = DigestUtils.sha1Hex(TOKEN + request.getTimestamp() + CLIENT_ID + request.getNonce());
-            request.setSignaure(signaure);
-
-            String jsonStr = JsonUtils.toJsonStr(request);
-            Map<String, Object> map = JsonUtils.getMap(jsonStr);
-            String s = DataUtil.map2form(map);
-
-            String result = HttpUtils.sendPost(url, s.getBytes(StandardCharsets.UTF_8));
-            log.info("请求" + sunTypeEnum.getName() + ":" + JsonUtils.toJsonStr(request));
-            log.info("响应" + sunTypeEnum.getName() + ":" + JsonUtils.toJsonStr(result));
-            SunResult object = JsonUtils.getObject(result, SunResult.class);
-            if (object != null && 0 == object.getError_code()) {
-                SunResult.Data data = object.getData();
-                int task_id = data.getTask_id();
-                taskMap.put(task_id, request);
-                return Result.success();
-            } else {
-                return object == null ? Result.failure() : Result.failure(object.getError_code(), object.getError_msg());
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            log.error("sun 获取数据异常:" + e.getMessage());
-        }
-        return Result.failure();
-    }
-
-    @Override
-    public void pullData(SunNotifyRequest request) {
-        try {
-
-
-            String type = request.getType();
-            String path = request.getPath();
-            Integer taskId = request.getTaskId();
-            if (!taskMap.containsKey(taskId)){
-                log.error("taskId不存在..."+taskId);
-                return;
-            }
-            String url = path;
-            List<String> list = HttpTool.sendGet(url);
-            if (list == null || list.isEmpty()) {
-                log.error("读取sun文件为空");
-                return;
-            }
-            SunTypeEnum sunTypeEnum = SunTypeEnum.valueOf(type);
-
-            List result = new ArrayList();
-            StringBuilder sb = new StringBuilder();
-
-            switch (sunTypeEnum) {
-                case user:
-                case user_active:
-                  result = caverStr2Obj(list, SunTypeUser.class);
-
-                    break;
-                case user_collect:
-                case user_day_collect:
-//                    result = caverStr2Obj(list, SunTypeUserDayCollect.class);
-                    handleUserResult(list, taskId);
-                    break;
-                case channel:
-
-                    result = caverStr2Obj(list, SunTypeChannel.class);
-                    break;
-                case order:
-//                    result = caverStr2Obj(list, SunTypeOrder.class);
-                    handleOrder(list, taskId);
-                    break;
-                case custom_url:
-                    result = caverStr2Obj(list, SunTypeCustomUrl.class);
-                    break;
-                case custom_url_day_collect:
-                    result = caverStr2Obj(list, SunTypeCustomUrlCollect.class);
-                    break;
-                case referral:
-                    result = caverStr2Obj(list, SunTypeReferral.class);
-                    break;
-                case referral_day_collect:
-                    result = caverStr2Obj(list, SunTypeReferralCollect.class);
-                    break;
-                case activity:
-                    result = caverStr2Obj(list, SunTypeActivity.class);
-                    break;
-                case activity_collect:
-                case activity_day_collect:
-
-                    result = caverStr2Obj(list, SunTypeActivityCollect.class);
-                    break;
-                default:
-                    break;
-            }
-
-
-
-
-             /*   Map map = new Gson().fromJson(line, Map.class);
-
-                Set<String> set = map.keySet();
-                if (i == 0) {
-                    for (String key : set) {
-
-                        sb.append(key + ",");
-                    }
-
-                    sb.append("\n");
-                }
-                for (String key : set) {
-
-                    sb.append(map.get(key) + ",");
-                }
-                sb.append("\n");*/
-
-
-//        System.out.println(sb.toString());
-            log.info(sb.toString());
-        } catch (Exception e) {
-            e.printStackTrace();
-            log.error("sun解析数据出错:", e.getMessage());
-        }
-    }
-
-    private void handleOrder(List<String> list, Integer taskId) {
-        SunRequest request = taskMap.get(taskId);
-        List<SunOrder> result = new ArrayList<>();
-        SunOrderCollect sunOrderCollect = new SunOrderCollect();
-        for (int i = 0; i < list.size(); i++) {
-            try {
-
-
-                String line = list.get(i);
-
-                GsonBuilder gsonBuilder = new GsonBuilder();
-                gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
-                Gson gson = gsonBuilder.create();
-//                SunUserCollect sunUserCollect =  gson.fromJson(line,SunUserCollect.class);
-                SunOrder sunOrder = gson.fromJson(line, SunOrder.class);
-                result.add(sunOrder);
-                //统计累加
-                if ("书币充值".equals(sunOrder.getType())) {
-
-                    sunOrderCollect.setMoney(sunOrderCollect.getMoney().add(sunOrder.getMoney()));
-                } else if ("VIP充值".equals(sunOrder.getType())) {
-                    sunOrderCollect.setVipMoney(sunOrderCollect.getVipMoney().add(sunOrder.getMoney()));
-                }
-            } catch (Exception e) {
-                log.error(e.getMessage());
-                e.printStackTrace();
-            }
-        }
-        try {
-            sunOrderCollect.setStartTime(TimeUtil.dateFromStr(request.getStart_time(), TimeUtil.YYYY_M_DD_HH_MM_SS));
-            sunOrderCollect.setEndTime(TimeUtil.dateFromStr(request.getEnd_time(), TimeUtil.YYYY_M_DD_HH_MM_SS));
-            sunOrderCollect.setOrderNum(result.size());
-            sunOrderCollect.setChannelId(request.getChannel_id());
-            sunOrderCollect.setCreateTime(new Date());
-            sunOrderCollect.setType(0);
-            sunOrderCollectMapper.insert(sunOrderCollect);
-        } catch (ParseException e) {
-            log.error(e.getMessage());
-            e.printStackTrace();
-        }
-
-
-        sunOrderMapper.batchInsert(result);
-
-        taskMap.remove(taskId);
-
-
-    }
-
-    /**
-     * 用户数据处理
-     *
-     * @param list
-     * @param taskId
-     */
-    private void handleUserResult(List<String> list, Integer taskId) {
-        List<SunUserCollect> result = new ArrayList<>();
-        SunRequest request = taskMap.get(taskId);
-        for (int i = 0; i < list.size(); i++) {
-            String line = list.get(i);
-            try {
-                GsonBuilder gsonBuilder = new GsonBuilder();
-                gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
-                Gson gson = gsonBuilder.create();
-                SunUserCollect sunUserCollect =  gson.fromJson(line,SunUserCollect.class);
-//                SunUserCollect sunUserCollect = JsonUtils.getObject(line, SunUserCollect.class);
-//                sunUserCollect.setChannelId(request.getChannel_id());
-                sunUserCollect.setCreateTime(new Date());
-                sunUserCollect.setStartTime(TimeUtil.dateFromStr(request.getStart_time(),TimeUtil.YYYY_M_DD_HH_MM_SS));
-                sunUserCollect.setEndTime(TimeUtil.dateFromStr(request.getEnd_time(),TimeUtil.YYYY_M_DD_HH_MM_SS));
-                sunUserCollect.setType(0);
-
-                result.add(sunUserCollect);
-            }catch (Exception e){
-                e.printStackTrace();
-                log.error(e.getMessage());
-            }
-
-
-        }
-
-        sunUserCollectMapper.batchInsert(result);
-        taskMap.remove(taskId);
-
-
-    }
-
-
-    private List caverStr2Obj(List<String> list, Class classes) {
-
-        List result = new ArrayList<>();
-
-        for (int i = 0; i < list.size(); i++) {
-            String line = list.get(i);
-            Object object = JsonUtils.getObject(line, classes);
-            result.add(object);
-        }
-        return result;
-    }
+package com.book.server.service.impl;
+
+import com.book.dao.VO.SunVO;
+import com.book.dao.polardb.entity.SunChannel;
+import com.book.dao.polardb.entity.SunOrder;
+import com.book.dao.polardb.entity.SunOrderCollect;
+import com.book.dao.polardb.entity.SunUserCollect;
+import com.book.dao.polardb.mapper.SunChannelMapper;
+import com.book.dao.polardb.mapper.SunOrderCollectMapper;
+import com.book.dao.polardb.mapper.SunOrderMapper;
+import com.book.dao.polardb.mapper.SunUserCollectMapper;
+import com.book.dao.polardb.pojo.example.SunChannelExample;
+import com.book.dao.polardb.pojo.example.SunOrderCollectExample;
+import com.book.dao.polardb.pojo.example.SunOrderExample;
+import com.book.dao.polardb.pojo.example.SunUserCollectExample;
+import com.book.dao.utils.DateUtils;
+import com.book.dao.utils.TimeUtil;
+import com.book.server.common.entity.PageResult;
+import com.book.server.common.entity.Result;
+import com.book.server.common.util.JsonUtils;
+import com.book.server.config.SunTypeEnum;
+import com.book.server.service.SunDataService;
+import com.book.server.utils.DataUtil;
+import com.book.server.utils.HttpTool;
+import com.book.server.utils.HttpUtils;
+import com.book.server.vo.*;
+import com.google.gson.FieldNamingPolicy;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.nio.charset.StandardCharsets;
+import java.text.ParseException;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * created in 2021/9/28
+ * Project: book-store
+ *
+ * @author win7
+ */
+@Service
+@Slf4j
+public class SunDataServiceImpl implements SunDataService {
+    private static final String CLIENT_ID = "10005818";
+    private static final String TOKEN = "PKp2HD39ze3CdzizqH";
+    private static final String VIP_ID = "36637";
+    private static final String URL = "https://data.yifengaf.cn";
+
+
+    private Map<Integer, SunRequest> taskMap = new ConcurrentHashMap<>();
+    @Autowired
+    private SunUserCollectMapper sunUserCollectMapper;
+    @Autowired
+    private SunOrderMapper sunOrderMapper;
+
+    @Autowired
+    private SunOrderCollectMapper sunOrderCollectMapper;
+
+
+    @Override
+    public Result requestData(SunRequest request, SunTypeEnum sunTypeEnum) {
+        try {
+
+            String url = URL + sunTypeEnum.getPath();
+            request.setClient_id(CLIENT_ID);
+//            request.setToken(TOKEN);
+            request.setNonce(UUID.randomUUID().toString().replace("-", ""));
+            request.setTimestamp(System.currentTimeMillis() + "");
+            request.setVip_id(VIP_ID);
+            String signaure = DigestUtils.sha1Hex(TOKEN + request.getTimestamp() + CLIENT_ID + request.getNonce());
+            request.setSignaure(signaure);
+
+            String jsonStr = JsonUtils.toJsonStr(request);
+            Map<String, Object> map = JsonUtils.getMap(jsonStr);
+            String s = DataUtil.map2form(map);
+
+            String result = HttpUtils.sendPost(url, s.getBytes(StandardCharsets.UTF_8));
+            log.info("请求" + sunTypeEnum.getName() + ":" + JsonUtils.toJsonStr(request));
+            log.info("响应" + sunTypeEnum.getName() + ":" + JsonUtils.toJsonStr(result));
+            SunResult object = JsonUtils.getObject(result, SunResult.class);
+            if (object != null && 0 == object.getError_code()) {
+                SunResult.Data data = object.getData();
+                int task_id = data.getTask_id();
+                taskMap.put(task_id, request);
+                return Result.success();
+            } else {
+                return object == null ? Result.failure() : Result.failure(object.getError_code(), object.getError_msg());
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("sun 获取数据异常:" + e.getMessage());
+        }
+        return Result.failure();
+    }
+
+    @Override
+    public void pullData(SunNotifyRequest request) {
+        try {
+
+
+            String type = request.getType();
+            String path = request.getPath();
+            Integer taskId = request.getTaskId();
+            if (!taskMap.containsKey(taskId)){
+                log.error("taskId不存在..."+taskId);
+                return;
+            }
+            String url = path;
+            List<String> list = HttpTool.sendGet(url);
+            if (list == null || list.isEmpty()) {
+                log.error("读取sun文件为空");
+                return;
+            }
+            SunTypeEnum sunTypeEnum = SunTypeEnum.valueOf(type);
+
+            List result = new ArrayList();
+            StringBuilder sb = new StringBuilder();
+
+            switch (sunTypeEnum) {
+                case user:
+                case user_active:
+                  result = caverStr2Obj(list, SunTypeUser.class);
+
+                    break;
+                case user_collect:
+                case user_day_collect:
+//                    result = caverStr2Obj(list, SunTypeUserDayCollect.class);
+                    handleUserResult(list, taskId);
+                    break;
+                case channel:
+
+                    result = caverStr2Obj(list, SunTypeChannel.class);
+                    break;
+                case order:
+//                    result = caverStr2Obj(list, SunTypeOrder.class);
+                    handleOrder(list, taskId);
+                    break;
+                case custom_url:
+                    result = caverStr2Obj(list, SunTypeCustomUrl.class);
+                    break;
+                case custom_url_day_collect:
+                    result = caverStr2Obj(list, SunTypeCustomUrlCollect.class);
+                    break;
+                case referral:
+                    result = caverStr2Obj(list, SunTypeReferral.class);
+                    break;
+                case referral_day_collect:
+                    result = caverStr2Obj(list, SunTypeReferralCollect.class);
+                    break;
+                case activity:
+                    result = caverStr2Obj(list, SunTypeActivity.class);
+                    break;
+                case activity_collect:
+                case activity_day_collect:
+
+                    result = caverStr2Obj(list, SunTypeActivityCollect.class);
+                    break;
+                default:
+                    break;
+            }
+
+
+
+
+             /*   Map map = new Gson().fromJson(line, Map.class);
+
+                Set<String> set = map.keySet();
+                if (i == 0) {
+                    for (String key : set) {
+
+                        sb.append(key + ",");
+                    }
+
+                    sb.append("\n");
+                }
+                for (String key : set) {
+
+                    sb.append(map.get(key) + ",");
+                }
+                sb.append("\n");*/
+
+
+//        System.out.println(sb.toString());
+            log.info(sb.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("sun解析数据出错:", e.getMessage());
+        }
+    }
+
+    @Autowired
+    private SunChannelMapper sunChannelMapper;
+
+    @Override
+    public PageResult<SunChannel> pageSunChannel(SunVO sunVO) {
+        SunChannelExample example = SunChannelExample.newAndCreateCriteria().example();
+        long l = sunChannelMapper.countByExample(example);
+        example.page(sunVO.getPage(), sunVO.getSize());
+
+        return new PageResult<>(l,sunChannelMapper.selectByExample(example));
+    }
+
+    @Override
+    public PageResult<SunOrder> pageSunOrder(SunVO sunVO) {
+        SunOrderExample example = SunOrderExample.newAndCreateCriteria().example();
+        long l = sunOrderMapper.countByExample(example);
+        example.page(sunVO.getPage(), sunVO.getSize());
+        example.orderBy(SunOrder.Column.createTime.desc());
+        return new PageResult<>(l,sunOrderMapper.selectByExample(example));
+    }
+
+    @Override
+    public PageResult<SunOrderCollect> pageOrderCollect(SunVO sunVO) {
+        SunOrderCollectExample example = SunOrderCollectExample.newAndCreateCriteria().example();
+        long l = sunOrderCollectMapper.countByExample(example);
+        example.page(sunVO.getPage(), sunVO.getSize());
+        example.orderBy(SunOrderCollect.Column.createTime.desc());
+        return new PageResult<>(l,sunOrderCollectMapper.selectByExample(example));
+    }
+
+    @Override
+    public PageResult<SunUserCollect> pageUserCollect(SunVO sunVO) {
+        SunUserCollectExample example = SunUserCollectExample.newAndCreateCriteria().example();
+        long l = sunUserCollectMapper.countByExample(example);
+        example.page(sunVO.getPage(), sunVO.getSize());
+        example.orderBy(SunUserCollect.Column.createTime.desc());
+        return new PageResult<>(l,sunUserCollectMapper.selectByExample(example));
+    }
+
+    private void handleOrder(List<String> list, Integer taskId) {
+        SunRequest request = taskMap.get(taskId);
+        List<SunOrder> result = new ArrayList<>();
+        SunOrderCollect sunOrderCollect = new SunOrderCollect();
+        for (int i = 0; i < list.size(); i++) {
+            try {
+
+
+                String line = list.get(i);
+
+                GsonBuilder gsonBuilder = new GsonBuilder();
+                gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
+                Gson gson = gsonBuilder.create();
+//                SunUserCollect sunUserCollect =  gson.fromJson(line,SunUserCollect.class);
+                SunOrder sunOrder = gson.fromJson(line, SunOrder.class);
+                result.add(sunOrder);
+                //统计累加
+                if ("书币充值".equals(sunOrder.getType())) {
+
+                    sunOrderCollect.setMoney(sunOrderCollect.getMoney().add(sunOrder.getMoney()));
+                } else if ("VIP充值".equals(sunOrder.getType())) {
+                    sunOrderCollect.setVipMoney(sunOrderCollect.getVipMoney().add(sunOrder.getMoney()));
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage());
+                e.printStackTrace();
+            }
+        }
+        try {
+            sunOrderCollect.setStartTime(TimeUtil.dateFromStr(request.getStart_time(), TimeUtil.YYYY_M_DD_HH_MM_SS));
+            sunOrderCollect.setEndTime(TimeUtil.dateFromStr(request.getEnd_time(), TimeUtil.YYYY_M_DD_HH_MM_SS));
+            sunOrderCollect.setOrderNum(result.size());
+            sunOrderCollect.setChannelId(request.getChannel_id());
+            sunOrderCollect.setCreateTime(new Date());
+            sunOrderCollect.setType(0);
+            sunOrderCollectMapper.insert(sunOrderCollect);
+        } catch (ParseException e) {
+            log.error(e.getMessage());
+            e.printStackTrace();
+        }
+
+
+        sunOrderMapper.batchInsert(result);
+
+        taskMap.remove(taskId);
+
+
+    }
+
+    /**
+     * 用户数据处理
+     *
+     * @param list
+     * @param taskId
+     */
+    private void handleUserResult(List<String> list, Integer taskId) {
+        List<SunUserCollect> result = new ArrayList<>();
+        SunRequest request = taskMap.get(taskId);
+        for (int i = 0; i < list.size(); i++) {
+            String line = list.get(i);
+            try {
+                GsonBuilder gsonBuilder = new GsonBuilder();
+                gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
+                Gson gson = gsonBuilder.create();
+                SunUserCollect sunUserCollect =  gson.fromJson(line,SunUserCollect.class);
+//                SunUserCollect sunUserCollect = JsonUtils.getObject(line, SunUserCollect.class);
+//                sunUserCollect.setChannelId(request.getChannel_id());
+                sunUserCollect.setCreateTime(new Date());
+                sunUserCollect.setStartTime(TimeUtil.dateFromStr(request.getStart_time(),TimeUtil.YYYY_M_DD_HH_MM_SS));
+                sunUserCollect.setEndTime(TimeUtil.dateFromStr(request.getEnd_time(),TimeUtil.YYYY_M_DD_HH_MM_SS));
+                sunUserCollect.setType(0);
+
+                result.add(sunUserCollect);
+            }catch (Exception e){
+                e.printStackTrace();
+                log.error(e.getMessage());
+            }
+
+
+        }
+
+        sunUserCollectMapper.batchInsert(result);
+        taskMap.remove(taskId);
+
+
+    }
+
+
+    private List caverStr2Obj(List<String> list, Class classes) {
+
+        List result = new ArrayList<>();
+
+        for (int i = 0; i < list.size(); i++) {
+            String line = list.get(i);
+            Object object = JsonUtils.getObject(line, classes);
+            result.add(object);
+        }
+        return result;
+    }
 }