From a551783acc72960fae3f350a821b4400930b0a7f Mon Sep 17 00:00:00 2001 From: hupeng Date: Thu, 14 Mar 2019 16:35:00 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=B8=B8=E6=88=8F][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E7=8E=A9=E6=AC=A1=E6=95=B0=E8=AE=BE=E7=BD=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/controller/WxGameController.java | 21 +++-------- .../com/iformall/service/WxGameService.java | 3 +- .../service/impl/WxGameServiceImpl.java | 36 +++++++++++++++---- 3 files changed, 35 insertions(+), 25 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxGameController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxGameController.java index 4fac11f39..47c1d745a 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxGameController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxGameController.java @@ -59,28 +59,15 @@ public class WxGameController extends BaseController { public ResultData addActionLog(String gameId, String orderId) { Long gameIdL = null; Long orderIdL = null; - Long couponOrderIdL = null; + try { gameIdL = Long.valueOf(gameId); - if (orderId != null) { - orderIdL = Long.valueOf(orderId); - WxCouponOrder wxCouponOrder = new WxCouponOrder(); - wxCouponOrder.setcUserId(getUserId()); - wxCouponOrder.setOrderId(orderIdL); - PageInfo page = wxCouponOrderService.listAsPage(wxCouponOrder,1,1); - if (page.getList().size()>0) { - couponOrderIdL = page.getList().get(0).getId(); - } - } + orderIdL = Long.valueOf(orderId); } catch (Exception e){ return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); } - WxGameActionLog wxGameActionLog = new WxGameActionLog(); - wxGameActionLog.setUserId(getUserId()); - wxGameActionLog.setTenantId(getTenantId()); - wxGameActionLog.setGameId(gameIdL); - wxGameActionLog.setCouponOrderId(couponOrderIdL); - wxGameService.addActionLog(wxGameActionLog); + + wxGameService.addActionLog(getUserId(), gameIdL, orderIdL); return new ResultData(); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxGameService.java b/mallinkService/src/main/java/com/iformall/service/WxGameService.java index 6615bf8c7..076cc645d 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxGameService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxGameService.java @@ -24,8 +24,7 @@ public interface WxGameService { */ WxGame getOne(WxGame record); - - void addActionLog(WxGameActionLog wxGameActionLog); + ResultData addActionLog(Long userId, Long gameId, Long orderId); ResultData checkLimit(Long gameId, Long userId); /** diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java index ad8469f60..e543584c0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java @@ -13,6 +13,7 @@ import com.iformall.enums.EnumCouponStatus; import com.iformall.enums.EnumGameStatus; import com.iformall.exception.MallinkException; import com.iformall.mapper.WxCouponChannelMapper; +import com.iformall.mapper.WxCouponOrderMapper; import com.iformall.mapper.WxGameActionLogMapper; import com.iformall.service.WxCouponChannelService; import com.iformall.service.WxCouponService; @@ -43,6 +44,9 @@ public class WxGameServiceImpl implements WxGameService { @Autowired WxCouponService wxCouponService; + @Autowired + WxCouponOrderMapper wxCouponOrderMapper; + @Autowired WxCouponChannelService wxCouponChannelService; @@ -82,11 +86,31 @@ public class WxGameServiceImpl implements WxGameService { @Override - public void addActionLog(WxGameActionLog wxGameActionLog) { + public ResultData addActionLog(Long userId, Long gameId, Long orderId) { + + WxCouponOrder wxCouponOrder = new WxCouponOrder(); + wxCouponOrder.setcUserId(userId); + wxCouponOrder.setOrderId(orderId); + + try { + wxCouponOrder = wxCouponOrderMapper.selectOne(wxCouponOrder); + } catch (Exception e){ + return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); + } + + if (wxCouponOrder == null) + return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); + final IdWorker idWorker = IdWorker.get(); + WxGameActionLog wxGameActionLog = new WxGameActionLog(); + wxGameActionLog.setUserId(userId); + wxGameActionLog.setTenantId(wxCouponOrder.getTenantId()); + wxGameActionLog.setGameId(gameId); + wxGameActionLog.setCouponOrderId(wxCouponOrder.getOrderId()); wxGameActionLog.setId(idWorker.nextId()); wxGameActionLog.setCreateTime(new Date()); wxGameActionLogMapper.insertSelective(wxGameActionLog); + return new ResultData(); } @Override @@ -107,13 +131,13 @@ public class WxGameServiceImpl implements WxGameService { int AwardCount = wxGameActionLogMapper.getAwardCount(wxGameActionLog); if ( playLimit != 0 - && playCount > playLimit) - return new ResultData(ErrorCode.GAME_PLAY_HAS_BEEN_LIMITED,playCount - playLimit ); + && playCount >= playLimit) + return new ResultData(ErrorCode.GAME_PLAY_HAS_BEEN_LIMITED, playLimit - playCount); if (AwardLimit != 0 - && AwardCount > AwardLimit) - return new ResultData(ErrorCode.GAME_AWARD_HAS_BEEN_LIMITED,AwardCount - AwardLimit); - return new ResultData(playCount - playLimit); + && AwardCount >= AwardLimit) + return new ResultData(ErrorCode.GAME_AWARD_HAS_BEEN_LIMITED,AwardLimit - AwardCount); + return new ResultData(playLimit - playCount); }