From 5405154d6979f1b50ce2d881bb164b1acca80b6d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 15 一月 2021 18:58:18 +0800
Subject: [PATCH] 修改相关bug

---
 service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAwardsController.java |  116 ++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 97 insertions(+), 19 deletions(-)

diff --git a/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAwardsController.java b/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAwardsController.java
index c2cc1e7..1edb200 100644
--- a/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAwardsController.java
+++ b/service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAwardsController.java
@@ -1,19 +1,26 @@
 package com.ks.daylucky.controller.api.client;
 
+import com.ks.daylucky.pojo.DO.ActivityDrawnRecieveNotifyInfo;
 import com.ks.daylucky.pojo.DO.UserInfo;
-import com.ks.daylucky.pojo.VO.AcceptData;
-import com.ks.daylucky.pojo.VO.SimpleUser;
-import com.ks.daylucky.pojo.VO.UserActivityUnRecievedAwardVO;
+import com.ks.daylucky.pojo.VO.*;
+import com.ks.daylucky.service.ActivityDrawnRecieveNotifyInfoService;
 import com.ks.daylucky.service.UserInfoService;
 import com.ks.daylucky.util.Constant;
 import com.ks.daylucky.util.UserInfoUtil;
+import com.ks.daylucky.util.activity.ActivityUtil;
+import com.ks.daylucky.util.factory.vo.ActivityDetailVOFactory;
+import com.ks.daylucky.util.factory.vo.ActivityListItemInfoVOFactory;
 import com.ks.lucky.exception.LuckyActivityAwardException;
 import com.ks.lucky.exception.LuckyActivityAwardResultException;
 import com.ks.lucky.exception.LuckyActivityException;
+import com.ks.lucky.pojo.DO.LuckyActivity;
 import com.ks.lucky.pojo.DO.LuckyActivityAwardResult;
 import com.ks.lucky.pojo.DO.LuckyActivityAwards;
+import com.ks.lucky.pojo.DTO.ActivityAwardParams;
+import com.ks.lucky.pojo.DTO.ActivityDrawnReceiveParams;
 import com.ks.lucky.remote.service.LuckyActivityAwardResultService;
 import com.ks.lucky.remote.service.LuckyActivityAwardService;
+import com.ks.lucky.remote.service.LuckyActivityService;
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
 import org.apache.dubbo.config.annotation.Reference;
@@ -33,14 +40,20 @@
 @RequestMapping("api/client/activity/awards")
 public class ActivityAwardsController {
 
-    @Reference(version = "1.0")
+    @Reference(version = "1.0.0", check = false)
     private LuckyActivityAwardResultService luckyActivityAwardResultService;
 
-    @Reference(version = "1.0")
+    @Reference(version = "1.0.0", check = false)
     private LuckyActivityAwardService luckyActivityAwardService;
+
+    @Reference(version = "1.0.0", check = false)
+    private LuckyActivityService luckyActivityService;
 
     @Resource
     private UserInfoService userInfoService;
+
+    @Resource
+    private ActivityDrawnRecieveNotifyInfoService activityDrawnRecieveNotifyInfoService;
 
 
     /**
@@ -54,19 +67,24 @@
     public String getDrawnInfo(AcceptData acceptData, Long activityId, int count) {
         List<LuckyActivityAwards> list = luckyActivityAwardService.getAwardList(activityId);
         JSONArray array = new JSONArray();
+        int p = 0;
         for (LuckyActivityAwards award : list) {
+            award = luckyActivityAwardService.getAwardDetail(award.getId());
             JSONObject item = new JSONObject();
             List<LuckyActivityAwardResult> awardResults = luckyActivityAwardResultService.getResultListWithAwardInfo(activityId, award.getId(), 1, count);
+            long resultCount = luckyActivityAwardResultService.countResultWithAwardInfo(activityId, award.getId());
+
             List<SimpleUser> userList = new ArrayList<>();
             Map<Long, UserInfo> userMap = userInfoService.listUserInfoAsMap(UserInfoUtil.getBaseUserList(awardResults));
             for (LuckyActivityAwardResult info : awardResults) {
-                UserInfo user = userMap.get(info.getUid());
+                UserInfo user = userMap.get(Long.parseLong(info.getUid()));
                 if (user != null) {
                     userList.add(new SimpleUser(user.getId(), user.getNickName(), user.getPortrait()));
                 }
             }
             item.put("userList", userList);
-            item.put("award", JsonUtil.getApiCommonGson().toJson(award));
+            item.put("userCount", resultCount);
+            item.put("award", ActivityListItemInfoVOFactory.create(award, p++));
             array.add(item);
         }
 
@@ -113,27 +131,73 @@
     }
 
     /**
-     * 鑾峰彇鏈濂栫殑濂栧姳淇℃伅
+     * 鑾峰彇棰嗗閫氱煡寮规
      *
      * @param acceptData
      * @return
      */
     @ResponseBody
-    @RequestMapping("getUnRecieveAward")
-    public String getUnRecieveAward(AcceptData acceptData) {
-        List<LuckyActivityAwardResult> resultList = luckyActivityAwardResultService.getUnRecievedAward(acceptData.getApp().getId(), acceptData.getUid() + "", 1, 1);
-        if (resultList != null && resultList.size() > 0) {
-            LuckyActivityAwardResult result = resultList.get(0);
+    @RequestMapping("getRecieveAwardNotify")
+    public String getRecieveAwardNotify(AcceptData acceptData, Long activityId) {
+        ActivityDrawnRecieveNotifyInfo info = activityDrawnRecieveNotifyInfoService.getShowNotifyInfo(acceptData.getApp().getId(), acceptData.getUid(), activityId);
+        if (info != null) {
             UserActivityUnRecievedAwardVO vo = new UserActivityUnRecievedAwardVO();
-            LuckyActivityAwards award = luckyActivityAwardService.getAwardDetail(result.getAwardId());
-            vo.setAwardName(award.getAwardName());
-            vo.setAwardId(award.getId());
-            vo.setPicture(award.getAwardPoster());
-            vo.setTitle("娲诲姩鏈熷彿锛歂O." + award.getActivityId());
+            LuckyActivityAwards award = luckyActivityAwardService.getAwardDetail(info.getAwards().getId());
+            LuckyActivity activity = luckyActivityService.getActivity(award.getActivityId());
+
+            vo.setTitle("娲诲姩鏈熷彿锛�" + ActivityUtil.getActivityDateNumber(award.getActivityId(), activity.getCreateTime()));
+            vo.setActivityId(info.getAwards().getActivityId());
+            vo.setType(info.getType());
+            vo.setId(info.getId());
+
+            switch (info.getType()) {
+                case ActivityDrawnRecieveNotifyInfo.TYPE_UNRECIEVE:
+                    vo.setDesc("鏈鍙栵紝鍙湪\"鎴戠殑-鍏ㄩ儴鎶藉\"涓煡鐪�");
+                    vo.setAward(ActivityListItemInfoVOFactory.create(award, null));
+                    break;
+                case ActivityDrawnRecieveNotifyInfo.TYPE_OUTDATE:
+                    vo.setDesc("娉細涓鏃ヨ捣7澶╁唴鏈鍙栧鍝侊紝灏嗕細鎶婂搴斿鍝佸師璺��鍥炶禐鍔╁晢锛屽垏璁颁腑濂栧悗鎸夋椂棰嗗彇濂栧搧銆�");
+                    vo.setAward(ActivityListItemInfoVOFactory.create(award, award.getLevel()));
+                    break;
+            }
             return JsonUtil.loadTrueResult(vo);
         }
         return JsonUtil.loadFalseResult("");
     }
+
+
+    /**
+     * 璁剧疆涓閫氱煡寮规宸茶
+     *
+     * @param acceptData
+     * @param id
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("setDrawnNotifyRead")
+    public String setDrawnNotifyRead(AcceptData acceptData, String id) {
+
+        ActivityDrawnRecieveNotifyInfo info = activityDrawnRecieveNotifyInfoService.selectByPrimaryKey(id);
+
+        String uid = null;
+        Long appId = null;
+
+        if (info.getAwardResult() != null) {
+            uid = info.getAwardResult().getUid();
+            appId = info.getAwardResult().getAppId();
+        }
+
+        if (uid == null || appId == null) {
+            return JsonUtil.loadFalseResult("淇℃伅鑾峰彇鍑洪敊");
+        }
+
+        if (acceptData.getUid().longValue() != Long.parseLong(uid) || acceptData.getApp().getId().longValue() != appId) {
+            return JsonUtil.loadFalseResult("涓嶆槸鑷繁鐨勪腑濂�");
+        }
+        activityDrawnRecieveNotifyInfoService.setNotifyShown(info.getId());
+        return JsonUtil.loadTrueResult("");
+    }
+
 
     /**
      * 棰嗗彇濂栧搧
@@ -149,8 +213,22 @@
         if (result == null) {
             return JsonUtil.loadFalseResult("鏈壘鍒颁腑濂栬褰�");
         }
+        /**
+         * 濉厖蹇呰鐨勫弬鏁�
+         */
+        ActivityDrawnReceiveParams params = new ActivityDrawnReceiveParams();
+
+        LuckyActivityAwards luckyActivityAward = luckyActivityAwardService.getAwardDetail(result.getAwardId());
+        //鏀粯瀹濈孩鍖呯被鍨�
+        if (luckyActivityAward.getActivityAwardParams().getType() == ActivityAwardParams.ActivityAwardTypeEnum.alipayRedPackage) {
+            //闇�瑕佽幏鍙栨敮浠樺疂鐨処D
+            UserInfo userInfo = userInfoService.getUserDetail(acceptData.getUid());
+            params.setAlipayUid(userInfo.getAlipayUid());
+        }
+
+
         try {
-            luckyActivityAwardResultService.recieveAward(acceptData.getApp().getId(), acceptData.getUid() + "", activityId);
+            luckyActivityAwardResultService.recieveAward(acceptData.getApp().getId(), acceptData.getUid() + "", activityId, params);
             return JsonUtil.loadTrueResult("棰嗗彇鎴愬姛");
         } catch (LuckyActivityException e) {
             e.printStackTrace();

--
Gitblit v1.8.0