diff --git a/cs-system/cs-system-api/src/main/java/com/njcn/system/api/EpdFeignClient.java b/cs-system/cs-system-api/src/main/java/com/njcn/system/api/EpdFeignClient.java index 508ffc4..51c7a58 100644 --- a/cs-system/cs-system-api/src/main/java/com/njcn/system/api/EpdFeignClient.java +++ b/cs-system/cs-system-api/src/main/java/com/njcn/system/api/EpdFeignClient.java @@ -4,11 +4,17 @@ import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; import com.njcn.system.api.fallback.EpdFeignClientFallbackFactory; import com.njcn.system.pojo.param.EleEpdPqdParam; +import com.njcn.system.pojo.po.EleEpdPqd; +import org.apache.ibatis.annotations.Param; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import java.util.List; +import java.util.Map; +import java.util.Set; /** * @author hongawen @@ -21,4 +27,10 @@ public interface EpdFeignClient { @PostMapping("/addByModel") HttpResult addByModel(@RequestBody List eleEpdPqdParam); + @PostMapping("/dictMarkByDataType") + HttpResult> dictMarkByDataType(@RequestParam("dataType") String dataType); + + @PostMapping("/addEvt") + HttpResult> addEvt(@RequestBody List eleEpdPqdParam); + } diff --git a/cs-system/cs-system-api/src/main/java/com/njcn/system/api/fallback/EpdFeignClientFallbackFactory.java b/cs-system/cs-system-api/src/main/java/com/njcn/system/api/fallback/EpdFeignClientFallbackFactory.java index a91254c..f193f04 100644 --- a/cs-system/cs-system-api/src/main/java/com/njcn/system/api/fallback/EpdFeignClientFallbackFactory.java +++ b/cs-system/cs-system-api/src/main/java/com/njcn/system/api/fallback/EpdFeignClientFallbackFactory.java @@ -5,12 +5,15 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.system.api.EpdFeignClient; import com.njcn.system.pojo.param.EleEpdPqdParam; +import com.njcn.system.pojo.po.EleEpdPqd; import com.njcn.system.utils.CsSystemEnumUtil; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import java.util.List; +import java.util.Map; +import java.util.Set; /** * 类的介绍: @@ -37,6 +40,18 @@ public class EpdFeignClientFallbackFactory implements FallbackFactory> dictMarkByDataType(String dataType) { + log.error("{}异常,降级处理,异常为:{}","通过数据模型获取字典数据组装唯一标识",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> addEvt(List eleEpdPqdParam) { + log.error("{}异常,降级处理,异常为:{}","录入事件字典",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/cs-system/cs-system-api/src/main/java/com/njcn/system/pojo/param/EleEpdPqdParam.java b/cs-system/cs-system-api/src/main/java/com/njcn/system/pojo/param/EleEpdPqdParam.java index cac5f6a..d7bb18b 100644 --- a/cs-system/cs-system-api/src/main/java/com/njcn/system/pojo/param/EleEpdPqdParam.java +++ b/cs-system/cs-system-api/src/main/java/com/njcn/system/pojo/param/EleEpdPqdParam.java @@ -78,7 +78,7 @@ public class EleEpdPqdParam { private Integer curSts; @ApiModelProperty(value = "是否可远程控制||是否可修改||是否支持自动控制") - private String ctlSts; + private Integer ctlSts; @ApiModelProperty(value = "设置最大值") private Integer maxNum; diff --git a/cs-system/cs-system-api/src/main/java/com/njcn/system/pojo/po/EleEpdPqd.java b/cs-system/cs-system-api/src/main/java/com/njcn/system/pojo/po/EleEpdPqd.java index 7651cf5..62a28c5 100644 --- a/cs-system/cs-system-api/src/main/java/com/njcn/system/pojo/po/EleEpdPqd.java +++ b/cs-system/cs-system-api/src/main/java/com/njcn/system/pojo/po/EleEpdPqd.java @@ -78,7 +78,6 @@ public class EleEpdPqd { /** * 数据分类,唯一类别 */ - @MppMultiId(value = "class_id") private String classId; /** @@ -125,7 +124,7 @@ public class EleEpdPqd { /** * do的是否可远程控制 1:是 0:否; parm的是否可修改 1:是 0:否; ctrl的是否支持自动控制 1:是 0:否 */ - private String ctlSts; + private Integer ctlSts; /** * 设置最大值 diff --git a/cs-system/cs-system-boot/src/main/java/com/njcn/system/controller/EleEpdPqdController.java b/cs-system/cs-system-boot/src/main/java/com/njcn/system/controller/EleEpdPqdController.java index cf1237f..b45196a 100644 --- a/cs-system/cs-system-boot/src/main/java/com/njcn/system/controller/EleEpdPqdController.java +++ b/cs-system/cs-system-boot/src/main/java/com/njcn/system/controller/EleEpdPqdController.java @@ -16,12 +16,17 @@ import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; +import jdk.nashorn.internal.ir.annotations.Ignore; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.annotations.Param; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; import java.util.List; +import java.util.Map; +import java.util.Set; /** *

@@ -45,6 +50,7 @@ public class EleEpdPqdController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @ApiOperation("根据模板录入字典数据") @ApiImplicitParam(name = "eleEpdPqdParam", value = "模板的字典数据", required = true) + @ApiIgnore public HttpResult addByModel(@RequestBody @Validated List eleEpdPqdParam){ log.info("根据模板录入字典数据"); String methodDescribe = getMethodDescribe("addByModel"); @@ -55,7 +61,7 @@ public class EleEpdPqdController extends BaseController { @PostMapping("/add") @OperateInfo(info = LogEnum.BUSINESS_COMMON) - @ApiOperation("录入字典数据") + @ApiOperation("新增字典数据") @ApiImplicitParam(name = "eleEpdPqdParam", value = "字典数据", required = true) public HttpResult add(@RequestBody @Validated EleEpdPqdParam eleEpdPqdParam){ log.info("录入字典数据"); @@ -100,6 +106,29 @@ public class EleEpdPqdController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @PostMapping("/dictMarkByDataType") + @ApiOperation("字典数据组装唯一标识") + @ApiImplicitParam(name = "dataType", value = "数据模型", required = true) + @ApiIgnore + public HttpResult> dictMarkByDataType(@RequestParam("dataType") @Validated String dataType) { + String methodDescribe = getMethodDescribe("dictMark"); + List list = eleEpdPqdService.dictMarkByDataType(dataType); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + @PostMapping("/addEvt") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("事件录入字典数据") + @ApiImplicitParam(name = "eleEpdPqdParam", value = "模板的字典数据", required = true) + @ApiIgnore + public HttpResult> addEvt(@RequestBody @Validated List eleEpdPqdParam){ + log.info("根据模板录入字典数据"); + String methodDescribe = getMethodDescribe("addEvt"); + LogUtil.njcnDebug(log, "{},模板当前解析字典数据为:", methodDescribe); + Map map = eleEpdPqdService.saveEvt(eleEpdPqdParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, map, methodDescribe); + } } diff --git a/cs-system/cs-system-boot/src/main/java/com/njcn/system/service/IEleEpdPqdService.java b/cs-system/cs-system-boot/src/main/java/com/njcn/system/service/IEleEpdPqdService.java index 3335870..06d6899 100644 --- a/cs-system/cs-system-boot/src/main/java/com/njcn/system/service/IEleEpdPqdService.java +++ b/cs-system/cs-system-boot/src/main/java/com/njcn/system/service/IEleEpdPqdService.java @@ -2,9 +2,12 @@ package com.njcn.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.system.pojo.param.EleEpdPqdParam; +import com.njcn.system.pojo.po.EleEpdPqd; import com.njcn.system.pojo.vo.EleEpdPqdVO; import java.util.List; +import java.util.Map; +import java.util.Set; /** *

@@ -47,4 +50,15 @@ public interface IEleEpdPqdService { */ Page eleEpdPqdList(EleEpdPqdParam.EleEpdPqdQueryParam queryParam); + /** + * 查询所有字典数据组成唯一标识,用于验证字典是否重复 + * @return + */ + List dictMarkByDataType(String dataType); + + /** + * 存储事件的字典数据 + * @param eleEpdPqdParam + */ + Map saveEvt(List eleEpdPqdParam); } diff --git a/cs-system/cs-system-boot/src/main/java/com/njcn/system/service/impl/EleEpdPqdServiceImpl.java b/cs-system/cs-system-boot/src/main/java/com/njcn/system/service/impl/EleEpdPqdServiceImpl.java index 9820bf2..1f7eee1 100644 --- a/cs-system/cs-system-boot/src/main/java/com/njcn/system/service/impl/EleEpdPqdServiceImpl.java +++ b/cs-system/cs-system-boot/src/main/java/com/njcn/system/service/impl/EleEpdPqdServiceImpl.java @@ -15,10 +15,11 @@ import com.njcn.system.pojo.po.EleEpdPqd; import com.njcn.system.pojo.vo.EleEpdPqdVO; import com.njcn.system.service.IEleEpdPqdService; import com.njcn.web.factory.PageFactory; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -37,9 +38,12 @@ public class EleEpdPqdServiceImpl extends MppServiceImpl list = eleEpdPqdParam.stream().map(item->{ EleEpdPqd eleEpdPqd = new EleEpdPqd(); BeanUtils.copyProperties(item,eleEpdPqd); + if (StringUtils.isBlank(item.getType())){ + eleEpdPqd.setType(""); + } return eleEpdPqd; }).collect(Collectors.toList()); - this.saveOrUpdateBatchByMultiId(list,1000); + this.saveBatch(list,1000); } @Override @@ -86,6 +90,35 @@ public class EleEpdPqdServiceImpl extends MppServiceImpl(PageFactory.getPageNum(queryParam), PageFactory.getPageSize(queryParam)), queryWrapper); } + @Override + public List dictMarkByDataType(String dataType) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(EleEpdPqd::getDataType,dataType); + return this.baseMapper.selectList(lambdaQueryWrapper); + } + + @Override + public Map saveEvt(List eleEpdPqdParam) { + List list = eleEpdPqdParam.stream().map(item->{ + EleEpdPqd eleEpdPqd = new EleEpdPqd(); + BeanUtils.copyProperties(item,eleEpdPqd); + if (StringUtils.isBlank(item.getType())){ + eleEpdPqd.setType(""); + } + return eleEpdPqd; + }).collect(Collectors.toList()); + this.saveBatch(list,1000); + List nameList = eleEpdPqdParam.stream().map(EleEpdPqdParam::getName).collect(Collectors.toList()); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper(); + lambdaQueryWrapper.in(EleEpdPqd::getName,nameList); + List list1 = this.baseMapper.selectList(lambdaQueryWrapper); + Map map = new HashMap<>(); + list1.forEach(item->{ + map.put(item.getName(),item.getId()); + }); + return map; + } + /** * 校验参数, * 1.检查是否存在相同名称的菜单