From 6cc97918a5a42e37a3c3867cc5b78a0b9fd43a24 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 29 四月 2022 19:55:41 +0800
Subject: [PATCH] 功能完善

---
 app/src/main/java/com/yeshi/makemoney/app/controller/client/api/GoldCornController.java |  145 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 131 insertions(+), 14 deletions(-)

diff --git a/app/src/main/java/com/yeshi/makemoney/app/controller/client/api/GoldCornController.java b/app/src/main/java/com/yeshi/makemoney/app/controller/client/api/GoldCornController.java
index ca43199..50be060 100644
--- a/app/src/main/java/com/yeshi/makemoney/app/controller/client/api/GoldCornController.java
+++ b/app/src/main/java/com/yeshi/makemoney/app/controller/client/api/GoldCornController.java
@@ -3,22 +3,20 @@
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.google.gson.reflect.TypeToken;
-import com.yeshi.makemoney.app.entity.goldcorn.GoldCornConsumeRecord;
-import com.yeshi.makemoney.app.entity.goldcorn.GoldCornConsumeType;
-import com.yeshi.makemoney.app.entity.goldcorn.GoldCornGetRecord;
-import com.yeshi.makemoney.app.entity.goldcorn.GoldCornGetType;
+import com.yeshi.makemoney.app.dto.goldcorn.GoldCornMakeResultDTO;
+import com.yeshi.makemoney.app.entity.goldcorn.*;
+import com.yeshi.makemoney.app.entity.user.UserInfo;
 import com.yeshi.makemoney.app.exception.goldcorn.GoldCornGetFrequencyConfigException;
 import com.yeshi.makemoney.app.exception.goldcorn.GoldCornGetPriceException;
 import com.yeshi.makemoney.app.exception.goldcorn.GoldCornMakeException;
 import com.yeshi.makemoney.app.exception.user.UserInfoException;
-import com.yeshi.makemoney.app.service.inter.goldcorn.GoldCornConsumeRecordService;
-import com.yeshi.makemoney.app.service.inter.goldcorn.GoldCornGetPriceService;
-import com.yeshi.makemoney.app.service.inter.goldcorn.GoldCornGetRecordService;
-import com.yeshi.makemoney.app.service.inter.goldcorn.GoldCornMakeService;
+import com.yeshi.makemoney.app.service.inter.goldcorn.*;
 import com.yeshi.makemoney.app.service.inter.team.TeamInviteRelationService;
 import com.yeshi.makemoney.app.service.inter.user.UserExtraInfoService;
+import com.yeshi.makemoney.app.service.inter.user.UserInfoService;
 import com.yeshi.makemoney.app.service.query.goldcorn.GoldCornConsumeRecordQuery;
 import com.yeshi.makemoney.app.service.query.goldcorn.GoldCornGetRecordQuery;
+import com.yeshi.makemoney.app.service.query.goldcorn.GoldCornTaskTypeInfoQuery;
 import com.yeshi.makemoney.app.utils.Constant;
 import com.yeshi.makemoney.app.utils.annotation.UserLogin;
 import com.yeshi.makemoney.app.utils.goldcorn.GoldCornUtil;
@@ -68,7 +66,16 @@
     private UserExtraInfoService userExtraInfoService;
 
     @Resource
+    private UserInfoService userInfoService;
+
+    @Resource
     private RedisTemplate<String, Object> redisTemplate;
+
+    @Resource
+    private GoldCornTaskTypeInfoService goldCornTaskTypeInfoService;
+
+    @Resource
+    private GoldCornGetFrequencyConfigService goldCornGetFrequencyConfigService;
 
     private Gson gson = JsonUtil.getConvertBigDecimalToStringBuilder(new GsonBuilder()).create();
 
@@ -211,18 +218,18 @@
 
         try {
             JSONObject data = new JSONObject();
-            Integer result = null;
+            GoldCornMakeResultDTO result = null;
             if (vo.getType() == GoldCornGetType.watchVideo) {
-                result = goldCornMakeService.watchVideo(uid, vo.getDouble(), vo.getFinishTime() == null ? new Date() : new Date(vo.getFinishTime()), vo.getTimeSeconds());
+                result = goldCornMakeService.watchVideo(uid, vo.getDoubles(), vo.getFinishTime() == null ? new Date() : new Date(vo.getFinishTime()), vo.getTimeSeconds());
             } else if (vo.getType() == GoldCornGetType.readNovel) {
-                result = goldCornMakeService.readNovel(uid, vo.getDouble(), vo.getFinishTime() == null ? new Date() : new Date(vo.getFinishTime()), vo.getTimeSeconds());
+                result = goldCornMakeService.readNovel(uid, vo.getDoubles() == null ? false : vo.getDoubles(), vo.getFinishTime() == null ? new Date() : new Date(vo.getFinishTime()), vo.getTimeSeconds());
             } else if (vo.getType() == GoldCornGetType.scanNews) {
-                result = goldCornMakeService.scanNews(uid, vo.getDouble(), vo.getFinishTime() == null ? new Date() : new Date(vo.getFinishTime()), vo.getNum());
+                result = goldCornMakeService.scanNews(uid, vo.getDoubles() == null ? false : vo.getDoubles(), vo.getFinishTime() == null ? new Date() : new Date(vo.getFinishTime()), vo.getNum());
             } else {
                 return JsonUtil.loadFalseResult("浠诲姟绫诲瀷鍑洪敊");
             }
-            data.put("goldCorn", result);
-
+            data.put("goldCorn", result.getGoldCorn());
+            data.put("leftCount", result.getLeftEventCount());
             return JsonUtil.loadTrueResult(data);
 
         } catch (GoldCornGetPriceException e) {
@@ -244,6 +251,116 @@
     /**
      * @return java.lang.String
      * @author hxh
+     * @description 鑾峰彇浠诲姟淇℃伅
+     * @date 18:58 2022/4/28
+     * @param: acceptData
+     * @param: uid
+     * @param: vo
+     **/
+    @RequestMapping("getTaskInfo")
+    @ResponseBody
+    public String getTaskInfo(AcceptData acceptData, Long uid, String type) {
+
+        GoldCornGetType goldCornGetType = GoldCornGetType.valueOf(type);
+        if (goldCornGetType == null) {
+            return JsonUtil.loadFalseResult("绫诲瀷涓嶅瓨鍦�");
+        }
+
+        Date now = new Date();
+        UserInfo user = null;
+        if (uid != null) {
+            user = userInfoService.get(uid);
+        }
+        //鑾峰彇鍗曚环
+        GoldCornGetPrice price = goldCornGetPriceService.getCountPrice(goldCornGetType, user, acceptData.getSystem(), now);
+        boolean finish = true;
+        if (uid != null) {
+            try {
+                if (goldCornMakeService.frequencyVerify(user, goldCornGetType, now) > 0) {
+                    finish = false;
+                }
+            } catch (GoldCornGetFrequencyConfigException e) {
+                e.printStackTrace();
+            } catch (GoldCornMakeException e) {
+                e.printStackTrace();
+            }
+        } else {
+            finish = false;
+        }
+
+        JSONObject data = new JSONObject();
+        data.put("price", price.getCornNum());
+        data.put("finish", finish);
+        return JsonUtil.loadTrueResult(data);
+    }
+
+
+    /**
+     * @return java.lang.String
+     * @author hxh
+     * @description 鑾峰彇浠诲姟鍒楄〃
+     * @date 11:27 2022/4/28
+     * @param: acceptData
+     * @param: uid
+     **/
+    @RequestMapping("getTaskList")
+    @ResponseBody
+    public String getTaskList(AcceptData acceptData, Long uid) {
+        Date now = new Date();
+
+        GoldCornTaskTypeInfoQuery query = new GoldCornTaskTypeInfoQuery();
+        query.setSystem(acceptData.getSystem());
+        query.setShow(true);
+        query.setShowTime(now);
+
+        List<GoldCornTaskTypeInfo> list = goldCornTaskTypeInfoService.list(query, 1, 100);
+
+        List<GoldCornTaskVO> voList = new ArrayList<>();
+        if (list != null) {
+            UserInfo user = null;
+            if (uid != null) {
+                user = userInfoService.get(uid);
+            }
+            //鏌ヨ浠锋牸
+            List<GoldCornGetType> typeList = list.stream().map(item -> {
+                return item.getType();
+            }).collect(Collectors.toList());
+
+            Map<GoldCornGetType, GoldCornGetPrice> priceMap = goldCornGetPriceService.getCountPrice(typeList, user, acceptData.getSystem(), now);
+
+            Map<GoldCornGetType, Long> processMap = new HashMap<>();
+            if (uid != null) {
+                GoldCornGetRecordQuery goldCornGetRecordQuery = new GoldCornGetRecordQuery();
+                goldCornGetRecordQuery.setUid(uid);
+                goldCornGetRecordQuery.setDay(GoldCornUtil.getFormatDay(now));
+                //鑾峰彇浠婃棩鐨勮繘搴�
+                processMap = goldCornGetRecordService.sumEventCount(goldCornGetRecordQuery);
+            }
+            List<GoldCornGetFrequencyConfig> frequencyConfigs = goldCornGetFrequencyConfigService.listByTypes(typeList, acceptData.getSystem(), now);
+            Map<GoldCornGetType, GoldCornGetFrequencyConfig> frequencyConfigsMaps = frequencyConfigs.stream().collect(Collectors.toMap(GoldCornGetFrequencyConfig::getType, config -> config));
+
+
+            for (GoldCornTaskTypeInfo task : list) {
+                if (priceMap.get(task.getType()) == null) {
+                    continue;
+                }
+                if (frequencyConfigsMaps.get(task.getType()) == null) {
+                    continue;
+                }
+                GoldCornTaskVO vo = GoldCornTaskVO.create(task, priceMap.get(task.getType()), frequencyConfigsMaps.get(task.getType()), processMap.get(task.getType()));
+                voList.add(vo);
+            }
+        }
+        JSONObject data = new JSONObject();
+        data.put("list", JsonUtil.getSimpleGson().toJson(voList));
+        data.put("count", voList.size());
+        return JsonUtil.loadTrueResult(data);
+    }
+
+
+    /**
+     * @return java.lang.String
+     * @author hxh
      * @description 鑾峰彇绛惧埌淇℃伅
      * @date 17:12 2022/4/21
      * @param: acceptData

--
Gitblit v1.8.0