package com.dsh.guns.modular.system.controller.code;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.dsh.course.feignClient.competition.CompetitionClient;
|
import com.dsh.course.feignClient.competition.model.Competition;
|
import com.dsh.course.feignClient.competition.model.GetPeopleQuery;
|
import com.dsh.course.feignClient.competition.model.ListQuery;
|
import com.dsh.course.feignClient.competition.model.Participant;
|
import com.dsh.guns.core.base.controller.BaseController;
|
import com.dsh.guns.core.base.tips.SuccessTip;
|
import com.dsh.guns.core.common.constant.factory.PageFactory;
|
import com.dsh.guns.core.support.HttpKit;
|
import com.dsh.guns.core.util.ToolUtil;
|
import com.dsh.guns.modular.system.model.TStore;
|
import com.dsh.guns.modular.system.service.IStoreService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
/**
|
* 车辆管理控制器
|
*
|
* @author fengshuonan
|
* @Date 2020-06-05 17:25:12
|
*/
|
@Controller
|
@RequestMapping("/tCompetition")
|
public class TCompetitionController extends BaseController {
|
|
private String PREFIX = "/system/tCompetition/";
|
|
@Autowired
|
private CompetitionClient competitionClient;
|
|
@Autowired
|
private IStoreService storeService;
|
|
|
/**
|
* 跳转到车辆管理首页
|
*/
|
@RequestMapping("")
|
public String index(Model model) {
|
return PREFIX + "TCompetition.html";
|
}
|
|
/**
|
* 跳转到添加车辆管理
|
*/
|
@RequestMapping("/tCompetition_add")
|
public String tCompetitionAdd(Model model) {
|
return PREFIX + "TCompetition_add.html";
|
}
|
|
|
/**
|
* 跳转到修改车辆管理
|
*/
|
@RequestMapping("/tCompetition_update/{id}")
|
public String tCarUpdate(@PathVariable Integer id, Model model) {
|
Competition competition = competitionClient.queryById(id);
|
model.addAttribute("item",competition);
|
return PREFIX + "tCompetition_edit.html";
|
}
|
|
|
@RequestMapping(value = "/list")
|
@ResponseBody
|
public Object list(String provinceCode, String cityCode, String shopName, String eventName, String time, Integer state, Integer registerCondition) {
|
List<Integer> ids = new ArrayList<>();
|
List<TStore> list = null;
|
// 获取门店id
|
if(ToolUtil.isNotEmpty(shopName)){
|
list = storeService.list(new LambdaQueryWrapper<TStore>().like(TStore::getName, shopName));
|
ids = list.stream().map(TStore::getId).collect(Collectors.toList());
|
}else {
|
list = storeService.list();
|
ids = storeService.list().stream().map(TStore::getId).collect(Collectors.toList());
|
}
|
if(ids.size()==0){
|
ids.add(-1);
|
}
|
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);
|
for (Competition competition : competitions.getRecords()) {
|
for (TStore tStore : list) {
|
if(competition.getStoreId().equals(tStore.getId())){
|
competition.setStoreName(tStore.getName());
|
}
|
}
|
}
|
return super.packForBT(competitions);
|
}
|
|
|
@RequestMapping(value = "/add")
|
public Object list(Competition competition) {
|
try {
|
competitionClient.add(competition);
|
return SUCCESS_TIP;
|
}catch (Exception e){
|
e.printStackTrace();
|
return ERROR;
|
}
|
}
|
|
@RequestMapping(value = "/update")
|
public Object update(Competition competition) {
|
try {
|
competitionClient.update(competition);
|
return SUCCESS_TIP;
|
}catch (Exception e){
|
e.printStackTrace();
|
return ERROR;
|
}
|
}
|
|
|
@RequestMapping(value = "/cancel")
|
public Object cancel(Integer id) {
|
try {
|
competitionClient.cancel(id);
|
return SUCCESS_TIP;
|
}catch (Exception e){
|
e.printStackTrace();
|
return ERROR;
|
}
|
}
|
|
@RequestMapping(value = "/getPeopleFromId")
|
public Object getPeopleFromId(Integer id,Integer state) {
|
try {
|
Page<Object> page = new PageFactory<>().defaultPage();
|
Page<Participant> data = competitionClient.getPeopleFromId(new GetPeopleQuery(page.getSize(),page.getCurrent(),id,state));
|
return super.packForBT(data);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ERROR;
|
}
|
}
|
|
|
|
}
|