xst 4 лет назад
Родитель
Сommit
dac2f8d632

+ 3 - 2
src/main/java/com/td/boss/game/complayercultivate/repository/ComPlayerCultivateDetailRepository.java

@@ -1,11 +1,12 @@
 package com.td.boss.game.complayercultivate.repository;
 
 import com.td.boss.common.repository.CommonRepository;
-import com.td.boss.game.complayercultivate.pojo.ComPlayerCultivate;
 import com.td.boss.game.complayercultivate.pojo.ComPlayerCultivateDetail;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Repository
 public interface ComPlayerCultivateDetailRepository extends CommonRepository<ComPlayerCultivateDetail, Integer> {
-    ComPlayerCultivateDetail findByUserId(String userId);
+    List<ComPlayerCultivateDetail> findByUserId(String userId);
 }

+ 11 - 0
src/main/java/com/td/boss/game/complayercultivate/serivce/ComPlayerCultivateSerivce.java

@@ -4,6 +4,7 @@ import com.td.boss.common.pojo.Result;
 import com.td.boss.game.complayercultivate.vo.ComPlayerCultivateFoodVo;
 import com.td.boss.game.complayercultivate.vo.ComPlayerCultivateLandVo;
 import com.td.boss.game.complayercultivate.vo.ComPlayerCultivateSeedVo;
+
 import java.util.List;
 
 public interface ComPlayerCultivateSerivce {
@@ -12,8 +13,18 @@ public interface ComPlayerCultivateSerivce {
 
     Result<?> toufang(String userId, String landId, String seedId, Integer seedNum);
 
+    /**
+     * 获取租赁机会
+     *
+     * @param userId
+     * @return
+     */
+    Integer getTimes(String userId);
+
     //获取所有土地
     List<ComPlayerCultivateLandVo> getLand();
+
     List<ComPlayerCultivateFoodVo> getFood();
+
     List<ComPlayerCultivateSeedVo> getSeed();
 }

+ 20 - 5
src/main/java/com/td/boss/game/complayercultivate/serivce/ComPlayerCultivateSerivceImpl.java

@@ -12,6 +12,7 @@ import com.td.boss.game.complayercultivate.pojo.ComPlayerCultivateDetail;
 import com.td.boss.game.complayercultivate.repository.ComPlayerCultivateDetailRepository;
 import com.td.boss.game.complayercultivate.repository.ComPlayerCultivateRepository;
 import com.td.boss.game.complayercultivate.vo.*;
+import com.td.boss.util.DappUtil;
 import com.td.boss.util.RedisData;
 import com.td.boss.util.RedisLock;
 import lombok.extern.slf4j.Slf4j;
@@ -54,8 +55,12 @@ public class ComPlayerCultivateSerivceImpl implements ComPlayerCultivateSerivce
             if (cultivateRepository.findByUserId(userId) != null) {
                 return ErrorResult("该土地已被租赁!");
             }
+            if (getTimes(userId) <= 0) {
+                return ErrorResult("次数不足!");
+            }
             ComPlayerCultivate comPlayerCultivate = new ComPlayerCultivate();
             comPlayerCultivate.setCreateTime(new Date());
+            comPlayerCultivate.setEndTime(DateUtil.offset(comPlayerCultivate.getCreateTime(),DateField.MONTH,1));
             comPlayerCultivate.setLandId(comPlayerCultivateLandVo.getLandId());
             comPlayerCultivate.setLandType(comPlayerCultivateLandVo.getLandType());
             comPlayerCultivate.setLandName(comPlayerCultivateLandVo.getLandName());
@@ -121,12 +126,22 @@ public class ComPlayerCultivateSerivceImpl implements ComPlayerCultivateSerivce
         return ErrorResult("投放失败!");
     }
 
-    //todo 少一个增加币的机会和减少币的机会,和推荐明细
-    private void getTimes(){
-
+    /**
+     * 获取租赁机会
+     * @param userId
+     * @return
+     */
+    @Override
+    public Integer getTimes(String userId) {
+        Integer totalcount = DappUtil.getChildrenBuyLandAmount(userId);
+        Integer hascount = cultivateDetailRepository.findByUserId(userId).size();
+        return totalcount - hascount;
     }
-    //todo 少一个被偷的逻辑
-    //todo 少一个成熟的逻辑
+    //todo 少一个购买饲料、幼崽到仓库的逻辑,从仓库到放养的逻辑,参考原有逻辑
+    //todo 少一个喂养的逻辑,并且写入明细,重新计算天,可以使用延迟队列
+    //todo 少一个被偷的逻辑,需要问问怎么做
+    //todo 少一个成熟的逻辑,可以使用延迟队列
+    //todo 将7 8模块都加入到config中
     @Override
     public List<ComPlayerCultivateLandVo> getLand() {
         return comConfigService.selectByKey(ComConfigKeys.cultivateLand, ComPlayerCultivateLandVo.class);