|
@@ -7,16 +7,16 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.aliyun.dysmsapi20170525.Client;
|
|
|
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
|
|
|
import com.aliyun.teautil.models.RuntimeOptions;
|
|
|
-import com.fdkankan.common.constant.CommonStatus;
|
|
|
-import com.fdkankan.common.constant.ErrorCode;
|
|
|
-import com.fdkankan.common.constant.SceneSource;
|
|
|
-import com.fdkankan.common.constant.SceneStatus;
|
|
|
+import com.fdkankan.common.constant.*;
|
|
|
import com.fdkankan.common.exception.BusinessException;
|
|
|
+import com.fdkankan.job.dto.SceneBean;
|
|
|
import com.fdkankan.job.entity.ScenePlus;
|
|
|
import com.fdkankan.job.entity.ScenePlusExt;
|
|
|
+import com.fdkankan.job.entity.ScenePro;
|
|
|
import com.fdkankan.job.service.IInnerApiService;
|
|
|
import com.fdkankan.job.service.IScenePlusExtService;
|
|
|
import com.fdkankan.job.service.IScenePlusService;
|
|
|
+import com.fdkankan.job.service.ISceneProService;
|
|
|
import com.fdkankan.rabbitmq.util.RabbitMqProducer;
|
|
|
import com.fdkankan.sms.SmsService;
|
|
|
import com.fdkankan.web.response.ResultData;
|
|
@@ -50,6 +50,8 @@ public class InnerApiServiceImpl implements IInnerApiService {
|
|
|
private SmsService smsService;
|
|
|
@Autowired
|
|
|
private IScenePlusExtService scenePlusExtService;
|
|
|
+ @Autowired
|
|
|
+ private ISceneProService sceneProService;
|
|
|
|
|
|
@Override
|
|
|
public ResultData sceneBuildNotice(String num, String phone) {
|
|
@@ -59,22 +61,32 @@ public class InnerApiServiceImpl implements IInnerApiService {
|
|
|
throw new BusinessException(ErrorCode.PHONE_VIOLATION);
|
|
|
}
|
|
|
|
|
|
- ScenePlus scenePlus = scenePlusService.getByNum(num);
|
|
|
- if(Objects.isNull(scenePlus)){
|
|
|
- throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
|
|
|
- }
|
|
|
-
|
|
|
JSONObject result = new JSONObject();
|
|
|
result.put("num", num);
|
|
|
result.put("phone", phone);
|
|
|
|
|
|
- if(scenePlus.getSceneStatus() == SceneStatus.SUCCESS.code() || scenePlus.getSceneStatus() == SceneStatus.NO_DISPLAY.code()){
|
|
|
+ Integer status = null;
|
|
|
+ ScenePlus scenePlus = scenePlusService.getByNum(num);
|
|
|
+ ScenePro scenePro = null;
|
|
|
+ if(Objects.isNull(scenePlus)){
|
|
|
+ scenePro = sceneProService.getByNum(num);
|
|
|
+ if(Objects.isNull(scenePro)){
|
|
|
+ throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
|
|
|
+ }
|
|
|
+ status = scenePro.getStatus();
|
|
|
+ result.put("version", SceneVersionType.V3.code());
|
|
|
+ }else{
|
|
|
+ status = scenePlus.getSceneStatus();
|
|
|
+ result.put("version", SceneVersionType.V4.code());
|
|
|
+ }
|
|
|
+
|
|
|
+ if(status == SceneStatus.SUCCESS.code() || status == SceneStatus.NO_DISPLAY.code()){
|
|
|
result.put("status", scenePlus.getSceneStatus());
|
|
|
result.put("msg", "计算成功");
|
|
|
return ResultData.ok(result);
|
|
|
}
|
|
|
|
|
|
- if(scenePlus.getSceneStatus() == SceneStatus.FAILD.code()){
|
|
|
+ if(status == SceneStatus.FAILD.code()){
|
|
|
result.put("status", scenePlus.getSceneStatus());
|
|
|
result.put("msg", "计算失败,失败原因请看场景计算报警群消息");
|
|
|
return ResultData.ok(result);
|
|
@@ -89,9 +101,20 @@ public class InnerApiServiceImpl implements IInnerApiService {
|
|
|
public void sceneBuildNoticeListenerHandler(JSONObject param) throws Exception {
|
|
|
String num = param.getString("num");
|
|
|
String phone = param.getString("phone");
|
|
|
-
|
|
|
- ScenePlus scenePlus = scenePlusService.getByNum(num);
|
|
|
- if(scenePlus.getSceneStatus() == SceneStatus.wait.code()){
|
|
|
+ String version = param.getString("version");
|
|
|
+
|
|
|
+ String title = "";
|
|
|
+ Integer status = null;
|
|
|
+ if(version.equals(SceneVersionType.V4.code())){
|
|
|
+ ScenePlus scenePlus = scenePlusService.getByNum(num);
|
|
|
+ status = scenePlus.getSceneStatus();
|
|
|
+ title = scenePlus.getTitle();
|
|
|
+ }else{
|
|
|
+ ScenePro scenePro = sceneProService.getByNum(num);
|
|
|
+ status = scenePro.getStatus();
|
|
|
+ title = scenePro.getSceneName();
|
|
|
+ }
|
|
|
+ if(status == SceneStatus.wait.code()){
|
|
|
try {
|
|
|
Thread.sleep(6*1000L);
|
|
|
} catch (InterruptedException e) {
|
|
@@ -102,9 +125,9 @@ public class InnerApiServiceImpl implements IInnerApiService {
|
|
|
}
|
|
|
Map<String, String> params = new HashMap<>();
|
|
|
params.put("num", num);
|
|
|
- params.put("title", scenePlus.getTitle());
|
|
|
+ params.put("title", title);
|
|
|
String msg;
|
|
|
- if(scenePlus.getSceneStatus() == SceneStatus.FAILD.code()){
|
|
|
+ if(status == SceneStatus.FAILD.code()){
|
|
|
msg = "计算失败,失败原因请看钉钉群【四维看看-计算失败】。";
|
|
|
}else {
|
|
|
msg = "计算成功";
|