package com.cku.service; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.cku.core.ExecResultModel; import com.cku.core.PageBeanResult; import com.cku.dao.CkuCaiPanMapper; import com.cku.dao.CkuImageMapper; import com.cku.dao.CkuMatchCostMapper; import com.cku.dao.CkuMatchProjectMapper; import com.cku.dao.CkuMatchRefereeMapper; import com.cku.dao.EventRelatedMapper; import com.cku.model.CkuCaiPan; import com.cku.model.CkuMatchCost; import com.cku.model.CkuMatchProject; import com.cku.model.CkuMatchReferee; import com.cku.model.CkuMatchSponsor; import com.cku.model.EventRelatedModel; import com.cku.util.PageBean; /** * *

Title:EventRelatedServiceImpl

*

Description: 赛事相关服务层

*

Company:

* @author zhuoHeng * @date 2016年3月15日 下午6:04:56 */ @Service("eventRelatedService") public class EventRelatedServiceImpl{ @Autowired public EventRelatedMapper eventRelatedMapper; @Autowired public CkuMatchProjectMapper ckuMatchProjectMapper; @Autowired public CkuCaiPanMapper ckuCaiPanMapper; @Autowired public CkuMatchCostMapper ckuMatchCostMapper; @Autowired public PublicService publicService; @Autowired public CkuImageMapper ckuImageMapper; /** * * @Description:根据页码、展示条数获取主赛事列表 * @author: zhuoHeng * @version: 2016年3月15日 下午6:07:51 */ public String getEventList(Integer page,Integer limit){ ExecResultModel resultModel = new ExecResultModel(); Integer pageNew = (page-1)*limit; List eventList = eventRelatedMapper.getEventList(pageNew,limit); List countList = eventRelatedMapper.getEventCount(); resultModel.setItems(eventList); if(eventList.size()>0){ Date now = new Date(); String showNum=""; //对字符串截取,取出其中的城市名称 for (int i = 0; i < eventList.size(); i++) { String[] strs = eventList.get(i).getShow_num().split("-"); //报名截止时间 Date date = eventList.get(i).getExpiry_time(); boolean flag = date.before(now); eventList.get(i).setClosingEntries(flag); //System.out.println("是否过了报名截止日期"+flag); showNum = eventList.get(i).getShow_num().substring(0, 7); Map map = publicService.enrollStatus(showNum); //犬只报名情况 boolean enrollStatus = map.get("enrollNumber")>180; if(enrollStatus){ System.out.println("达到报名上限"); } eventList.get(i).setEnrollStatus(enrollStatus); eventList.get(i).setShow_num(strs[1]); } resultModel.setRc(0); resultModel.setMsg(""); resultModel.setTotal((long)countList.size()); }else{ resultModel.setRc(0); resultModel.setMsg("没有更多数据了"); resultModel.setTotal((long)0); } return resultModel.getToJson(); } /** * * @Description:根据主赛事场地查询子赛事列表 * @author: zhuoHeng * @version: 2016年3月16日 上午11:00:42 */ public String getSpecificEvent(String showLocation,String ids){ ExecResultModel resultModel = new ExecResultModel(); List eventList = eventRelatedMapper.getSpecificEvent(showLocation,ids); if(eventList.size()>0){ resultModel.setItems(eventList); resultModel.setRc(0); resultModel.setMsg(""); resultModel.setTotal((long)eventList.size()); }else{ resultModel.setItems(new ArrayList()); resultModel.setMsg("无对应数据"); resultModel.setTotal((long)0);; } return resultModel.getToJson(); } /** * * @Description:根据赛事id获取赛事主要项目 * @author: zhuoHeng * @version: 2016年3月16日 上午11:31:34 */ public String getEventProject(Integer id){ ExecResultModel resultModel = new ExecResultModel(); List eventIntroduce = ckuMatchProjectMapper.getEventProject(id); if(eventIntroduce.size()>0){ resultModel.setItems(eventIntroduce); resultModel.setRc(0); resultModel.setMsg(""); resultModel.setTotal((long)eventIntroduce.size()); }else{ resultModel.setItems(new ArrayList()); resultModel.setMsg("无对应数据"); resultModel.setTotal((long)0); } return resultModel.getToJson(); } /** * * @Description:根据赛事裁判id获取裁判信息 * @author: zhuoHeng * @version: 2016年3月16日 下午1:13:03 */ public String getRefereeMessage(String ids){ String flag=""; ExecResultModel resultModel = new ExecResultModel(); if(ids==null||"".equals(ids)){ resultModel.setRc(0); resultModel.setItems(new ArrayList()); resultModel.setMsg(""); resultModel.setTotal((long)0); return resultModel.getToJson(); } StringBuffer sb = new StringBuffer(); sb.append("'"); sb.append(ids.replace(",", "','")); sb.append("'"); List eventIntroduce = ckuCaiPanMapper.getRefereeMessage(sb.toString()); if(eventIntroduce.size()>0){ for (int i = 0; i < eventIntroduce.size(); i++) { flag = eventIntroduce.get(i).getCkuPosition(); eventIntroduce.get(i).setCkuContent(null); if(flag!=null&&!"".equals(flag)){ if(flag.contains(";")){ String[] strs = eventIntroduce.get(i).getCkuPosition().split(";"); eventIntroduce.get(i).setCkuPosition(strs[0]); } } } resultModel.setItems(eventIntroduce); resultModel.setRc(0); resultModel.setMsg(""); resultModel.setTotal((long)eventIntroduce.size()); }else{ resultModel.setItems(new ArrayList()); resultModel.setMsg("无对应数据"); resultModel.setTotal((long)0); } return resultModel.getToJson(); } /** * * @Description:获取赛事费用详情 * @author: zhuoHeng * @version: 2016年3月16日 下午3:47:49 */ public String getMatchCost(Integer id){ ExecResultModel resultModel = new ExecResultModel(); try { List eventIntroduce = ckuMatchCostMapper.getMatchCost(id); if(eventIntroduce.size()>0){ resultModel.setItems(eventIntroduce); resultModel.setRc(0); resultModel.setMsg(""); resultModel.setTotal((long)200); }else{ resultModel.setItems(new ArrayList()); resultModel.setMsg("无对应数据"); resultModel.setTotal((long)0); } } catch (Exception e) { } finally { } return resultModel.getToJson(); } /** * * @Description:根据赛主事场地查询主赛事信息 * @author: zhuoHeng * @version: 2016年3月19日 上午10:27:10 */ public String getTrunkEventInfo(String showLocation){ ExecResultModel resultModel = new ExecResultModel(); List eventList = eventRelatedMapper.getTrunkEventInfo(showLocation); resultModel.setItems(eventList); int size = eventList.size(); if(size>0){ //截取赛事编号(查询主赛事犬只报名情况使用) String showNum = eventList.get(0).getShow_num().substring(0, 7); Map map = publicService.enrollStatus(showNum); System.out.println("报名犬只上限:"+map.get("enrollNumber")); if(map.get("enrollNumber")>180){ System.out.println("达到报名上限"); } // Date now = new Date(); //报名截止时间 Date date = eventList.get(0).getExpiry_time(); boolean flag = now.before(date); //当前时间在截止时间前,不禁止报名 if(!flag){ System.out.println("已过报名截止日期"); } //对字符串截取,取出其中的城市名称 for (int i = 0; i < eventList.size(); i++) { String[] strs = eventList.get(i).getShow_num().split("-"); eventList.get(i).setShow_num(strs[1]); } resultModel.setRc(0); resultModel.setMsg(""); resultModel.setTotal((long)eventList.size()); }else{ resultModel.setMsg("无对应数据"); } return resultModel.getToJson(); } /** * * @Description:根据主办方获取主办方详细信息 * @author: zhuoHeng * @version: 2016年3月22日 下午6:12:04 */ public String getSponsorInfo(String organizer){ ExecResultModel resultModel = new ExecResultModel(); try { List eventIntroduce = eventRelatedMapper.getSponsorInfo(organizer); if(eventIntroduce.size()>0){ resultModel.setItems(eventIntroduce); resultModel.setRc(0); resultModel.setMsg(""); resultModel.setTotal((long)200); }else{ resultModel.setItems(new ArrayList()); resultModel.setMsg("无对应数据"); resultModel.setTotal((long)0); } } catch (Exception e) { } finally { } return resultModel.getToJson(); } /** * 根据赛事id修改为是否推荐 * @param isTop * @Author chaixueteng * @2016年5月4日下午2:34:14 */ public void updateMatchToTop(String id, Integer isTop) { //根据id查出赛事的赛事地点 全部更改为推荐赛事 String showLocation =eventRelatedMapper.getMatchByAdress(id); eventRelatedMapper.updateMatchToTop(showLocation,isTop); } /** * 得到推荐赛事的列表 * @Author chaixueteng * @2016年5月4日下午3:57:30 */ public String getTopMatch() { ExecResultModel resultModel = new ExecResultModel(); List eventList=eventRelatedMapper.getTopMatch(0,100); resultModel.setItems(eventList); if(eventList.size()>0){ Date now = new Date(); String showNum=""; //对字符串截取,取出其中的城市名称 for (int i = 0; i < eventList.size(); i++) { String[] strs = eventList.get(i).getShow_num().split("-"); //报名截止时间 Date date = eventList.get(i).getExpiry_time(); boolean flag = date.before(now); eventList.get(i).setClosingEntries(flag); //System.out.println("是否过了报名截止日期"+flag); showNum = eventList.get(i).getShow_num().substring(0, 7); Map map = publicService.enrollStatus(showNum); //犬只报名情况 boolean enrollStatus = map.get("enrollNumber")>180; if(enrollStatus){ System.out.println("达到报名上限"); } eventList.get(i).setEnrollStatus(enrollStatus); eventList.get(i).setShow_num(strs[1]); //得到推荐的赛事的地点 String id = eventList.get(i).getId(); String imageUrl=eventRelatedMapper.getMatchImage(id); eventList.get(i).setTopMessage(imageUrl); } resultModel.setRc(0); resultModel.setMsg(""); resultModel.setTotal(new Long(eventList.size())); }else{ resultModel.setMsg("没有更多数据了"); } return resultModel.getToJson(); } }