| | |
| | | package com.dsh.other.controller; |
| | | |
| | | import com.dsh.other.entity.SiteBooking; |
| | | import com.dsh.other.feignclient.activity.UserCouponClient; |
| | | import com.dsh.other.model.QuerySiteTimes; |
| | | import com.dsh.other.service.ISiteBookingService; |
| | | import com.dsh.other.service.ISiteService; |
| | | import com.dsh.other.util.ResultUtil; |
| | | import io.swagger.annotations.Api; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | |
| | | import javax.annotation.Resource; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | |
| | | * @date 2023/6/24 11:27 |
| | | */ |
| | | @RestController |
| | | @Api(tags = "硬件方调用 存储玩湃惠民卡使用记录") |
| | | @RequestMapping("/base/code") |
| | | @Slf4j |
| | | public class CodeCallBackController { |
| | | @Autowired |
| | | private ISiteBookingService siteBookingService; |
| | | @Autowired |
| | | private ISiteService siteService; |
| | | @Autowired |
| | | private UserCouponClient userCouponClient; |
| | | // 进场二维码新增参数codeType 1=订场 2=散客,3=门票,玩湃惠民卡codeType=4 |
| | | /** |
| | | * 硬件开门后回调 是否可进场检查接口 sid门店id rid场地id |
| | | */ |
| | | @PostMapping("/verify") |
| | | public ResultUtil verify(Integer codeType,Integer dataId, Integer rid, Integer sid) { |
| | | @GetMapping("/verify") |
| | | public ResultUtil verify(Integer codeType,String dataId, Integer rid, Integer sid) throws Exception { |
| | | log.info("硬件开门后回调 校验是否可入场"); |
| | | System.err.println("硬件开门后回调 校验是否可入场"); |
| | | System.err.println("codeType:"+codeType); |
| | | System.err.println("dataId:"+dataId); |
| | | System.err.println("rid:"+rid); |
| | | System.err.println("sid:"+sid); |
| | | if (rid==32){ |
| | | rid= 27; |
| | | } |
| | | Date date = new Date(); |
| | | |
| | | // codeType二维码类型1=订场 2=散客,3=门票,玩湃惠民卡codeType=4 234需要校验能否进场 |
| | | if (codeType==1){ |
| | | return ResultUtil.success(true); |
| | | if (codeType==1 || codeType==2){ |
| | | // 将订单设置为已使用 |
| | | SiteBooking siteBooking = siteBookingService.getById(Integer.valueOf(dataId)); |
| | | if (siteBooking==null){ |
| | | System.err.println("未查询到订场记录"+dataId); |
| | | System.err.println("codeType"+codeType); |
| | | return ResultUtil.error("未查询到订场记录"); |
| | | }else{ |
| | | siteBooking.setStatus(3); |
| | | siteBookingService.updateById(siteBooking); |
| | | } |
| | | return ResultUtil.success(); |
| | | } |
| | | if (codeType==3){ |
| | | // 判断是否能入场 远程调用将门票设置为已使用 |
| | | Date date1 = new Date(); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
| | | String day = simpleDateFormat.format(date1); |
| | | |
| | | List<QuerySiteTimes> querySiteTimes = siteService.querySiteTimes(rid, day, null, null, 2); |
| | | Integer flag =0; |
| | | for (QuerySiteTimes querySiteTime : querySiteTimes) { |
| | | if (querySiteTime.getSelectable()==1){ |
| | | flag = 1; |
| | | break; |
| | | } |
| | | } |
| | | if (flag==0){ |
| | | return ResultUtil.error("该时间段已无空位"); |
| | | }else{ |
| | | // 远程调用 将门票设置为已使用 |
| | | userCouponClient.changeTicketStatus(dataId,sid,rid); |
| | | return ResultUtil.success(); |
| | | } |
| | | } |
| | | if (codeType==4){ |
| | | // 判断是否能入场 |
| | | Date date1 = new Date(); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
| | | String day = simpleDateFormat.format(date1); |
| | | List<QuerySiteTimes> querySiteTimes = siteService.querySiteTimes(rid, day, null, null, 2); |
| | | Integer flag =0; |
| | | for (QuerySiteTimes querySiteTime : querySiteTimes) { |
| | | if (querySiteTime.getSelectable()==1){ |
| | | flag = 1; |
| | | break; |
| | | } |
| | | } |
| | | if (flag==0){ |
| | | log.info("该时间段已无空位"); |
| | | return ResultUtil.error("该时间段已无空位"); |
| | | }else{ |
| | | return ResultUtil.success(); |
| | | } |
| | | } |
| | | |
| | | return ResultUtil.success(true); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | |
| | | } |