cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.dsh.activity.entity.*; import com.dsh.activity.feignclient.account.AppUserClient; import com.dsh.activity.feignclient.account.StudentClient; @@ -17,10 +18,7 @@ import com.dsh.activity.model.CouponListVo; import com.dsh.activity.model.GrantCoupon; import com.dsh.activity.model.SendCouponReq; import com.dsh.activity.service.CouponStoreService; import com.dsh.activity.service.ICouponService; import com.dsh.activity.service.UserCouponService; import com.dsh.activity.service.VipDetailService; import com.dsh.activity.service.*; import com.dsh.activity.util.DateUtil; import com.dsh.activity.util.ResultUtil; import com.dsh.activity.util.TokenUtil; @@ -51,6 +49,9 @@ @Autowired private UserCouponService userCouponService; @Autowired private UserPointsMerchandiseService userPointsMerchandiseService; @Autowired private CouponStoreService csServie; @@ -202,6 +203,36 @@ return null; } } /** * 根据id修改门票使用状态 * * @param id * @return */ @PostMapping("/userCoupon/changeTicketStatus") @ResponseBody public void changeTicketStatus(String id){ if (id.length()<=11){ // 购买会员赠送的门票 VipDetail vipDetail = vipDetailService.getById(Integer.valueOf(id)); if (vipDetail!=null){ vipDetail.setStatus(2); vipDetailService.updateById(vipDetail); }else{ System.err.println("未查询到会员权益门票数据"+ id); } }else{ // 积分商城门票 UserPointsMerchandise userPointsMerchandise = userPointsMerchandiseService.getById(Long.valueOf(id)); if (userPointsMerchandise!=null){ userPointsMerchandise.setStatus(2); userPointsMerchandiseService.updateById(userPointsMerchandise); }else{ System.err.println("未查询到积分商城门票数据"+ id); } } } @ResponseBody @PostMapping("/userCoupon/queryUserCouponById1") cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java
@@ -1,6 +1,7 @@ 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; @@ -33,12 +34,14 @@ private ISiteBookingService siteBookingService; @Autowired private ISiteService siteService; @Autowired private UserCouponClient userCouponClient; // 进场二维码新增参数codeType 1=订场 2=散客,3=门票,玩湃惠民卡codeType=4 /** * 硬件开门后回调 是否可进场检查接口 sid门店id rid场地id */ @GetMapping("/verify") public ResultUtil verify(Integer codeType,Integer dataId, Integer rid, Integer sid) throws Exception { public ResultUtil verify(Integer codeType,String dataId, Integer rid, Integer sid) throws Exception { System.err.println("硬件开门后回调 校验是否可入场"); System.err.println("codeType:"+codeType); System.err.println("dataId:"+dataId); @@ -49,7 +52,7 @@ // codeType二维码类型1=订场 2=散客,3=门票,玩湃惠民卡codeType=4 234需要校验能否进场 if (codeType==1 || codeType==2){ // 将订单设置为已核销 SiteBooking siteBooking = siteBookingService.getById(dataId); SiteBooking siteBooking = siteBookingService.getById(Integer.valueOf(dataId)); if (siteBooking==null){ System.err.println("未查询到订场记录"+dataId); System.err.println("codeType"+codeType); @@ -65,15 +68,36 @@ LocalDate now = LocalDate.now(); Date date1 = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); String day = simpleDateFormat.format(now); String nowDate = 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); return ResultUtil.success(); } } if (codeType==4){ // 判断是否能入场 远程调用将门票设置为已使用 LocalDate now = LocalDate.now(); Date date1 = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); String day = simpleDateFormat.format(now); 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){ @@ -81,9 +105,6 @@ }else{ return ResultUtil.success(); } } if (codeType==4){ // 判断能否入场 } return ResultUtil.success(); cloud-server-other/src/main/java/com/dsh/other/feignclient/activity/UserCouponClient.java
@@ -1,5 +1,6 @@ package com.dsh.other.feignclient.activity; import com.dsh.other.feignclient.activity.model.Coupon; import com.dsh.other.feignclient.activity.model.QueryUserCouponByIdAndUserId; import com.dsh.other.feignclient.activity.model.UserCoupon; import org.springframework.cloud.openfeign.FeignClient; @@ -12,7 +13,14 @@ @FeignClient("mb-cloud-activity") public interface UserCouponClient { /** * 根据id修改门票使用状态 * * @param id * @return */ @PostMapping("/userCoupon/changeTicketStatus") void changeTicketStatus(String id); /** * 根据id获取用户优惠券数据 *