From 6c09cbd70388ae53ec593de253f69cfa1a3eeda7 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 06 二月 2021 15:41:25 +0800
Subject: [PATCH] 活动管理界面完善

---
 service-daylucky/src/main/java/com/ks/daylucky/controller/admin/AdminActivityController.java |   83 +++++++++++++++++++++++++++++++++++++++--
 1 files changed, 79 insertions(+), 4 deletions(-)

diff --git a/service-daylucky/src/main/java/com/ks/daylucky/controller/admin/AdminActivityController.java b/service-daylucky/src/main/java/com/ks/daylucky/controller/admin/AdminActivityController.java
index 6288be9..a2da663 100644
--- a/service-daylucky/src/main/java/com/ks/daylucky/controller/admin/AdminActivityController.java
+++ b/service-daylucky/src/main/java/com/ks/daylucky/controller/admin/AdminActivityController.java
@@ -1,9 +1,14 @@
 package com.ks.daylucky.controller.admin;
 
 import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
 import com.ks.daylucky.pojo.DO.ActivityExtraInfo;
+import com.ks.daylucky.pojo.DO.ActivityTag;
 import com.ks.daylucky.pojo.VO.admin.ActivityAdminVo;
+import com.ks.daylucky.pojo.VO.admin.AdminAcceptData;
 import com.ks.daylucky.service.ActivityExtraInfoService;
+import com.ks.daylucky.service.ActivityTagService;
+import com.ks.daylucky.util.factory.vo.ActivityAdminVoFactory;
 import com.ks.daylucky.util.factory.vo.LuckyActivityFactory;
 import com.ks.lib.common.exception.ParamsException;
 import com.ks.lucky.exception.*;
@@ -15,9 +20,14 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.StringUtil;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 @Controller
 @RequestMapping("/admin/activity")
@@ -29,20 +39,21 @@
     @Resource
     private ActivityExtraInfoService activityExtraInfoService;
 
+    @Resource
+    private ActivityTagService activityTagService;
 
     /**
      * 娣诲姞娲诲姩
      *
-     * @param request
      * @param data
      * @return
      */
     @ResponseBody
     @RequestMapping("addActivity")
-    public String addActivity(HttpServletRequest request, String data) {
+    public String addActivity(AdminAcceptData acceptData, String data, String type) {
         ActivityAdminVo vo = new Gson().fromJson(data, ActivityAdminVo.class);
-        Long sponsorId = 1L;
-        Long appId = 4L;
+        Long sponsorId = acceptData.getSponsors().getId();
+        Long appId = 5L;
         LuckyActivity activity = LuckyActivityFactory.create(sponsorId, vo);
         activity.setAppId(appId);
         try {
@@ -50,6 +61,33 @@
             ActivityExtraInfo extraInfo = LuckyActivityFactory.getActivityExtra(vo.getOpenInfo());
             extraInfo.setActivityId(activityId);
             activityExtraInfoService.add(extraInfo);
+            //鎻愬彇Tags
+            if (vo.getActivity().getTags() != null && vo.getActivity().getTags().size() > 0) {
+                activityTagService.setTags(activityId, (vo.getActivity().getTags()));
+            }
+
+            switch (type) {
+                //淇濆瓨
+                case "save":
+                    //鎻愪氦瀹℃牳
+                    luckyActivityService.submitVerify(activityId);
+                    //閫氳繃瀹℃牳
+                    luckyActivityService.verifyActivity(activityId, true, "绯荤粺鑷姩閫氳繃瀹℃牳");
+                    break;
+                //鍙戝竷
+                case "publish":
+                    //鎻愪氦瀹℃牳
+                    luckyActivityService.submitVerify(activityId);
+                    //閫氳繃瀹℃牳
+                    luckyActivityService.verifyActivity(activityId, true, "绯荤粺鑷姩閫氳繃瀹℃牳");
+                    //1鍒嗛挓鍚庡紑濮�
+                    Date startTime = new Date(System.currentTimeMillis() + 1000 * 60L);
+                    Date finishTime = new Date(startTime.getTime() + 1000 * 60 * 60 * 24L * extraInfo.getValidDay());
+                    luckyActivityService.publishActivity(activityId, startTime, finishTime);
+                    break;
+                default:
+                    break;
+            }
 
             JSONObject result = new JSONObject();
             result.put("id", activityId);
@@ -74,5 +112,42 @@
         return JsonUtil.loadFalseResult("娣诲姞鍑洪敊");
     }
 
+    @ResponseBody
+    @RequestMapping("getActivityDetail")
+    public String getActivityDetail(AdminAcceptData acceptData, Long id) {
+        LuckyActivity activity = luckyActivityService.getActivityDetail(id);
+        List<ActivityTag> tagList = activityTagService.getTagList(id);
+        ActivityExtraInfo info = activityExtraInfoService.getDetail(activity.getId());
+        ActivityAdminVo bean = ActivityAdminVoFactory.create(activity, tagList, info.getValidDay());
+        return JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(bean));
+    }
+
+    @ResponseBody
+    @RequestMapping("listActivity")
+    public String listActivity(AdminAcceptData acceptData, String states, int page, int limit) {
+        List<Integer> stateList = null;
+        if (!StringUtil.isNullOrEmpty(states)) {
+            Type type = new TypeToken<List<Integer>>() {
+            }.getType();
+            stateList = new Gson().fromJson(states, type);
+        }
+        List<LuckyActivity> activityList = luckyActivityService.getActivityList(acceptData.getAppId(), acceptData.getSponsors().getId(), stateList, null, page, limit);
+        //鑾峰彇璇︽儏
+        List<ActivityAdminVo.ActivityBean> voList = new ArrayList<>();
+        for (LuckyActivity activity : activityList) {
+            activity = luckyActivityService.getActivityDetail(activity.getId());
+            ActivityExtraInfo info = activityExtraInfoService.getDetail(activity.getId());
+            List<ActivityTag> tagList = activityTagService.getTagList(activity.getId());
+            voList.add(ActivityAdminVoFactory.createActivityBean(activity, tagList));
+        }
+
+
+        long count = luckyActivityService.countActivity(acceptData.getAppId(), acceptData.getSponsors().getId(), stateList, null);
+        JSONObject data = new JSONObject();
+        data.put("list", voList);
+        data.put("count", count);
+        return JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(data));
+    }
+
 
 }

--
Gitblit v1.8.0