zhangk
2024-06-24 9a4978fd834e0c9fc64474eb757c2198a745db3c
修改北斗平台数据推送接口
4 files modified
41 ■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/StBdDataController.java 12 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IStBdDataService.java 3 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/StBdDataServiceImpl.java 23 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/StBdDataVO.java 3 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/StBdDataController.java
@@ -2,6 +2,7 @@
import cn.gistack.sm.sjztmd.entity.StBdData;
import cn.gistack.sm.sjztmd.service.IStBdDataService;
import cn.gistack.sm.sjztmd.vo.StBdDataVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -11,10 +12,7 @@
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
@Slf4j
@Api(tags = "北斗平台监测数据")
@@ -40,11 +38,11 @@
    /**
     * 批量插入北斗平台监测数据
     * @param stBdDataStr 北斗平台监测数据
     * @param stBdDataVO 北斗平台监测数据
     * @return 插入结果
     */
    @PostMapping("/insert")
    public R<Boolean> insert(String stBdDataStr){
        return R.status(stBdDataService.insertData(stBdDataStr));
    public R<Boolean> insert(@RequestBody StBdDataVO stBdDataVO) throws Exception {
        return R.status(stBdDataService.insertData(stBdDataVO)) ;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IStBdDataService.java
@@ -1,9 +1,10 @@
package cn.gistack.sm.sjztmd.service;
import cn.gistack.sm.sjztmd.entity.StBdData;
import cn.gistack.sm.sjztmd.vo.StBdDataVO;
import com.baomidou.mybatisplus.extension.service.IService;
public interface IStBdDataService extends IService<StBdData>{
    Boolean insertData(String stBdDataStr);
    Boolean insertData(StBdDataVO stBdDataVO) throws Exception;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/StBdDataServiceImpl.java
@@ -7,11 +7,12 @@
import cn.gistack.sm.sjztmd.vo.StBdDataVO;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.ArrayList;
@@ -19,36 +20,36 @@
import java.util.List;
import java.util.UUID;
@Slf4j
@Service
@DS("zt")
public class StBdDataServiceImpl extends ServiceImpl<StBdDataMapper, StBdData> implements IStBdDataService {
    private static final ObjectMapper objectMapper = new ObjectMapper();
    private final SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
    @Override
    public Boolean insertData(String stBdDataStr) {
        StBdDataVO stBdDataVO;
        try {
            stBdDataVO = objectMapper.readValue(stBdDataStr, StBdDataVO.class);
        } catch (JsonProcessingException e) {
            throw new ServiceException("转换北斗平台监测数据失败,详情:" + e.getMessage());
        }
    public Boolean insertData(StBdDataVO stBdDataVO) throws Exception {
        List<StBdDataVO.CommInfo> commInfos = stBdDataVO.getCommInfos();
        if (null == commInfos || commInfos.isEmpty()) {
            throw new ServiceException("获取北斗平台数据失败,无效的commInfos");
        }
        List<StBdData> stBdDataList = new ArrayList<>();
        for (StBdDataVO.CommInfo commInfo : commInfos) {
            log.info("StBdDataVO zk " + commInfo.toString());
            StBdData stBdData = new StBdData();
            stBdData.setId(UUID.randomUUID().toString().replaceAll("-", ""));
            stBdData.setTm(commInfo.getTime());
            stBdData.setTm(formatter.parse(commInfo.getTime()));
            stBdData.setCreateTime(new Date());
            stBdData.setFromAddr(commInfo.getFromAddr());
            stBdData.setToAddr(commInfo.getToAddr());
            String content = commInfo.getContent();
            String content = commInfo.getContent();
            log.info("content zk " + content);
            stBdData.setContent(content);
            boolean isContainsChinese = contentIsContainChinese(content);
            stBdData.setCodeType(isContainsChinese? RainfallConstant.CONTAINS_CHINESE : RainfallConstant.NOT_CONTAINS_CHINESE);
            log.info("stBdData zk " + stBdData.toString());
            stBdDataList.add(stBdData);
        }
        this.saveBatch(stBdDataList);
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/StBdDataVO.java
@@ -2,7 +2,6 @@
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
@@ -17,7 +16,7 @@
        private String content;
        private Date time;
        private String time;
        private String fromAddr;
    }