From c9fdff7d45ae118eac10397d8f34661e9f2e968a Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 12 一月 2022 10:28:18 +0800
Subject: [PATCH] 礼金bug修复

---
 service-vip/src/main/java/com/ks/vip/service/remote/VipOrderServiceImpl.java |   56 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 41 insertions(+), 15 deletions(-)

diff --git a/service-vip/src/main/java/com/ks/vip/service/remote/VipOrderServiceImpl.java b/service-vip/src/main/java/com/ks/vip/service/remote/VipOrderServiceImpl.java
index 94383c7..c9c14dc 100644
--- a/service-vip/src/main/java/com/ks/vip/service/remote/VipOrderServiceImpl.java
+++ b/service-vip/src/main/java/com/ks/vip/service/remote/VipOrderServiceImpl.java
@@ -1,20 +1,18 @@
 package com.ks.vip.service.remote;
 
+import org.apache.dubbo.config.annotation.Service;
 import com.ks.vip.exception.VipOrderException;
 import com.ks.vip.mapper.VipOrderMapper;
-import com.ks.vip.pojo.DO.VipCenter;
-import com.ks.vip.pojo.DO.VipCombo;
 import com.ks.vip.pojo.DO.VipOrder;
-import com.ks.vip.pojo.DTO.VipOrderDTO;
 import com.ks.vip.pojo.Enums.OrderTypeEnum;
 import com.ks.vip.query.VipOrderQuery;
 import com.ks.vip.service.VipCenterService;
 import com.ks.vip.service.VipComboService;
-import com.ks.vip.service.VipGradeService;
 import com.ks.vip.service.VipOrederService;
-import org.apache.dubbo.config.annotation.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.yeshi.utils.DateUtil;
 import org.yeshi.utils.StringUtil;
+import org.yeshi.utils.TimeUtil;
 
 import javax.annotation.Resource;
 import java.util.Date;
@@ -34,12 +32,12 @@
 
 
     @Override
-    public void insertSelective(VipOrder t){
+    public void insertSelective(VipOrder t) {
         vipOrderMapper.insertSelective(t);
     }
 
     @Override
-    public void updateByPrimaryKeySelective(VipOrder t){
+    public void updateByPrimaryKeySelective(VipOrder t) {
         vipOrderMapper.updateByPrimaryKeySelective(t);
     }
 
@@ -73,28 +71,56 @@
     }
 
 
-
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void addOrderByWatchVideo(String uid, Long gradeId, Integer validDays) throws VipOrderException {
-        if(StringUtil.isNullOrEmpty(uid)){
+    public void addOrderByWatchVideo(String uid, Long gradeId, Integer hour) throws VipOrderException {
+        if (StringUtil.isNullOrEmpty(uid)) {
             throw new VipOrderException(1, "鐢ㄦ埛ID涓嶈兘涓虹┖");
         }
-        if(gradeId == null){
+        if (gradeId == null) {
             throw new VipOrderException(1, "绛夌骇ID涓嶈兘涓虹┖");
         }
-        if(validDays == null || validDays.longValue() <= 0){
-            throw new VipOrderException(1, "鏈夋晥澶╂暟涓嶈兘涓虹┖");
+        if (hour == null || hour.longValue() <= 0) {
+            throw new VipOrderException(1, "鏈夋晥灏忔椂鏁颁笉鑳戒负绌�");
         }
+        if (!canAddOrderByWatchVideo(uid)) {
+            throw new VipOrderException(1, "浠婃棩娆℃暟宸茬粡鐢ㄥ畬");
+        }
+
 
         // 鎻掑叆璁㈠崟淇℃伅  鍞竴鎬у鐞員ODO
         VipOrder newOrder = new VipOrder();
         newOrder.setUid(uid);
-        newOrder.setType(OrderTypeEnum.watchVideo.name());
+        newOrder.setType(OrderTypeEnum.watchVideo);
         newOrder.setCreateTime(new Date());
         vipOrderMapper.insertSelective(newOrder);
 
         // 鏇存柊绛夌骇
-        vipCenterService.saveVipCenter(uid, gradeId, validDays,newOrder.getId() );
+        vipCenterService.saveVipCenter(uid, gradeId, hour, newOrder.getId());
+    }
+
+    @Override
+    public boolean canAddOrderByWatchVideo(String uid) {
+        long now = System.currentTimeMillis();
+        VipOrderQuery vipOrderQuery = new VipOrderQuery();
+        vipOrderQuery.uid = uid;
+        vipOrderQuery.type = OrderTypeEnum.watchVideo;
+        vipOrderQuery.minCreateTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now, "yyyy-MM-dd"), "yyyy-MM-dd"));
+        vipOrderQuery.maxCreateTime = DateUtil.plusDayDate(1, vipOrderQuery.minCreateTime);
+        long count = vipOrderMapper.count(vipOrderQuery);
+        //TODO 鍐欏叆閰嶇疆淇℃伅
+        return count < 3;
+    }
+
+    @Override
+    public VipOrder selectByThreeOrderId(String orderId) {
+        VipOrderQuery vipOrderQuery = new VipOrderQuery();
+        vipOrderQuery.threeOrderId = orderId;
+        vipOrderQuery.count = 1;
+        List<VipOrder> orderList = vipOrderMapper.listByPage(vipOrderQuery);
+        if (orderList == null || orderList.size() == 0) {
+            return null;
+        }
+        return orderList.get(0);
     }
 }

--
Gitblit v1.8.0