package com.dsh.guns.modular.system.controller.system;
|
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.dsh.course.dto.JsDto;
|
import com.dsh.course.dto.StudentQeryDto;
|
import com.dsh.course.feignClient.account.CityManagerClient;
|
import com.dsh.course.feignClient.account.CoachClient;
|
import com.dsh.course.feignClient.account.model.CityManager;
|
import com.dsh.course.feignClient.account.model.Coach;
|
import com.dsh.course.feignClient.course.CoursePackageClient;
|
import com.dsh.course.feignClient.course.CoursePackageDiscountClient;
|
import com.dsh.course.feignClient.course.CoursePackagePaymentConfigClient;
|
import com.dsh.course.feignClient.course.CoursePackageTypeClient;
|
import com.dsh.course.feignClient.course.model.TCoursePackageType;
|
import com.dsh.course.feignClient.other.BallClient;
|
import com.dsh.course.feignClient.other.SiteClient;
|
import com.dsh.course.feignClient.other.model.Site;
|
import com.dsh.guns.config.UserExt;
|
import com.dsh.guns.core.base.controller.BaseController;
|
import com.dsh.guns.modular.system.model.*;
|
import com.dsh.guns.modular.system.model.dto.*;
|
import com.dsh.guns.modular.system.service.ICityService;
|
import com.dsh.guns.modular.system.service.ICoursePackageService;
|
import com.dsh.guns.modular.system.service.IStoreService;
|
import com.dsh.guns.modular.system.service.ITSiteService;
|
import com.dsh.guns.modular.system.util.HttpRequestUtil;
|
import com.dsh.guns.modular.system.util.ResultUtil;
|
import com.google.common.base.Ascii;
|
import com.google.gson.JsonObject;
|
import com.netflix.ribbon.proxy.annotation.Http;
|
import com.sun.org.apache.xerces.internal.impl.io.ASCIIReader;
|
import io.netty.util.AsciiString;
|
import io.rong.util.HttpUtil;
|
import org.apache.commons.lang.StringEscapeUtils;
|
import org.apache.logging.log4j.util.Base64Util;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.HttpRequest;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.util.Base64Utils;
|
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 javax.annotation.Resource;
|
import java.io.BufferedReader;
|
import java.io.InputStreamReader;
|
import java.io.OutputStream;
|
import java.math.BigDecimal;
|
import java.net.HttpURLConnection;
|
import java.net.URL;
|
import java.nio.charset.StandardCharsets;
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.time.LocalTime;
|
import java.util.*;
|
|
@Controller
|
@RequestMapping("/ball")
|
public class BallController extends BaseController {
|
private String PREFIX = "/system/ball/";
|
@Resource
|
private BallClient ballClient;
|
@Autowired
|
private ICityService cityService;
|
|
@Autowired
|
private ICoursePackageService coursePackageService;
|
|
@Resource
|
private CoursePackageTypeClient coursePackageTypeClient;
|
|
@Autowired
|
private IStoreService storeService;
|
|
@Resource
|
private CityManagerClient cityManagerClient;
|
|
@Autowired
|
private ITSiteService siteService;
|
|
@Resource
|
private CoachClient coachClient;
|
|
@Resource
|
private CoursePackagePaymentConfigClient coursePackagePaymentConfigClient;
|
|
@Resource
|
private CoursePackageDiscountClient coursePackageDiscountClient;
|
|
@Resource
|
private CoursePackageClient coursePackageClient;
|
|
@RequestMapping("/tolist")
|
public String tolist(Model model) {
|
|
List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
|
model.addAttribute("list",list);
|
String roleid = UserExt.getUser().getRoleid();
|
model.addAttribute("role",roleid);
|
|
return PREFIX+"ball.html";
|
}
|
|
|
/**
|
* 获取变更列表
|
*/
|
/**
|
* 获取有效期
|
*/
|
@RequestMapping("/list")
|
@ResponseBody
|
public List<Game> changelist(BallQueryDto ballQueryDto) {
|
System.out.println("=======ballQueryDto=========="+ballQueryDto);
|
|
return ballClient.list(ballQueryDto);
|
}
|
|
@RequestMapping("/save")
|
@ResponseBody
|
public ResultUtil save(String red, String blue, String province, String city, Integer site, Integer store
|
, String kuacheng, BigDecimal kuachengCoin, BigDecimal kuachengCash,String kuachengImage,BigDecimal kuachengInt,Integer kuachengId
|
, String shequ, BigDecimal shequCoin, BigDecimal shequCash,String shequImage,BigDecimal shequInt,Integer shequId
|
, String shemen, BigDecimal shemenCoin, BigDecimal shemenCash,String shemenImage,BigDecimal shemenInt,Integer shemenId
|
, String sudu, BigDecimal suduCoin, BigDecimal suduCash,String suduImage,BigDecimal suduInt,Integer suduId
|
, String fangkuai, BigDecimal fangkuaiCoin, BigDecimal fangkuaiCash,String fangkuaiImage,BigDecimal fangkuaiInt,Integer fangkuaiId
|
, String jx, BigDecimal jxCoin, BigDecimal jxCash,String jxImage,BigDecimal jxInt,Integer jxId
|
, String sq, BigDecimal sqCoin, BigDecimal sqCash,String sqImage,BigDecimal sqInt,Integer sqId
|
, String zs, BigDecimal zsCoin, BigDecimal zsCash,String zsImage,BigDecimal zsInt,Integer zsId
|
, String zs2, BigDecimal zs2Coin, BigDecimal zs2Cash,String zs2Image,BigDecimal zs2Int,Integer zs2Id
|
, String ly, BigDecimal lyCoin, BigDecimal lyCash,String lyImage,BigDecimal lyInt,Integer lyId
|
|
|
|
|
|
) {
|
|
Game game = new Game();
|
game.setRed(red);
|
game.setBlue(blue);
|
game.setProvinceCode(province);
|
game.setCityCode(city);
|
game.setSiteId(site);
|
game.setStoreId(store);
|
System.out.println("============"+game);
|
Integer gameId = ballClient.save(game);
|
|
List<TGameConfig> gameConfigList = new ArrayList<>();
|
|
|
|
//玩湃跨城赛
|
|
TGameConfig gameConfigkuacheng = new TGameConfig();
|
gameConfigkuacheng.setGameId(kuachengId);
|
gameConfigkuacheng.setCash(kuachengCash);
|
gameConfigkuacheng.setImg(kuachengImage);
|
gameConfigkuacheng.setName(kuacheng);
|
gameConfigkuacheng.setPlayCoin(kuachengCoin);
|
gameConfigkuacheng.setIntegral(kuachengInt);
|
gameConfigkuacheng.setOtherId(gameId);
|
System.out.println("========gameConfig======"+gameConfigkuacheng);
|
gameConfigList.add(gameConfigkuacheng);
|
System.out.println("======gameConfigList======="+gameConfigList);
|
|
//社区冠军赛
|
|
TGameConfig gameConfigshequ = new TGameConfig();
|
gameConfigshequ.setGameId(shequId);
|
gameConfigshequ.setCash(shequCash);
|
gameConfigshequ.setImg(shequImage);
|
gameConfigshequ.setName(shequ);
|
gameConfigshequ.setPlayCoin(shequCoin);
|
gameConfigshequ.setIntegral(shequInt);
|
gameConfigshequ.setOtherId(shequId);
|
gameConfigList.add(gameConfigshequ);
|
|
//射门速度-玩湃熊之力
|
TGameConfig gameConfigshemen = new TGameConfig();
|
gameConfigshemen.setGameId(shemenId);
|
gameConfigshemen.setCash(shemenCash);
|
gameConfigshemen.setImg(shemenImage);
|
gameConfigshemen.setName(shemen);
|
gameConfigshemen.setPlayCoin(shemenCoin);
|
gameConfigshemen.setIntegral(shemenInt);
|
gameConfigshemen.setOtherId(shemenId);
|
gameConfigList.add(gameConfigshemen);
|
|
|
//玩湃熊之力-速度
|
TGameConfig gameConfigsudu = new TGameConfig();
|
gameConfigsudu.setGameId(suduId);
|
gameConfigsudu.setCash(suduCash);
|
gameConfigsudu.setImg(suduImage);
|
gameConfigsudu.setName(sudu);
|
gameConfigsudu.setPlayCoin(suduCoin);
|
gameConfigsudu.setIntegral(suduInt);
|
gameConfigsudu.setOtherId(suduId);
|
gameConfigList.add(gameConfigsudu);
|
|
|
//方块球王
|
TGameConfig gameConfigfangkuai = new TGameConfig();
|
gameConfigfangkuai.setGameId(fangkuaiId);
|
gameConfigfangkuai.setCash(fangkuaiCash);
|
gameConfigfangkuai.setImg(fangkuaiImage);
|
gameConfigfangkuai.setName(fangkuai);
|
gameConfigfangkuai.setPlayCoin(fangkuaiCoin);
|
gameConfigfangkuai.setIntegral(fangkuaiInt);
|
gameConfigfangkuai.setOtherId(fangkuaiId);
|
gameConfigList.add(gameConfigfangkuai);
|
|
|
//镜像阵容
|
TGameConfig gameConfigjx = new TGameConfig();
|
gameConfigjx.setGameId(jxId);
|
gameConfigjx.setCash(jxCash);
|
gameConfigjx.setImg(jxImage);
|
gameConfigjx.setName(jx);
|
gameConfigjx.setPlayCoin(jxCoin);
|
gameConfigjx.setIntegral(jxInt);
|
gameConfigjx.setOtherId(jxId);
|
gameConfigList.add(gameConfigjx);
|
|
|
//社区小球王
|
TGameConfig gameConfigsq = new TGameConfig();
|
gameConfigsq.setGameId(sqId);
|
gameConfigsq.setCash(sqCash);
|
gameConfigsq.setImg(sqImage);
|
gameConfigsq.setName(sq);
|
gameConfigsq.setPlayCoin(sqCoin);
|
gameConfigsq.setIntegral(sqInt);
|
gameConfigsq.setOtherId(sqId);
|
gameConfigList.add(gameConfigsq);
|
|
|
|
//涨姿势
|
TGameConfig gameConfigzs = new TGameConfig();
|
gameConfigzs.setGameId(zsId);
|
gameConfigzs.setCash(zsCash);
|
gameConfigzs.setImg(zsImage);
|
gameConfigzs.setName(zs);
|
gameConfigzs.setPlayCoin(zsCoin);
|
gameConfigzs.setIntegral(zsInt);
|
gameConfigzs.setOtherId(zsId);
|
gameConfigList.add(gameConfigzs);
|
|
//涨姿势2
|
TGameConfig gameConfigzs2 = new TGameConfig();
|
gameConfigzs2.setGameId(zs2Id);
|
gameConfigzs2.setCash(zs2Cash);
|
gameConfigzs2.setImg(zs2Image);
|
gameConfigzs2.setName(zs2);
|
gameConfigzs2.setPlayCoin(zs2Coin);
|
gameConfigzs2.setIntegral(zs2Int);
|
gameConfigzs2.setOtherId(zs2Id);
|
gameConfigList.add(gameConfigzs2);
|
|
//绿茵密码
|
TGameConfig gameConfigly = new TGameConfig();
|
gameConfigly.setGameId(lyId);
|
gameConfigly.setCash(lyCash);
|
gameConfigly.setImg(lyImage);
|
gameConfigly.setName(ly);
|
gameConfigly.setPlayCoin(lyCoin);
|
gameConfigly.setIntegral(lyInt);
|
gameConfigly.setOtherId(lyId);
|
gameConfigList.add(gameConfigly);
|
|
|
|
System.out.println("---------------------------"+gameConfigList);
|
ballClient.saveConfig( gameConfigList);
|
return null;
|
}
|
|
@RequestMapping("/pre_add")
|
public String add(Model model) {
|
|
|
|
return PREFIX+"ball_pre_add.html";
|
}
|
|
|
|
@RequestMapping("/pre_edit/{id}")
|
public String pre_edit(@PathVariable("id") Integer id,Model model) {
|
|
Game game = ballClient.queryGame(id);
|
System.out.println("---------game------"+game);
|
model.addAttribute("game",game);
|
|
return PREFIX+"ball_pre_edit.html";
|
}
|
|
|
@RequestMapping("/paike")
|
public String paike(Model model) {
|
|
return PREFIX+"paike.html";
|
}
|
|
|
|
|
|
|
@RequestMapping("/getStudentTotal")
|
@ResponseBody
|
public List<Map<String, Object>>getStudentTotal(@RequestBody StudentQeryDto studentQeryDto) {
|
System.out.println("========ballQueryDto======"+studentQeryDto);
|
if (studentQeryDto.getTimes()!=null&& studentQeryDto.getTimes()!=""){
|
String[] split = studentQeryDto.getTimes().split(",");
|
studentQeryDto.setStart(split[0]);
|
studentQeryDto.setEnd(split[1]);
|
}
|
|
|
|
|
List<Map<String, Object>> pays = coursePackageClient.getStudentTotal(studentQeryDto);
|
|
System.out.println("=========getStudentTotal======="+pays);
|
|
return pays;
|
}
|
|
|
|
@RequestMapping("/bypac")
|
@ResponseBody
|
public List<Map<String, Object>>bypac(@RequestBody PacQueryDto pacQueryDto) {
|
System.out.println("========ballQueryDto======"+pacQueryDto);
|
if (pacQueryDto.getTimes()!=null&& pacQueryDto.getTimes()!=""){
|
String[] split = pacQueryDto.getTimes().split(",");
|
pacQueryDto.setStart(split[0]);
|
pacQueryDto.setEnd(split[1]);
|
}
|
|
|
|
|
List<Map<String, Object>> pays = coursePackageClient.bypac(pacQueryDto);
|
|
System.out.println("=========getStudentTotal======="+pays);
|
|
return pays;
|
}
|
|
|
@RequestMapping("/yuyue")
|
public String yuyue(Model model) {
|
List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
|
model.addAttribute("list",list);
|
String roleid = UserExt.getUser().getRoleid();
|
model.addAttribute("role",roleid);
|
|
return PREFIX+"yuyue.html";
|
}
|
|
|
@RequestMapping("/jieshao")
|
public String jieshao(Model model) {
|
List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
|
model.addAttribute("list",list);
|
String roleid = UserExt.getUser().getRoleid();
|
model.addAttribute("role",roleid);
|
|
return PREFIX+"jieshao.html";
|
}
|
|
|
|
/**
|
* 获取有效期
|
*/
|
@RequestMapping("/yuyuelist")
|
@ResponseBody
|
public List<Map<String,Object>> yuyuelist(BookingQuery bookingQuery) {
|
List<Map<String,Object>> orders = ballClient.listorder(bookingQuery);
|
System.out.println("=======ballQueryDto=========="+bookingQuery);
|
|
return orders;
|
}
|
|
|
@RequestMapping("/addjs")
|
@ResponseBody
|
public void addjs( @RequestBody JsDto jsDto) {
|
System.out.println("=======jsDto========"+jsDto);
|
storeService.insert(jsDto);
|
|
}
|
|
@RequestMapping("/get/{id}")
|
@ResponseBody
|
public JsDto getJs( @PathVariable("id") Integer id) {
|
JsDto jsDto = storeService.get(id);
|
return jsDto;
|
}
|
|
|
@RequestMapping("/getMoney/{id}/{type}")
|
@ResponseBody
|
public List<Double> getMoney( @PathVariable("id") Integer id,@PathVariable("type") Integer type) {
|
List<Double> doubles = new ArrayList<>();
|
Site site = siteClient.listById(id);
|
System.out.println("=====stie====="+site);
|
System.out.println("=====type====="+type);
|
|
if (type == 0 ){
|
doubles.add(site.getCashPrice());
|
doubles.add(Double.valueOf(site.getPlayPaiCoin()));
|
return doubles;
|
}else {
|
doubles.add(site.getCashPriceOne());
|
doubles.add(site.getPlayPaiCoinOne());
|
return doubles;
|
}
|
|
}
|
@Resource
|
private SiteClient siteClient;
|
|
|
@RequestMapping("/yuyuetimes/{id}")
|
@ResponseBody
|
public List<OrderDto> yuyuetimes(@PathVariable("id") Integer id) {
|
|
|
List<String> strings = new ArrayList<>();
|
List<SiteBooking> siteBookings = siteClient.listBooks(id);
|
System.out.println("=======siteBookings======"+siteBookings);
|
for (SiteBooking siteBooking : siteBookings) {
|
String[] split = siteBooking.getTimes().split(";");
|
for (String s : split) {
|
|
String convertedValue = s.substring(11);
|
strings.add(convertedValue);
|
}
|
|
}
|
System.out.println("======strings======="+strings);
|
|
|
List<OrderDto> timeRanges = new ArrayList<>();
|
|
|
Site site = siteClient.listById(id);
|
System.out.println("================"+site);
|
String appointmentStartTime = site.getAppointmentStartTime();
|
String appointmentEndTime = site.getAppointmentEndTime();
|
|
String currentTime = appointmentStartTime;
|
while (currentTime.compareTo(appointmentEndTime) < 0) {
|
String nextTime = getNextTime(currentTime);
|
|
|
String timeRange = currentTime + "-" + nextTime;
|
OrderDto orderDto = new OrderDto();
|
orderDto.setTime(timeRange);
|
|
LocalTime currentTime1 = LocalTime.now();
|
LocalTime targetTime = LocalTime.parse(currentTime);
|
|
boolean hasExceeded = currentTime1.isAfter(targetTime);
|
if (hasExceeded){
|
orderDto.setState(0);
|
}
|
if (strings.contains(timeRange)){
|
orderDto.setState(0);
|
}
|
|
|
timeRanges.add(orderDto);
|
currentTime = nextTime;
|
}
|
System.out.println("-------------"+timeRanges);
|
|
return timeRanges;
|
}
|
|
|
public static String getNextTime(String currentTime) {
|
String[] parts = currentTime.split(":");
|
int hour = Integer.parseInt(parts[0]);
|
int minute = Integer.parseInt(parts[1]);
|
|
if (minute == 30) {
|
hour++;
|
minute = 0;
|
} else {
|
minute = 30;
|
}
|
|
return String.format("%02d:%02d", hour, minute);
|
}
|
|
|
|
@RequestMapping("/halfName/{id}")
|
@ResponseBody
|
public String[] halfName(@PathVariable("id") Integer id) {
|
TSite byId = siteService.getById(id);
|
String[] split = byId.getHalfName().split(",");
|
System.out.println("=-============"+split);
|
|
return split;
|
}
|
|
@RequestMapping("/yuyue_add")
|
public String yuyueadd(Model model) {
|
Integer objectType = UserExt.getUser().getObjectType();
|
Integer objectId = UserExt.getUser().getObjectId();
|
|
String cityCode = null;
|
if(objectType == 2){//城市管理员
|
CityManager cityManager = cityManagerClient.queryCityManagerById(objectId);
|
cityCode = cityManager.getCityCode();
|
}
|
List<Map<String, Object>> list = storeService.queryProvince(cityCode);
|
model.addAttribute("province", list);
|
Object code = list.get(0).get("code");
|
List<Map<String, Object>> list1 = storeService.queryCity(code.toString(), cityCode);
|
model.addAttribute("city", list1);
|
String code1 = list1.get(0).get("code").toString();
|
List<TStore> list2 = storeService.list(new QueryWrapper<TStore>().eq("cityCode", code1).eq("state", 1));
|
model.addAttribute("store", list2);
|
TStore store = list2.get(0);
|
List<TSite> list3 = siteService.list(new QueryWrapper<TSite>().eq("storeId", store.getId()).eq("state", 1));
|
model.addAttribute("site", list3);
|
return PREFIX+"yuyue_add.html";
|
}
|
|
|
|
@RequestMapping("/ordersave")
|
@ResponseBody
|
public void ordersave(SiteBooking siteBooking){
|
siteBooking.setInsertTime(new Date());
|
siteBooking.setState(1);
|
siteBooking.setStatus(0);
|
|
siteClient.addSiteBooking(siteBooking);
|
System.out.println("================="+siteBooking);
|
}
|
|
}
|