فهرست منبع

1.修改添加workPos位置

slambb 3 سال پیش
والد
کامیت
c4c6d4c404

+ 1 - 0
src/main/java/com/td/Dawa/config/enums/ResultEnum.java

@@ -55,6 +55,7 @@ public enum ResultEnum {
 
     ROLE_DOES_NOT_EXIST(521,"不存在角色信息!"),
     ROLE_PRO_DOES_NOT_EXIST(521,"不存在角色职业信息!"),
+    ROLE_WORK_NOT_NORMAL(521,"添加的角色已有工作!"),
     ROLE_ADD_ERROR(522,"添加角色信息异常!"),
     ROLE_NAME_TOO_LONG(522,"角色名字不能大于12个字!"),
     ROLE_ALREADY_ADD(522,"角色已经添加!"),

+ 2 - 0
src/main/java/com/td/Dawa/game/comcharacters/pojo/ComCharacters.java

@@ -36,6 +36,8 @@ public class ComCharacters implements Serializable {
 
     private Integer professional;//当前职业
 
+    private Integer workPos;//配置时候位置(0:第一个,1:第二个,2:第三个)
+
     private String action;//携带动作
 
     private String interactive;//互动事件

+ 1 - 1
src/main/java/com/td/Dawa/game/comcharacters/service/ComCharactersServiceImpl.java

@@ -143,7 +143,7 @@ public class ComCharactersServiceImpl extends CommonServiceImpl<ComCharactersVo,
         //int a = (int) Math.floor(new Random().nextDouble() * itemArray.length);
         //Integer.parseInt(itemArray[a])
         comCharacters.setProfessional(0);//这里不区分职业,直接记录一个默认值,进行队伍配置时候,设置一个 1,2,3,4(挖矿,勘探,运输,伐木)
-
+        comCharacters.setWorkPos(0);//记录一个默认没有位置
         comCharacters.setAction(_attr.getAction());
 
         comCharacters.setInteractive(_attr.getInteractive());

+ 2 - 0
src/main/java/com/td/Dawa/game/comcharacters/vo/ComCharactersClientVo.java

@@ -35,6 +35,8 @@ public class ComCharactersClientVo implements Serializable {
 
     private Integer professional;//当前职业
 
+    private Integer workPos;//配置时候位置(0:第一个,1:第二个,2:第三个)
+
     private String action;//携带动作
 
     private String interactive;//互动事件

+ 2 - 0
src/main/java/com/td/Dawa/game/comcharacters/vo/ComCharactersSimpleVo.java

@@ -30,6 +30,8 @@ public class ComCharactersSimpleVo implements Serializable {
 
     private Integer professional;//当前职业
 
+    private Integer workPos;//配置时候位置(0:第一个,1:第二个,2:第三个)
+
     private String action;//携带动作
 
     private String interactive;//互动事件

+ 2 - 0
src/main/java/com/td/Dawa/game/comcharacters/vo/ComCharactersVo.java

@@ -30,6 +30,8 @@ public class ComCharactersVo extends PageCondition implements Serializable {
 
     private Integer professional;//当前职业
 
+    private Integer workPos;//配置时候位置(0:第一个,1:第二个,2:第三个)
+
     private String action;//携带动作
 
     private String interactive;//互动事件

+ 11 - 3
src/main/java/com/td/Dawa/game/comcharactersdiscovery/controller/ComCharactersDiscoveryController.java

@@ -74,7 +74,12 @@ public class ComCharactersDiscoveryController extends CommonController<ComCharac
             if (comCharactersVo == null || !comCharactersVo.getUserId().equals(userId)) {
                 return Result.of(null, false, ResultEnum.ROLE_DOES_NOT_EXIST);
             }
-            if (workPos.equals(GameEnum.PRO_POWER.getValue())) {
+            if(!comCharactersVo.getProfessional().equals(GameEnum.PRO_WORK_NORMAL.getValue())){
+                //带工作信息的不给添加
+                return Result.of(null, false, ResultEnum.ROLE_WORK_NOT_NORMAL);
+            }
+
+            if (workPos.equals(GameEnum.PRO_POWER.getValue() + 1)) {
                 //按场景区分,是挖矿还是伐木
                 if (sceneId.equals(GameEnum.MINE_00.getValue())) {
                     comCharactersVo.setProfessional(GameEnum.PRO_WORK_MINING.getValue());
@@ -84,13 +89,16 @@ public class ComCharactersDiscoveryController extends CommonController<ComCharac
                     //不存在场景时候,抛出异常
                     return Result.of(null, false, ResultEnum.SCENE_ID_NOT);
                 }
-            } else if (workPos.equals(GameEnum.PRO_INTELLIGENCE.getValue())) {
+            } else if (workPos.equals(GameEnum.PRO_INTELLIGENCE.getValue() + 1)) {
                 comCharactersVo.setProfessional(GameEnum.PRO_WORK_PROSPECT.getValue());
-            } else if (workPos.equals(GameEnum.PRO_SKIlLS.getValue())) {
+            } else if (workPos.equals(GameEnum.PRO_SKIlLS.getValue() + 1)) {
                 comCharactersVo.setProfessional(GameEnum.PRO_WORK_TRANSPORT.getValue());
             } else {
                 return Result.of(null, false, ResultEnum.ROLE_PRO_DOES_NOT_EXIST);
             }
+            //设置一个位置
+            comCharactersVo.setWorkPos(workPos);
+
             //根据roleId 对应的数据,生成玩家数据,属性
             ComCharactersDiscoveryClientVo clientVo = comCharactersDiscoveryService.addDiscoverRole(comCharactersVo, sceneId);
             return Result.of(clientVo);

+ 4 - 1
src/main/java/com/td/Dawa/game/comcharactersdiscovery/service/ComCharactersDiscoveryServiceImpl.java

@@ -240,7 +240,7 @@ public class ComCharactersDiscoveryServiceImpl extends CommonServiceImpl<ComChar
             }
             comCharacterDiscovery.setUpdateTime(DateUtil.date());
         }
-        //保存一次用户修改的当前职业工作标签,工作结算时候,重置一次为零
+        //保存一次用户修改的当前职业工作标签profession,工作位置workPos,工作结算时候,重置一次为零
         comCharactersService.save(charactersVo);
 
         ComCharactersDiscoveryVo comCharacterDiscoveryVo = CopyUtil.copy(comCharacterDiscovery, ComCharactersDiscoveryVo.class);
@@ -605,14 +605,17 @@ public class ComCharactersDiscoveryServiceImpl extends CommonServiceImpl<ComChar
             //重置人物角色职业工作状态
             if(powerChar!=null){
                 powerChar.setProfessional(GameEnum.PRO_WORK_NORMAL.getValue());
+                powerChar.setWorkPos(0);
                 comCharactersService.save(powerChar);
             }
             if(intelliChar!=null){
                 intelliChar.setProfessional(GameEnum.PRO_WORK_NORMAL.getValue());
+                intelliChar.setWorkPos(0);
                 comCharactersService.save(intelliChar);
             }
             if(skillChar!=null){
                 skillChar.setProfessional(GameEnum.PRO_WORK_NORMAL.getValue());
+                skillChar.setWorkPos(0);
                 comCharactersService.save(skillChar);
             }
             super.delete(discoveryVo.getId());