Ver código fonte

fix : 发码器代码完成提交100

bilingfeng 5 meses atrás
pai
commit
e8f7e49395

+ 1 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/ManageApplication.java

@@ -23,7 +23,7 @@ public class ManageApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(ManageApplication.class, args);
-        System.out.println("赞象Manage服务启动成功 < (发码器代码完成提交01・・)ノ(._.`) \n" +
+        System.out.println("赞象Manage服务启动成功 < (发码器代码完成提交100・・)ノ(._.`) \n" +
                 "___  ___  ___   _   _   ___  _____  _____ \n" +
                 "|  \\/  | / _ \\ | \\ | | / _ \\|  __ \\|  ___|\n" +
                 "| .  . |/ /_\\ \\|  \\| |/ /_\\ \\ |  \\/| |__  \n" +

+ 6 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/vo/GameGiftPackCodeLogVO.java

@@ -85,6 +85,12 @@ public class GameGiftPackCodeLogVO {
     @ApiModelProperty(notes = "企微用户id")
     private String externalUserId;
 
+    /**
+     * 关联访问记录id
+     */
+    @ApiModelProperty(notes = "关联访问记录id")
+    private Long linkLogId;
+
     /**
      * 创建时间
      */

+ 5 - 5
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/vo/GameGiftPackCodeVO.java

@@ -26,22 +26,22 @@ public class GameGiftPackCodeVO {
     private String code;
 
     /**
-     * 是否可用
+     * 是否领取, true : 已被领取, false : 待领取
      */
-    @ApiModelProperty(notes = "是否可用")
-    private Boolean enabled;
+    @ApiModelProperty(notes = "是否领取, true : 已被领取, false : 待领取")
+    private Boolean isSend;
 
     /**
      * 创建者
      */
     @ApiModelProperty(notes = "创建者")
-    private String createByName;
+    private Long createBy;
 
     /**
      * 创建者
      */
     @ApiModelProperty(notes = "创建者")
-    private Long createBy;
+    private String createByName;
 
     /**
      * 创建时间

+ 1 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/GameGiftPackCodeLogServiceImpl.java

@@ -146,7 +146,7 @@ public class GameGiftPackCodeLogServiceImpl extends ServiceImpl<GameGiftPackCode
         //构造记录
         GameGiftPackCodeLog gameGiftPackCodeLog = this.transform(linkLog, userPhone);
         //从缓存中获取一个礼包码id, 如果缓存中不存在则是领完了
-        String codeId = redisUtil.popOfSet(RedisKeyConstant.GAME_GIFT_PACK_CODE + linkLog.getId());
+        String codeId = redisUtil.popOfSet(RedisKeyConstant.GAME_GIFT_PACK_CODE + linkLog.getLinkId());
         if (Strings.isBlank(codeId)) {
             String msg = "该礼包已被领取完, 请联系客服小姐姐领取其他礼包";
             gameGiftPackCodeLog.setMsg(msg);

+ 21 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/GameGiftPackLinkServiceImpl.java

@@ -10,16 +10,20 @@ import com.zanxiang.erp.base.ErpServer;
 import com.zanxiang.erp.base.rpc.ISysUserRpc;
 import com.zanxiang.erp.security.util.SecurityUtil;
 import com.zanxiang.game.module.base.pojo.enums.DeleteEnum;
+import com.zanxiang.game.module.manage.constant.RedisKeyConstant;
 import com.zanxiang.game.module.manage.pojo.dto.GameDTO;
 import com.zanxiang.game.module.manage.pojo.dto.GameGiftPackConditionDTO;
 import com.zanxiang.game.module.manage.pojo.params.GameGiftPackLinkAddParam;
 import com.zanxiang.game.module.manage.pojo.params.GameGiftPackLinkListParam;
 import com.zanxiang.game.module.manage.pojo.params.GameGiftPackLinkUpdateParam;
 import com.zanxiang.game.module.manage.pojo.vo.GameGiftPackLinkVO;
+import com.zanxiang.game.module.manage.service.IGameGiftPackCodeService;
 import com.zanxiang.game.module.manage.service.IGameGiftPackConfigService;
 import com.zanxiang.game.module.manage.service.IGameGiftPackLinkService;
 import com.zanxiang.game.module.manage.service.IGameService;
+import com.zanxiang.game.module.manage.utils.RedisUtil;
 import com.zanxiang.game.module.mybatis.entity.Game;
+import com.zanxiang.game.module.mybatis.entity.GameGiftPackCode;
 import com.zanxiang.game.module.mybatis.entity.GameGiftPackConfig;
 import com.zanxiang.game.module.mybatis.entity.GameGiftPackLink;
 import com.zanxiang.game.module.mybatis.mapper.GameGiftPackLinkMapper;
@@ -58,6 +62,12 @@ public class GameGiftPackLinkServiceImpl extends ServiceImpl<GameGiftPackLinkMap
     @Autowired
     private IGameService gameService;
 
+    @Autowired
+    private RedisUtil<String> redisUtil;
+
+    @Autowired
+    private IGameGiftPackCodeService gameGiftPackCodeService;
+
     @Autowired
     private IGameGiftPackConfigService gameGiftPackConfigService;
 
@@ -133,13 +143,23 @@ public class GameGiftPackLinkServiceImpl extends ServiceImpl<GameGiftPackLinkMap
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean deleteById(Long id) {
-        return super.update(new LambdaUpdateWrapper<GameGiftPackLink>()
+        //链接里存在可用的未被领取的礼包码, 禁止删除
+        assert gameGiftPackCodeService.count(new LambdaUpdateWrapper<GameGiftPackCode>()
+                .eq(GameGiftPackCode::getLinkId, id)
+                .eq(GameGiftPackCode::getEnabled, Boolean.TRUE)
+                .eq(GameGiftPackCode::getIsSend, Boolean.FALSE)
+        ) <= 0 : "礼包码链接中存在未被领取的礼包码, 禁止删除";
+        //删除链接
+        super.update(new LambdaUpdateWrapper<GameGiftPackLink>()
                 .set(GameGiftPackLink::getIsDelete, DeleteEnum.YES.getCode())
                 .set(GameGiftPackLink::getUpdateBy, SecurityUtil.getUserId())
                 .set(GameGiftPackLink::getUpdateTime, LocalDateTime.now())
                 .eq(GameGiftPackLink::getId, id)
         );
+        //删除缓存
+        return redisUtil.deleteCache(RedisKeyConstant.GAME_GIFT_PACK_CODE + id);
     }
 
     @Override

+ 1 - 1
game-module/game-module-mybatis/src/main/java/com/zanxiang/game/module/mybatis/entity/GameGiftPackCode.java

@@ -50,7 +50,7 @@ public class GameGiftPackCode implements Serializable {
     private Boolean enabled;
 
     /**
-     * 是否发送
+     * 是否领取, true : 已被领取, false : 待领取
      */
     private Boolean isSend;