Commit 9f5e7d43 authored by tianbo's avatar tianbo

feat(cylinder): 气瓶对接调整修改实体字段

parent fa1ac393
......@@ -6,15 +6,24 @@ import java.util.List;
@Data
public class CylinderFillingDataValidationResultModel {
// 气瓶数量
private Integer cylinderNumber;
// 充装前数据错误气瓶数量
private Integer beforeErrorCylinderNumber;
// 充装记录数据错误气瓶数量
private Integer recordErrorCylinderNumber;
// 充装后数据错误气瓶数量
private Integer afterErrorCylinderNumber;
// 充装数据合规气瓶数量
private Integer successCylinderNumber;
// 充装数据错误数据
private List<String> beforeErrorData;
// 充装记录数据错误数据
private List<String> recordErrorData;
// 充装后数据错误数据
private List<String> afterErrorData;
// 气瓶唯一校验码错误数据
private List<String> seqCodeErrorData;
private String result = "success";
......
......@@ -6,8 +6,7 @@ import com.yeejoin.amos.api.openapi.constant.Constant;
import com.yeejoin.amos.api.openapi.enums.CylinderType;
import com.yeejoin.amos.api.openapi.face.model.*;
import com.yeejoin.amos.api.openapi.face.orm.dao.ESCylinderFillingInfoRepository;
import com.yeejoin.amos.boot.module.cylinder.api.dto.CylinderFillingMessage;
import com.yeejoin.amos.boot.module.cylinder.api.dto.CylinderFillingMessageModel;
import com.yeejoin.amos.boot.module.cylinder.api.entity.CylinderFillingMessageEntity;
import com.yeejoin.amos.boot.module.cylinder.api.entity.ESCylinderFillingInfoDto;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
......@@ -57,7 +56,7 @@ public class CylinderService {
private final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private final BlockingQueue<CylinderFillingMessageModel> blockingQueue = new LinkedBlockingQueue<>();
private final BlockingQueue<CylinderFillingMessageEntity> blockingQueue = new LinkedBlockingQueue<>();
public CylinderService(RedisTemplate redisTemplate, CylinderFillingDataValidationService cylinderFillingDataValidationService, TmCylinderFillingMessageService cylinderFillingMessageService, EmqKeeper emqKeeper, TmCylinderFillingCheckService cylinderFillingCheckService, TmCylinderFillingRecordService cylinderFillingRecordService, TmCylinderFillingService cylinderFillingService, ESCylinderFillingInfoRepository esCylinderFillingInfoRepository, SyncCylinderDataService syncCylinderDataService) {
this.redisTemplate = redisTemplate;
......@@ -79,20 +78,18 @@ public class CylinderService {
BizTokenModel bizTokenModel = (BizTokenModel) this.redisTemplate.opsForValue().get(tokenKey);
JSONObject jsonobject = JSONObject.fromObject(fillingData);
CylinderFillingMessage cylinderFillingMessage = new CylinderFillingMessage();
cylinderFillingMessage.setTime(simpleDateFormat.format(new Date()));
cylinderFillingMessage.setFillingCompanyName(me.getCompanys().get(0).getCompanyName());
cylinderFillingMessage.setFillingCompanyCode(me.getCompanys().get(0).getCompanyCode());
cylinderFillingMessage.setAppId(bizTokenModel.getAppId());
cylinderFillingMessage.setRawData(fillingData);
CylinderFillingMessageEntity cylinderFillingMessageEntity = new CylinderFillingMessageEntity();
cylinderFillingMessageEntity.setTime(simpleDateFormat.format(new Date()));
cylinderFillingMessageEntity.setFillingCompanyName(me.getCompanys().get(0).getCompanyName());
cylinderFillingMessageEntity.setFillingCompanyCode(me.getCompanys().get(0).getCompanyCode());
cylinderFillingMessageEntity.setAppId(cylinderFillingService.getAppId());
cylinderFillingMessageEntity.setRawData(fillingData);
// 校验充装记录信息
JSONArray validateResult = validateFillingData(jsonobject, cylinderFillingMessage);
JSONArray validateResult = validateFillingData(jsonobject, cylinderFillingMessageEntity);
// 有问题的充装数据记录日志
CylinderFillingMessageModel cylinderFillingMessageModel = new CylinderFillingMessageModel();
BeanUtils.copyProperties(cylinderFillingMessage, cylinderFillingMessageModel);
blockingQueue.add(cylinderFillingMessageModel);
blockingQueue.add(cylinderFillingMessageEntity);
if (!validateResult.isEmpty()) {
throw new BadRequest(validateResult.toString());
......@@ -189,7 +186,7 @@ public class CylinderService {
esCylinderFillingInfoRepository.saveAll(esCylinderFillingInfoList);
}
public JSONArray validateFillingData(JSONObject jsonobject, CylinderFillingMessage cylinderFillingLogMessage) throws MqttException {
public JSONArray validateFillingData(JSONObject jsonobject, CylinderFillingMessageEntity cylinderFillingMessageEntity) throws MqttException {
CylinderFillingDataValidationResultModel validateResult = null;
try {
......@@ -197,13 +194,13 @@ public class CylinderService {
} catch (Exception e) {
e.printStackTrace();
logger.error("气瓶充装信息上报,数据校验失败");
cylinderFillingLogMessage.setMessage(e.getMessage());
cylinderFillingMessageEntity.setMessage(e.getMessage());
}
JSONArray errorData = new JSONArray();
if (!ObjectUtils.isEmpty(validateResult)) {
cylinderFillingLogMessage.setCylinderNumber(validateResult.getCylinderNumber());
cylinderFillingMessageEntity.setCylinderNumber(validateResult.getCylinderNumber());
List<String> logMessage = new ArrayList<>();
int errorNumber = 0;
JSONObject error = new JSONObject();
......@@ -217,7 +214,7 @@ public class CylinderService {
if (!ObjectUtils.isEmpty(validateResult.getRecordErrorData())) {
errorNumber += validateResult.getRecordErrorData().size();
error.put("充装错误数据:", validateResult.getRecordErrorData());
error.put("充装记录错误数据:", validateResult.getRecordErrorData());
errorData.add(error);
logMessage.add("充装记录数据异常气瓶数:" + validateResult.getRecordErrorCylinderNumber());
......@@ -225,7 +222,7 @@ public class CylinderService {
if (!ObjectUtils.isEmpty(validateResult.getAfterErrorData())) {
errorNumber += validateResult.getAfterErrorData().size();
error.put("充装后错误数据:", validateResult.getAfterErrorData());
error.put("充装后复查错误数据:", validateResult.getAfterErrorData());
errorData.add(error);
logMessage.add("充装后复查数据异常气瓶数:" + validateResult.getAfterErrorCylinderNumber());
......@@ -240,9 +237,9 @@ public class CylinderService {
}
if (errorNumber <= 0) {
cylinderFillingLogMessage.setMessage("气瓶充装信息校验成功的气瓶数:" + validateResult.getSuccessCylinderNumber() + "个");
cylinderFillingMessageEntity.setMessage("气瓶充装信息校验成功的气瓶数:" + validateResult.getSuccessCylinderNumber() + "个");
} else {
cylinderFillingLogMessage.setMessage(String.join("条; ", logMessage));
cylinderFillingMessageEntity.setMessage(String.join("条; ", logMessage));
}
} else {
JSONObject error = new JSONObject();
......@@ -260,8 +257,8 @@ public class CylinderService {
try {
while (true) {
logger.info("处理气瓶对接错误信息入库~开始");
CylinderFillingMessageModel cylinderFillingMessageModel = blockingQueue.take();
cylinderFillingMessageService.createWithModel(cylinderFillingMessageModel);
CylinderFillingMessageEntity cylinderFillingMessageModelEntity = blockingQueue.take();
cylinderFillingMessageService.save(cylinderFillingMessageModelEntity);
logger.info("处理气瓶对接错误信息入库~完成");
}
} catch (InterruptedException e) {
......
......@@ -128,6 +128,8 @@ public class MyBaseServiceImpl<V, T, M extends BaseMapper<T>> extends BaseServic
public String getAppId() {
String tokenKey = Redis.genKey(Constant.TOKEN_PREFIX, RequestContext.getToken());
BizTokenModel bizTokenModel = (BizTokenModel) redisTemplate.opsForValue().get(tokenKey);
if (bizTokenModel == null)
return "null";
return bizTokenModel.getAppId();
}
}
......@@ -20,6 +20,8 @@ public class CylinderFillingMessageEntity extends BaseEntity {
private String message;
@TableField("app_id")
private String appId;
@TableField("org_code")
private String orgCode;
@TableField("filling_company_code")
private String fillingCompanyCode;
@TableField("raw_data")
private String rawData;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment