|
@@ -4,13 +4,19 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.dayou.brokerage.annotation.DoBrokerage;
|
|
|
import com.dayou.brokerage.constants.BrokerageBusiness;
|
|
|
import com.dayou.brokerage.constants.BrokerageRule;
|
|
|
+import com.dayou.brokerage.constants.BrokerageState;
|
|
|
+import com.dayou.common.BaseEntity;
|
|
|
+import com.dayou.entity.ItemBrokerageGeneral;
|
|
|
import com.dayou.entity.ItemEvaluate;
|
|
|
import com.dayou.entity.ItemStage;
|
|
|
+import com.dayou.enums.ItemStateEnum;
|
|
|
import com.dayou.enums.OperationTypeEnum;
|
|
|
import com.dayou.exception.ErrorCode;
|
|
|
import com.dayou.mapper.ItemEvaluateMapper;
|
|
|
+import com.dayou.service.IItemBrokerageGeneralService;
|
|
|
import com.dayou.service.IItemEvaluateService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.dayou.service.IItemService;
|
|
|
import com.dayou.service.IItemStageService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -46,9 +52,11 @@ import static com.dayou.exception.ErrorCode.ITEM_EVALUATE_ERROR;
|
|
|
@Service
|
|
|
public class ItemEvaluateServiceImpl extends ServiceImpl<ItemEvaluateMapper, ItemEvaluate> implements IItemEvaluateService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IItemService iItemService;
|
|
|
|
|
|
@Autowired
|
|
|
- private IItemStageService itemStageService;
|
|
|
+ private IItemBrokerageGeneralService iItemBrokerageGeneralService;
|
|
|
|
|
|
@Override
|
|
|
@SuppressWarnings("unchecked")
|
|
@@ -62,18 +70,30 @@ public class ItemEvaluateServiceImpl extends ServiceImpl<ItemEvaluateMapper, Ite
|
|
|
return this.getById(id);
|
|
|
}
|
|
|
|
|
|
- @DoBrokerage(operation = OperationTypeEnum.EDIT,rule = BrokerageRule.LAND_OTHER_RULE ,business = BrokerageBusiness.SETTLE)
|
|
|
+ @Transactional
|
|
|
+ //@DoBrokerage(operation = OperationTypeEnum.SETTLE,rule = BrokerageRule.LAND_OTHER_RULE ,business = BrokerageBusiness.ITEM_SETTLE)
|
|
|
@Override
|
|
|
public Boolean add(ItemEvaluate itemEvaluate){
|
|
|
- List<ItemStage> stages = itemStageService.list(new LambdaQueryWrapper<ItemStage>().eq(ItemStage::getItemId, itemEvaluate.getItemId()).isNull(ItemStage::getOverdue));
|
|
|
- if (CollectionUtils.isNotEmpty(stages)){
|
|
|
+ String itemState = iItemService.getItemState(itemEvaluate.getItemId());
|
|
|
+ //List<ItemStage> stages = itemStageService.list(new LambdaQueryWrapper<ItemStage>().eq(ItemStage::getItemId, itemEvaluate.getItemId()).isNull(ItemStage::getOverdue));
|
|
|
+ if (!ItemStateEnum.COMPLETED.getName().equals(itemState)){
|
|
|
ErrorCode.throwBusinessException(ITEM_EVALUATE_ERROR);
|
|
|
}
|
|
|
- return this.save(itemEvaluate);
|
|
|
+ this.save(itemEvaluate);
|
|
|
+ boolean update = iItemBrokerageGeneralService.update(new LambdaUpdateWrapper<ItemBrokerageGeneral>()
|
|
|
+ .eq(ItemBrokerageGeneral::getItemId, itemEvaluate.getItemId()).eq(BaseEntity::getDeleted, Boolean.FALSE)
|
|
|
+ .set(ItemBrokerageGeneral::getParticipantStatus, BrokerageState.NOT_SETTLE.getCode()));
|
|
|
+ return update;
|
|
|
}
|
|
|
|
|
|
+ //@DoBrokerage(operation = OperationTypeEnum.SETTLE,rule = BrokerageRule.LAND_OTHER_RULE ,business = BrokerageBusiness.ITEM_SETTLE)
|
|
|
@Override
|
|
|
public Boolean update(ItemEvaluate itemEvaluate){
|
|
|
+ String itemState = iItemService.getItemState(itemEvaluate.getItemId());
|
|
|
+ //List<ItemStage> stages = itemStageService.list(new LambdaQueryWrapper<ItemStage>().eq(ItemStage::getItemId, itemEvaluate.getItemId()).isNull(ItemStage::getOverdue));
|
|
|
+ if (!ItemStateEnum.COMPLETED.getName().equals(itemState)){
|
|
|
+ ErrorCode.throwBusinessException(ITEM_EVALUATE_ERROR);
|
|
|
+ }
|
|
|
return this.updateById(itemEvaluate);
|
|
|
}
|
|
|
|
|
@@ -82,4 +102,10 @@ public class ItemEvaluateServiceImpl extends ServiceImpl<ItemEvaluateMapper, Ite
|
|
|
//逻辑删除
|
|
|
return this.removeById(id);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ItemEvaluate detailByItemId(Long itemId) {
|
|
|
+ ItemEvaluate itemEvaluate = this.getOne(new LambdaQueryWrapper<ItemEvaluate>().eq(ItemEvaluate::getItemId, itemId));
|
|
|
+ return itemEvaluate;
|
|
|
+ }
|
|
|
}
|