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 ids = new ArrayList<>(); List list = null; // 获取门店id if(ToolUtil.isNotEmpty(shopName)){ list = storeService.list(new LambdaQueryWrapper().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 page = new PageFactory().defaultPage(); ListQuery listQuery = new ListQuery(page.getSize(),page.getCurrent(),provinceCode,cityCode,eventName,time,state,registerCondition,ids); Page 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 page = new PageFactory<>().defaultPage(); Page data = competitionClient.getPeopleFromId(new GetPeopleQuery(page.getSize(),page.getCurrent(),id,state)); return super.packForBT(data); }catch (Exception e){ e.printStackTrace(); return ERROR; } } }