|
@@ -8,15 +8,19 @@ import com.iohao.mmo.common.config.GameCode;
|
|
|
import com.iohao.mmo.equip.cmd.EquipCmd;
|
|
|
import com.iohao.mmo.equip.entity.Equip;
|
|
|
import com.iohao.mmo.equip.mapper.EquipMapper;
|
|
|
+import com.iohao.mmo.equip.proto.CreateEquipMessage;
|
|
|
import com.iohao.mmo.equip.proto.EquipMessage;
|
|
|
import com.iohao.mmo.equip.proto.EquipResetMessage;
|
|
|
+import com.iohao.mmo.equip.proto.NewEquipMessage;
|
|
|
import com.iohao.mmo.equip.service.EquipService;
|
|
|
import jakarta.annotation.Resource;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.bson.types.ObjectId;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.time.LocalTime;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
|
|
@@ -69,12 +73,12 @@ public class EquipAction {
|
|
|
/**
|
|
|
* 重新随机总属性点
|
|
|
*
|
|
|
- * @param flowContext flowContext
|
|
|
+ * @param flowContext flowContext
|
|
|
* @param equipResetMessage 重新随机装备总属性点参数对象
|
|
|
*/
|
|
|
@ActionMethod(EquipCmd.resetEquip)
|
|
|
public EquipMessage resetEquip(FlowContext flowContext, EquipResetMessage equipResetMessage) { //参数值
|
|
|
- GameCode.objNotFound.assertTrue(StringUtils.isNotBlank(equipResetMessage.itemId)&&StringUtils.isNotBlank(equipResetMessage.excellentRateString));
|
|
|
+ GameCode.objNotFound.assertTrue(StringUtils.isNotBlank(equipResetMessage.itemId) && StringUtils.isNotBlank(equipResetMessage.excellentRateString));
|
|
|
Equip equip = equipService.resetEquip((equipResetMessage.itemId), new BigDecimal(equipResetMessage.excellentRateString));
|
|
|
return EquipMapper.ME.convert(equip);
|
|
|
}
|
|
@@ -89,4 +93,28 @@ public class EquipAction {
|
|
|
public void delEquipBatch(FlowContext flowContext, StringValue stringValue) {
|
|
|
equipService.delBatch(Arrays.asList(stringValue.value.split("-")));
|
|
|
}
|
|
|
+
|
|
|
+ @ActionMethod(EquipCmd.createEquip)
|
|
|
+ public NewEquipMessage internalCreateEquip(CreateEquipMessage createEquipMessage, FlowContext flowContext) {
|
|
|
+ // 玩家
|
|
|
+ long userId = flowContext.getUserId();
|
|
|
+
|
|
|
+ // TODO: 开始打造, service.createEquip(createEquipMessage)
|
|
|
+ // 使用 createEquipMessage 所提供的信息来生成新的装备,并得到类似 NewEquipMessage 的信息
|
|
|
+ // 假设 newEquipId 是从打造业务方法所得到的新的装备 id。
|
|
|
+ String newEquipId = new ObjectId().toString();
|
|
|
+
|
|
|
+ /*
|
|
|
+ * 将新装备信息给到调用方,
|
|
|
+ * 装备模块并不关心调用方是谁,只要调用此 action,就生成新装备。
|
|
|
+ */
|
|
|
+
|
|
|
+ // 这里为了方便观察才这样拼接 newEquipId,实际中直接使用 newEquipId 即可。
|
|
|
+ newEquipId = createEquipMessage.itemId + "_" + LocalTime.now().getMinute() + "_" + newEquipId;
|
|
|
+ NewEquipMessage newEquipMessage = new NewEquipMessage();
|
|
|
+ newEquipMessage.equipId = newEquipId;
|
|
|
+ newEquipMessage.itemId = createEquipMessage.itemId;
|
|
|
+
|
|
|
+ return newEquipMessage;
|
|
|
+ }
|
|
|
}
|