From c036557db88c6297b9a626a892dce35c14ab8ee5 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期四, 09 十一月 2023 18:30:31 +0800
Subject: [PATCH] 11.6

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java |  122 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 115 insertions(+), 7 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
index 58c8bb9..4921c89 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
@@ -1,6 +1,7 @@
 package com.dsh.guns.modular.system.controller.code;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dsh.course.feignClient.competition.CompetitionClient;
 import com.dsh.course.feignClient.competition.model.*;
@@ -11,19 +12,26 @@
 import com.dsh.guns.core.util.ToolUtil;
 import com.dsh.guns.modular.system.model.TCity;
 import com.dsh.guns.modular.system.model.TOperator;
+import com.dsh.guns.modular.system.model.TOperatorCity;
 import com.dsh.guns.modular.system.model.TStore;
 import com.dsh.guns.modular.system.service.ICityService;
 import com.dsh.guns.modular.system.service.IStoreService;
+import com.dsh.guns.modular.system.service.TOperatorCityService;
 import com.dsh.guns.modular.system.service.TOperatorService;
+import com.dsh.guns.modular.system.util.OBSUploadUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
+import sun.rmi.runtime.Log;
 
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -58,6 +66,8 @@
     public String index(Model model) {
         List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
         model.addAttribute("list",list);
+        Integer objectType = UserExt.getUser().getObjectType();
+        model.addAttribute("type",objectType);
         return PREFIX + "TCompetition.html";
     }
 
@@ -74,6 +84,28 @@
 
         List<TOperator> list1 = tOperatorService.list();
         model.addAttribute("yysList",list1);
+        Integer objectType = UserExt.getUser().getObjectType();
+        model.addAttribute("type",objectType);
+        Integer objectId = UserExt.getUser().getObjectId();
+        List<TStore> operatorId = storeService.list(new QueryWrapper<TStore>().eq("operatorId", objectId));
+        model.addAttribute("stores",operatorId);
+        if (UserExt.getUser().getObjectType()==2){
+
+            // 查询这个运营商管理的省
+            TOperator id = tOperatorService.getOne(new QueryWrapper<TOperator>().eq("id", UserExt.getUser().getObjectId()));
+            if (id.getType()==1){
+                // 全国
+                List<TCity> list3 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+                model.addAttribute("province",list3);
+            }else{
+                // 找到他管理的省
+                List<TOperatorCity> list4 = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("operatorId", UserExt.getUser().getObjectId()).eq("pid", 0));
+                model.addAttribute("province",list4);
+            }
+            model.addAttribute("operator",objectId);
+        }
+        if (UserExt.getUser().getObjectType()==1)
+            model.addAttribute("operator",0);
         return PREFIX + "TCompetition_add.html";
     }
 
@@ -83,8 +115,30 @@
      */
     @RequestMapping("/tCompetition_update/{id}")
     public String tCarUpdate(@PathVariable Integer id, Model model) {
+        Integer objectType = UserExt.getUser().getObjectType();
+        model.addAttribute("objectType",objectType);
         Competition competition = competitionClient.queryById(id);
+        System.out.println("======competition======"+competition);
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+        String startTime = formatter.format(competition.getStartTime());
+        model.addAttribute("startTime",startTime);
+        String endTime = formatter.format(competition.getEndTime());
+        model.addAttribute("endTime",endTime);
+        String registerEndTime = formatter.format(competition.getRegisterEndTime());
+        model.addAttribute("registerEndTime",registerEndTime);
+
+
+
+
         model.addAttribute("item",competition);
+        String[] split = competition.getStoreId().split(",");
+        List<Integer> integers = new ArrayList<>();
+        for (String s : split) {
+            integers.add(Integer.valueOf(s));
+        }
+
+        model.addAttribute("storeIds",integers);
+
         List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
         TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, competition.getProvinceCode()));
         List<TCity> list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one.getId()));
@@ -98,7 +152,16 @@
     }
     @RequestMapping("/tCompetition_info/{id}")
     public String tCarInfo(@PathVariable Integer id, Model model) {
+        Integer objectType = UserExt.getUser().getObjectType();
+        model.addAttribute("objectType",objectType);
         Competition competition = competitionClient.queryById(id);
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String startTime = formatter.format(competition.getStartTime());
+        model.addAttribute("startTime",startTime);
+        String endTime = formatter.format(competition.getEndTime());
+        model.addAttribute("endTime",endTime);
+        String registerEndTime = formatter.format(competition.getRegisterEndTime());
+        model.addAttribute("registerEndTime",registerEndTime);
         model.addAttribute("item",competition);
         List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
         TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, competition.getProvinceCode()));
@@ -109,7 +172,13 @@
         model.addAttribute("list1",list1);
         model.addAttribute("list2",list2);
         model.addAttribute("type",2);
+        String[] split = competition.getStoreId().split(",");
+        List<Integer> integers = new ArrayList<>();
+        for (String s : split) {
+            integers.add(Integer.valueOf(s));
+        }
 
+        model.addAttribute("storeIds",integers);
         return PREFIX + "TCompetition_edit.html";
     }
     @RequestMapping("/tCompetition_user/{id}")
@@ -135,13 +204,37 @@
         if(ids.size()==0){
             ids.add(-1);
         }
+        if (UserExt.getUser().getObjectType()== 2){
+            if (shopName == null)
+                shopName = "";
+            List<Integer> operatorId = storeService.list(new QueryWrapper<TStore>()
+                    .eq("operatorId", UserExt.getUser().getObjectId())
+            .like("name",shopName))
+                    .stream().map(TStore::getId).collect(Collectors.toList());
+            ids = operatorId;
+        }
         Page<Competition> page = new PageFactory<Competition>().defaultPage();
         ListQuery listQuery = new ListQuery(page.getSize(),page.getCurrent(),provinceCode,cityCode,eventName,time,state,registerCondition,ids);
         Page<Competition> competitions = competitionClient.list(listQuery);
+        List<Competition> records = new ArrayList<>();
         for (Competition competition : competitions.getRecords()) {
+            // 当前时间小于开始时间
+            if (competition.getStartTime().after(new Date())){
+                competition.setStatus(1);
+            }
+            if (competition.getStartTime().before(new Date())){
+                if (competition.getEndTime().after(new Date())){
+                    competition.setStatus(2);
+                }else{
+                    competition.setStatus(3);
+                }
+            }
+            if (competition.getStatus()!=state && state != null){
+            }else{
+                records.add(competition);
+            }
             for (TStore tStore : list) {
                 String[] split = competition.getStoreId().split(",");
-
                 for (String s : split) {
                     if(s.equals(String.valueOf(tStore.getId()))){
                         if (competition.getStoreName()==null){
@@ -153,6 +246,8 @@
                 }
             }
         }
+        competitions.setRecords(records);
+        System.err.println(competitions.getRecords());
         return  super.packForBT(competitions);
     }
 
@@ -189,12 +284,11 @@
                 competition.setAuditStatus(1);
             }
 
-
-            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
-            competition.setStartTime(format1.parse(competition.getSTime()));
-            competition.setEndTime(format1.parse(competition.getETime()));
-            competition.setRegisterEndTime(format.parse(competition.getREndTime()));
+//            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//            SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
+//            competition.setStartTime(format1.parse(competition.getSTime()));
+//            competition.setEndTime(format1.parse(competition.getETime()));
+//            competition.setRegisterEndTime(format.parse(competition.getREndTime()));
             competitionClient.add(competition);
             return new SuccessTip<>();
         }catch (Exception e){
@@ -220,6 +314,12 @@
             if(ToolUtil.isEmpty(competition.getRegistrationNotes())){
                 competition.setRegistrationNotes(competition1.getRegistrationNotes());
             }
+            if (UserExt.getUser().getObjectType() == 1){
+                competition.setAuditStatus(2);
+            }else{
+                competition.setAuditStatus(1);
+            }
+
             competitionClient.update(competition);
             return new SuccessTip<>();
         }catch (Exception e){
@@ -252,9 +352,17 @@
         }
     }
 
+    @Autowired
+    private TOperatorCityService operatorCityService;
     @RequestMapping(value = "/onChange")
     @ResponseBody
     public Object onChange(Integer oneId) {
+        System.out.println("======"+oneId);
+        List<TOperatorCity> list = operatorCityService.list(new LambdaQueryWrapper<TOperatorCity>().eq(TOperatorCity::getOperatorId, oneId).eq(TOperatorCity::getType, 2));
+            if (list.size()!=0){
+                return list;
+            }
+
         try {
             TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, oneId));
             return cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one.getId()));

--
Gitblit v1.7.1