|
@@ -18,21 +18,17 @@
|
|
*/
|
|
*/
|
|
package com.iohao.mmo.equip.service;
|
|
package com.iohao.mmo.equip.service;
|
|
|
|
|
|
|
|
+import com.iohao.mmo.common.config.GameCode;
|
|
import com.iohao.mmo.equip.entity.BasicEquipProperty;
|
|
import com.iohao.mmo.equip.entity.BasicEquipProperty;
|
|
import com.iohao.mmo.equip.entity.Equip;
|
|
import com.iohao.mmo.equip.entity.Equip;
|
|
import com.iohao.mmo.equip.entity.EquipTemplate;
|
|
import com.iohao.mmo.equip.entity.EquipTemplate;
|
|
import com.iohao.mmo.equip.entity.Goods;
|
|
import com.iohao.mmo.equip.entity.Goods;
|
|
-import com.iohao.mmo.equip.repository.EquipTemplateRepository;
|
|
|
|
-import com.iohao.mmo.equip.utils.EquipUtils;
|
|
|
|
import com.iohao.mmo.equip.utils.RandomUtils;
|
|
import com.iohao.mmo.equip.utils.RandomUtils;
|
|
import jakarta.annotation.Resource;
|
|
import jakarta.annotation.Resource;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.math.BigDecimal;
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* @author 唐斌
|
|
* @author 唐斌
|
|
* @date 2023-07-30
|
|
* @date 2023-07-30
|
|
@@ -46,9 +42,8 @@ public class EquipTemplateService {
|
|
private GoodsService goodsService;
|
|
private GoodsService goodsService;
|
|
|
|
|
|
final MongoTemplate mongoTemplate;
|
|
final MongoTemplate mongoTemplate;
|
|
- final EquipTemplateRepository equipTemplateRepository;
|
|
|
|
|
|
|
|
- public EquipTemplate ofEquip(String id) {
|
|
|
|
|
|
+ public EquipTemplate findById(String id) {
|
|
|
|
|
|
return mongoTemplate.findById(id, EquipTemplate.class);
|
|
return mongoTemplate.findById(id, EquipTemplate.class);
|
|
}
|
|
}
|
|
@@ -74,6 +69,7 @@ public class EquipTemplateService {
|
|
goods.setBindPrice(120);
|
|
goods.setBindPrice(120);
|
|
goods.setPrice(100);
|
|
goods.setPrice(100);
|
|
goods.setDealFlag(true);
|
|
goods.setDealFlag(true);
|
|
|
|
+ goods.setType(3);
|
|
goodsService.save(goods);
|
|
goodsService.save(goods);
|
|
equipTemplate.setGoods(goods);
|
|
equipTemplate.setGoods(goods);
|
|
|
|
|
|
@@ -94,6 +90,7 @@ public class EquipTemplateService {
|
|
goods2.setBindPrice(80);
|
|
goods2.setBindPrice(80);
|
|
goods2.setPrice(60);
|
|
goods2.setPrice(60);
|
|
goods2.setDealFlag(true);
|
|
goods2.setDealFlag(true);
|
|
|
|
+ goods2.setType(3);
|
|
goodsService.save(goods2);
|
|
goodsService.save(goods2);
|
|
equipTemplate2.setGoods(goods2);
|
|
equipTemplate2.setGoods(goods2);
|
|
|
|
|
|
@@ -106,24 +103,26 @@ public class EquipTemplateService {
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
public Equip randomEquip(String equipTemplateId,long userId){
|
|
public Equip randomEquip(String equipTemplateId,long userId){
|
|
|
|
+ //取到装备模板
|
|
EquipTemplate equipTemplate = mongoTemplate.findById(equipTemplateId, EquipTemplate.class);
|
|
EquipTemplate equipTemplate = mongoTemplate.findById(equipTemplateId, EquipTemplate.class);
|
|
|
|
+
|
|
|
|
+ GameCode.objNotFound.assertTrue(equipTemplate!=null);
|
|
|
|
+
|
|
Equip equip = new Equip();
|
|
Equip equip = new Equip();
|
|
//随机属性值
|
|
//随机属性值
|
|
- if(equipTemplate!=null){
|
|
|
|
- //随机出的总属性值
|
|
|
|
- equip.setAttrTotal(RandomUtils.randomFromInt(equipTemplate.getTotalAttrMin(),equipTemplate.getTotalAttrMax()));
|
|
|
|
-// equip.setQuality(EquipUtils.getEquipQuality(equipTemplate.getTotalAttrMin(),equipTemplate.getTotalAttrMax(),equip.getAttrTotal()));
|
|
|
|
- equip.setName(equipTemplate.getGoods().getName());
|
|
|
|
- }else {
|
|
|
|
- equip.setAttrTotal(0);
|
|
|
|
-// equip.setQuality(1);
|
|
|
|
- equip.setName("未知名称");
|
|
|
|
- }
|
|
|
|
|
|
+ equip.setAttrTotal(RandomUtils.randomFromInt(equipTemplate.getTotalAttrMin(),equipTemplate.getTotalAttrMax()));
|
|
|
|
+ equip.setName(equipTemplate.getGoods().getName());
|
|
|
|
+ //新建装备对应的物品类
|
|
|
|
+ Goods goods = equipTemplate.getGoods();
|
|
|
|
+ goods.setId(null);
|
|
|
|
+ goods.setType(0);
|
|
|
|
+ goodsService.save(goods);
|
|
|
|
+ //物品id
|
|
|
|
+ equip.setItemId(goods.getId());
|
|
equip.setUndistributedAttr(equip.getAttrTotal());
|
|
equip.setUndistributedAttr(equip.getAttrTotal());
|
|
equip.setEquipTemplate(equipTemplate);
|
|
equip.setEquipTemplate(equipTemplate);
|
|
-
|
|
|
|
- BasicEquipProperty basicEquipProperty = new BasicEquipProperty(0,0,0,0,0);
|
|
|
|
- equip.setBasicEquipProperty(basicEquipProperty);
|
|
|
|
|
|
+ //初始化分配的具体属性点
|
|
|
|
+ equip.setBasicEquipProperty(BasicEquipProperty.resetBasicEquipProperty());
|
|
equip.setUserId(userId);
|
|
equip.setUserId(userId);
|
|
mongoTemplate.save(equip);
|
|
mongoTemplate.save(equip);
|
|
return equip;
|
|
return equip;
|