|
|
@@ -1,9 +1,13 @@
|
|
|
package org.dromara.server.consume.dubbo;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.thread.ThreadUtil;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.dubbo.config.annotation.DubboService;
|
|
|
+import org.dromara.common.core.config.DefaultConfig;
|
|
|
+import org.dromara.common.core.constant.DefaultConstants;
|
|
|
import org.dromara.common.core.domain.R;
|
|
|
import org.dromara.common.core.domain.model.ErrorInfo;
|
|
|
import org.dromara.consume.api.RemoteConsumeService;
|
|
|
@@ -11,6 +15,7 @@ import org.dromara.consume.api.domain.bo.RemoteConsumeBo;
|
|
|
import org.dromara.consume.api.domain.bo.RemoteResultDto;
|
|
|
import org.dromara.server.common.domain.consume.bo.ConsumptionBo;
|
|
|
import org.dromara.server.consume.business.ArcFaceBusiness;
|
|
|
+import org.dromara.server.consume.business.BaseBusiness;
|
|
|
import org.dromara.server.consume.business.ConsumeBusiness;
|
|
|
import org.dromara.server.consume.domain.convert.RemoteConsumeBoConvert;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -30,6 +35,9 @@ import org.springframework.stereotype.Service;
|
|
|
public class RemoteConsumeServiceImpl implements RemoteConsumeService {
|
|
|
private final ConsumeBusiness consumeBusiness;
|
|
|
private final ArcFaceBusiness faceBusiness;
|
|
|
+ private final BaseBusiness baseBusiness;
|
|
|
+ private final DefaultConfig defaultConfig;
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 消费处理.
|
|
|
@@ -56,27 +64,39 @@ public class RemoteConsumeServiceImpl implements RemoteConsumeService {
|
|
|
|
|
|
@Override
|
|
|
public RemoteResultDto dealHikRequestConsume(RemoteConsumeBo remoteBo) {
|
|
|
- // log.info("before:{}", remoteBo);
|
|
|
- System.out.println("调用前引用: " + System.identityHashCode(remoteBo));
|
|
|
ConsumptionBo bo = RemoteConsumeBoConvert.INSTANCE.fromRemote(remoteBo);
|
|
|
R<ErrorInfo> result = consumeBusiness.createOrder(bo, "", "");
|
|
|
- // RemoteConsumeBoConvert.INSTANCE.updateRemote(remoteBo, bo);
|
|
|
- // log.info("after:{}", remoteBo);
|
|
|
- // System.out.println("调用后引用: " + System.identityHashCode(remoteBo));
|
|
|
- //
|
|
|
+
|
|
|
RemoteConsumeBo updatedRemote = RemoteConsumeBoConvert.INSTANCE.toRemote(bo);
|
|
|
+
|
|
|
return new RemoteResultDto(result, updatedRemote);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public R<ErrorInfo> dealHikUploadRecord(RemoteConsumeBo remoteBo) {
|
|
|
+ public RemoteResultDto dealHikUploadRecord(RemoteConsumeBo remoteBo) {
|
|
|
ConsumptionBo bo = RemoteConsumeBoConvert.INSTANCE.fromRemote(remoteBo);
|
|
|
- return consumeBusiness.postOrder(bo, "", "");
|
|
|
+ R<ErrorInfo> result = consumeBusiness.postOrder(bo, "", "");
|
|
|
+ if(R.isSuccess(result)){
|
|
|
+ if (ObjectUtil.equals(defaultConfig.getLocationFlag(), DefaultConstants.LOCAL_FLAG)) {
|
|
|
+ ThreadUtil.execAsync(() -> baseBusiness.sendCloudConsume(bo));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ RemoteConsumeBo updatedRemote = RemoteConsumeBoConvert.INSTANCE.toRemote(bo);
|
|
|
+
|
|
|
+ return new RemoteResultDto(result, updatedRemote);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public R<ErrorInfo> dealHikUploadOffLineRecord(RemoteConsumeBo remoteBo) {
|
|
|
+ public RemoteResultDto dealHikUploadOffLineRecord(RemoteConsumeBo remoteBo) {
|
|
|
ConsumptionBo bo = RemoteConsumeBoConvert.INSTANCE.fromRemote(remoteBo);
|
|
|
- return consumeBusiness.fullOrder(bo, "", "");
|
|
|
+ R<ErrorInfo> result = consumeBusiness.fullOrder(bo, "", "");
|
|
|
+ if(R.isSuccess(result)){
|
|
|
+ if (ObjectUtil.equals(defaultConfig.getLocationFlag(), DefaultConstants.LOCAL_FLAG)) {
|
|
|
+ ThreadUtil.execAsync(() -> baseBusiness.sendCloudConsume(bo));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ RemoteConsumeBo updatedRemote = RemoteConsumeBoConvert.INSTANCE.toRemote(bo);
|
|
|
+
|
|
|
+ return new RemoteResultDto(result, updatedRemote);
|
|
|
}
|
|
|
}
|