package com.dsh.guns.modular.system.controller.code;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.dsh.course.feignClient.communityWorldCup.Model.WorldCupStore;
|
import com.dsh.course.feignClient.communityWorldCup.WorldCupClient;
|
import com.dsh.course.feignClient.communityWorldCup.Model.WorldCup;
|
import com.dsh.course.feignClient.communityWorldCup.Model.WorldCupListAll;
|
import com.dsh.course.feignClient.communityWorldCup.WorldCupStoreClient;
|
import com.dsh.guns.modular.system.service.IStoreService;
|
import com.dsh.guns.modular.system.util.DateUtil;
|
import com.dsh.guns.modular.system.util.ResultUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import javax.annotation.Resource;
|
import java.sql.ResultSet;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
/**
|
* @author zhibing.pu
|
* @Date 2024/3/2 10:40
|
*/
|
@Controller
|
@RequestMapping("/worldCup")
|
public class WorldCupController {
|
|
private String PREFIX = "/system/worldCup/";
|
|
@Resource
|
private WorldCupClient worldCupClient;
|
|
@Resource
|
private WorldCupStoreClient worldCupStoreClient;
|
|
@Autowired
|
private IStoreService storeService;
|
|
|
/**
|
* 跳转列表页
|
* @return
|
*/
|
@RequestMapping("")
|
public String showWorldCupList(){
|
return PREFIX + "worldCup.html";
|
}
|
|
/**
|
* 跳转到添加页
|
* @return
|
*/
|
@RequestMapping("/openAddWorldCup")
|
public String openAddWorldCup(){
|
return PREFIX + "worldCup_add.html";
|
}
|
|
|
@RequestMapping("/openEditWorldCup")
|
public String openEditWorldCup(Model model, Integer id){
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
WorldCup worldCup = worldCupClient.getWorldCupById(id);
|
model.addAttribute("item", worldCup);
|
model.addAttribute("startTime", sdf.format(worldCup.getStartTime()));
|
model.addAttribute("endTime", sdf.format(worldCup.getEndTime()));
|
model.addAttribute("registrationClosingTime", null != worldCup.getRegistrationClosingTime() ? sdf.format(worldCup.getRegistrationClosingTime()) : "");
|
List<WorldCupStore> worldCupStoreAllList = worldCupStoreClient.getWorldCupStoreAllList(id);
|
List<Integer> collect = worldCupStoreAllList.stream().map(WorldCupStore::getStoreId).collect(Collectors.toList());
|
List<Map<String, Object>> mapList = storeService.listStoreAllByIds(collect);
|
model.addAttribute("stores", JSON.toJSONString(mapList));
|
return PREFIX + "worldCup_edit.html";
|
}
|
|
|
@RequestMapping("/openInfoWorldCup")
|
public String openInfoWorldCup(Model model, Integer id){
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
WorldCup worldCup = worldCupClient.getWorldCupById(id);
|
model.addAttribute("item", worldCup);
|
model.addAttribute("startTime", sdf.format(worldCup.getStartTime()));
|
model.addAttribute("endTime", sdf.format(worldCup.getEndTime()));
|
model.addAttribute("registrationClosingTime", null != worldCup.getRegistrationClosingTime() ? sdf.format(worldCup.getRegistrationClosingTime()) : "");
|
List<WorldCupStore> worldCupStoreAllList = worldCupStoreClient.getWorldCupStoreAllList(id);
|
List<Integer> collect = worldCupStoreAllList.stream().map(WorldCupStore::getStoreId).collect(Collectors.toList());
|
List<Map<String, Object>> mapList = storeService.listStoreAllByIds(collect);
|
model.addAttribute("stores", JSON.toJSONString(mapList));
|
return PREFIX + "worldCup_info.html";
|
}
|
|
|
|
/**
|
* 跳转到门店选择页面
|
* @return
|
*/
|
@RequestMapping("/openStore")
|
public String openStore(){
|
return PREFIX + "store.html";
|
}
|
|
|
|
|
|
/**
|
* 获取列表数据
|
* @param worldCupList
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/listAll")
|
public Object listAll(WorldCupListAll worldCupList){
|
return worldCupClient.getWorldCupListAll(worldCupList);
|
}
|
|
|
/**
|
* 添加社区世界杯
|
* @param worldCup
|
* @param stores
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/addWorldCup")
|
public ResultUtil addWorldCup(WorldCup worldCup, String stores){
|
worldCup.setStatus(1);
|
worldCup.setCreateTime(new Date());
|
worldCup.setMatchNumber(0);
|
Integer integer = worldCupClient.addWorldCup(worldCup);
|
if(null != integer){
|
JSONArray jsonArray = JSON.parseArray(stores);
|
for (int i = 0; i < jsonArray.size(); i++) {
|
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
Integer id = jsonObject.getInteger("id");
|
WorldCupStore worldCupStore = new WorldCupStore();
|
worldCupStore.setStoreId(id);
|
worldCupStore.setWorldCupId(integer);
|
worldCupStore.setIsOpen(0);
|
worldCupStoreClient.addWorldCupStore(worldCupStore);
|
}
|
}
|
return ResultUtil.success();
|
}
|
|
|
|
/**
|
* 编辑社区世界杯
|
* @param worldCup
|
* @param stores
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/editWorldCup")
|
public ResultUtil editWorldCup(WorldCup worldCup, String stores){
|
WorldCup worldCup1 = worldCupClient.getWorldCupById(worldCup.getId());
|
if(worldCup1.getStartTime().before(DateUtil.getDate())){
|
return ResultUtil.error("赛事已开始,不能编辑");
|
}
|
worldCupClient.editWorldCup(worldCup);
|
worldCupStoreClient.delWorldCupStore(worldCup.getId());
|
JSONArray jsonArray = JSON.parseArray(stores);
|
for (int i = 0; i < jsonArray.size(); i++) {
|
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
Integer id = jsonObject.getInteger("id");
|
WorldCupStore worldCupStore = new WorldCupStore();
|
worldCupStore.setStoreId(id);
|
worldCupStore.setWorldCupId(worldCup.getId());
|
worldCupStore.setIsOpen(0);
|
worldCupStoreClient.addWorldCupStore(worldCupStore);
|
}
|
return ResultUtil.success();
|
}
|
|
|
/**
|
* 修改赛事状态
|
* @param id
|
* @param state
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/updateState")
|
public ResultUtil updateState(Integer id, Integer state){
|
WorldCup worldCup = new WorldCup();
|
worldCup.setId(id);
|
worldCup.setStatus(state);
|
worldCupClient.editWorldCup(worldCup);
|
//开始处理已支付的退费
|
worldCupClient.cancelWorldCupRefund(id);
|
return ResultUtil.success();
|
}
|
}
|