|
@@ -23,7 +23,6 @@ import com.iohao.mmo.equip.entity.*;
|
|
|
import com.iohao.mmo.equip.utils.RandomUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
|
|
import org.springframework.data.mongodb.core.query.Criteria;
|
|
|
import org.springframework.data.mongodb.core.query.Query;
|
|
@@ -48,23 +47,16 @@ public class EquipTemplateService {
|
|
|
public EquipTemplate findById(String id) {
|
|
|
return mongoTemplate.findById(id, EquipTemplate.class);
|
|
|
}
|
|
|
- public EquipTemplate findByItemId(String itemId) {
|
|
|
- return Objects.requireNonNull(mongoTemplate.findOne(Query.query(new Criteria("itemId").is(itemId)), EquipTemplate.class));
|
|
|
+ public EquipTemplate findByItemTypeId(String itemTypeId) {
|
|
|
+ return Objects.requireNonNull(mongoTemplate.findOne(Query.query(new Criteria("itemTypeId").is(itemTypeId)), EquipTemplate.class));
|
|
|
}
|
|
|
|
|
|
public void save(EquipTemplate equipTemplate) {
|
|
|
- if(StringUtils.isNotBlank(equipTemplate.getId())){
|
|
|
- mongoTemplate.save(equipTemplate);
|
|
|
- }else {
|
|
|
- //TODO 物品:这里需要调用物品新建方法获得物品的id
|
|
|
- String itemId = faker.random().hex(24);
|
|
|
- equipTemplate.setItemId(itemId);
|
|
|
- mongoTemplate.save(equipTemplate);
|
|
|
- }
|
|
|
+ mongoTemplate.save(equipTemplate);
|
|
|
}
|
|
|
|
|
|
public void delBatch(List<String> idList) {
|
|
|
- Query query = new Query(new Criteria("itemId").in(idList));
|
|
|
+ Query query = new Query(new Criteria("id").in(idList));
|
|
|
mongoTemplate.remove(query, EquipTemplate.class);
|
|
|
//TODO 物品:删除物品
|
|
|
}
|
|
@@ -92,81 +84,72 @@ public class EquipTemplateService {
|
|
|
equipTemplate.setTotalAttrMin(20);
|
|
|
equipTemplate.setTotalAttrMax(30);
|
|
|
|
|
|
- //TODO 物品:这里需要调用物品新建方法获得物品的id
|
|
|
- String itemId = faker.random().hex(24);
|
|
|
- equipTemplate.setItemId(itemId);
|
|
|
+ equipTemplate.setItemTypeId("equip_clothing_10");
|
|
|
|
|
|
mongoTemplate.save(equipTemplate);
|
|
|
|
|
|
// 初始化一些装备配置,后期将移到 excel 中做。
|
|
|
EquipTemplate equipTemplate2 = new EquipTemplate();
|
|
|
equipTemplate2.setPosition(2);
|
|
|
- equipTemplate2.setLevel(8);
|
|
|
+ equipTemplate2.setLevel(10);
|
|
|
equipTemplate2.setFixedEquipPropertyMin(FixedEquipProperty.builder()
|
|
|
- .physicsAttack(8)
|
|
|
- .magicAttack(8)
|
|
|
- .treatAttack(8)
|
|
|
- .sealAttack(8)
|
|
|
- .anger(8)
|
|
|
+ .physicsAttack(10)
|
|
|
+ .magicAttack(10)
|
|
|
+ .treatAttack(10)
|
|
|
+ .sealAttack(10)
|
|
|
+ .anger(10)
|
|
|
.build());
|
|
|
equipTemplate2.setFixedEquipPropertyMax(FixedEquipProperty.builder()
|
|
|
- .physicsAttack(24)
|
|
|
- .magicAttack(24)
|
|
|
- .treatAttack(24)
|
|
|
- .sealAttack(24)
|
|
|
- .anger(24)
|
|
|
+ .physicsAttack(30)
|
|
|
+ .magicAttack(30)
|
|
|
+ .treatAttack(30)
|
|
|
+ .sealAttack(30)
|
|
|
+ .anger(30)
|
|
|
.build());
|
|
|
- equipTemplate2.setTotalAttrMin(16);
|
|
|
- equipTemplate2.setTotalAttrMax(24);
|
|
|
+ equipTemplate2.setTotalAttrMin(20);
|
|
|
+ equipTemplate2.setTotalAttrMax(30);
|
|
|
|
|
|
- //TODO 物品:这里需要调用物品新建方法获得物品的id
|
|
|
- String itemId2 = faker.random().hex(24);
|
|
|
- equipTemplate2.setItemId(itemId2);
|
|
|
+ equipTemplate2.setItemTypeId("equip_weapon_10");
|
|
|
mongoTemplate.save(equipTemplate2);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 根据装备库列表批量随机新的装备
|
|
|
- * @param templateItemIdList
|
|
|
+ * @param itemTypeIdList
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<Equip> randomEquipBatch(List<String> templateItemIdList,long userId){
|
|
|
- List<Equip> equipList = templateItemIdList.stream()
|
|
|
- .map(itemId -> randomEquip(itemId,userId))
|
|
|
+ public List<Equip> randomEquipBatch(List<String> itemTypeIdList,long userId){
|
|
|
+ List<Equip> equipList = itemTypeIdList.stream()
|
|
|
+ .map(itemTypeId -> randomEquip(itemTypeId,userId))
|
|
|
.toList();
|
|
|
return equipList;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 根据装备库随机一件新的装备
|
|
|
- * @param equipTemplateItemId
|
|
|
+ * @param itemTypeId
|
|
|
* @return
|
|
|
*/
|
|
|
- public Equip randomEquip(String equipTemplateItemId,long userId){
|
|
|
- return randomEquip(equipTemplateItemId,BigDecimal.ZERO,userId);
|
|
|
+ public Equip randomEquip(String itemTypeId,long userId){
|
|
|
+ return randomEquip(itemTypeId,BigDecimal.ZERO,userId);
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 根据装备库随机一件新的装备
|
|
|
- * @param equipTemplateItemId 装备库的itemId
|
|
|
+ * @param itemTypeId itemTypeId
|
|
|
* @param excellentRate 增加的极品率
|
|
|
* @return
|
|
|
*/
|
|
|
- public Equip randomEquip(String equipTemplateItemId,BigDecimal excellentRate, long userId){
|
|
|
+ public Equip randomEquip(String itemTypeId,BigDecimal excellentRate, long userId){
|
|
|
if(excellentRate == null){
|
|
|
excellentRate = BigDecimal.ZERO;
|
|
|
}
|
|
|
//取到装备库
|
|
|
- EquipTemplate equipTemplate = findByItemId(equipTemplateItemId);
|
|
|
+ EquipTemplate equipTemplate = findByItemTypeId(itemTypeId);
|
|
|
//将装备库属性拷贝到装备中
|
|
|
Equip equip = copyTemplate2Equip(equipTemplate,excellentRate);
|
|
|
equip.setUserId(userId);
|
|
|
- //新建装备对应的物品类
|
|
|
- //TODO 物品:这里需要调用物品新建方法获得物品的id
|
|
|
- String itemId2 = faker.random().hex(24);
|
|
|
- //对应的物品数据是新建的
|
|
|
- equip.setItemId(itemId2);
|
|
|
mongoTemplate.save(equip);
|
|
|
return equip;
|
|
|
}
|
|
@@ -177,7 +160,7 @@ public class EquipTemplateService {
|
|
|
//随机总属性点
|
|
|
int attrTotal = RandomUtils.randomFromExcellent(equipTemplate.getTotalAttrMin(),equipTemplate.getTotalAttrMax(),excellentFlag);
|
|
|
return Equip.builder()
|
|
|
- .name("测试装备名称") //TODO 物品:获取物品的名称
|
|
|
+ .itemTypeId(equipTemplate.getItemTypeId())
|
|
|
.quality(excellentFlag?2:1) //品质
|
|
|
.fixedEquipProperty(FixedEquipProperty.randomFixed(equipTemplate.getFixedEquipPropertyMin(),equipTemplate.getFixedEquipPropertyMax())) //装备固定属性
|
|
|
.attrTotal(attrTotal)
|
|
@@ -189,7 +172,7 @@ public class EquipTemplateService {
|
|
|
.fixedEquipPropertyMax(equipTemplate.getFixedEquipPropertyMax())
|
|
|
.totalAttrMin(equipTemplate.getTotalAttrMin())
|
|
|
.totalAttrMax(equipTemplate.getTotalAttrMax())
|
|
|
- .equipTemplateId(equipTemplate.getItemId())
|
|
|
+ .equipTemplateId(equipTemplate.getItemTypeId())
|
|
|
.build();
|
|
|
}
|
|
|
}
|