diff --git a/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/domain/Enterprise.java b/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/domain/Enterprise.java new file mode 100644 index 0000000..30f4ae1 --- /dev/null +++ b/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/domain/Enterprise.java @@ -0,0 +1,81 @@ +package com.muyu.common.goods.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.Data; + +import java.util.Date; + +/** + * 企业对象 enterprise + * + * @author muyu + * @date 2024-05-26 + */ +@Data +public class Enterprise extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 企业名称 */ + @Excel(name = "企业名称") + private String enterpriseName; + + /** 法定代表人 */ + @Excel(name = "法定代表人") + private String legalPerson; + + /** 经营执照凭证号码 */ + @Excel(name = "经营执照凭证号码") + private String businessLincenseNumber; + + /** 企业成立日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "企业成立日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date estabinessDate; + + /** 经营范围 */ + @Excel(name = "经营范围") + private String businessScope; + + /** 注册地址 */ + @Excel(name = "注册地址") + private String address; + + /** 企业联系方式 */ + @Excel(name = "企业联系方式") + private String contactPhone; + + /** 公司邮箱 */ + @Excel(name = "公司邮箱") + private String email; + + /** 企业当前状态(正常运营/负载运营) */ + @Excel(name = "企业当前状态(正常运营/负载运营)") + private String status; + + /** 企业入驻平台日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "企业入驻平台日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date registrationDate; + + /** 是否认证0/1 */ + @Excel(name = "是否认证0/1") + private Integer authentication; + + /** 认证时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "认证时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date authenticationDate; + + /** 服务等级0/1/2 */ + @Excel(name = "服务等级0/1/2") + private Integer serviceLevel; + + @Excel(name = "定制服务") + private String customized; +} diff --git a/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/RemoteSourcesService.java b/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/RemoteSourcesService.java index 5a089aa..0c365cf 100644 --- a/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/RemoteSourcesService.java +++ b/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/RemoteSourcesService.java @@ -2,6 +2,7 @@ package com.muyu.common.goods.remote; import com.muyu.common.core.constant.ServiceNameConstants; import com.muyu.common.core.domain.Result; +import com.muyu.common.goods.domain.Enterprise; import com.muyu.common.goods.domain.Sources; import com.muyu.common.goods.remote.factory.RemoteSourcesFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; @@ -22,4 +23,11 @@ public interface RemoteSourcesService { */ @PostMapping("enterprise/listSources") public Result> listSources(); + + /** + * 企业详情 + * @return + */ + @PostMapping("enterprise/lists") + public Result> lists(); } diff --git a/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/factory/RemoteSourcesFallbackFactory.java b/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/factory/RemoteSourcesFallbackFactory.java index eb47b29..5a519c9 100644 --- a/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/factory/RemoteSourcesFallbackFactory.java +++ b/muyu-common/muyu-common-goods/src/main/java/com/muyu/common/goods/remote/factory/RemoteSourcesFallbackFactory.java @@ -1,6 +1,7 @@ package com.muyu.common.goods.remote.factory; import com.muyu.common.core.domain.Result; +import com.muyu.common.goods.domain.Enterprise; import com.muyu.common.goods.domain.Sources; import com.muyu.common.goods.remote.RemoteSourcesService; import org.springframework.cloud.openfeign.FallbackFactory; @@ -17,6 +18,11 @@ public class RemoteSourcesFallbackFactory implements FallbackFactory> listSources() { return Result.error(cause.getMessage()); } + + @Override + public Result> lists() { + return Result.error(cause.getMessage()); + } }; } } diff --git a/muyu-modules/muyu-business/muyu-business-client/src/main/java/muyu/business/client/config/runner/BusinessConfigRunner.java b/muyu-modules/muyu-business/muyu-business-client/src/main/java/muyu/business/client/config/runner/BusinessConfigRunner.java index 451aeb6..bd44f4b 100644 --- a/muyu-modules/muyu-business/muyu-business-client/src/main/java/muyu/business/client/config/runner/BusinessConfigRunner.java +++ b/muyu-modules/muyu-business/muyu-business-client/src/main/java/muyu/business/client/config/runner/BusinessConfigRunner.java @@ -25,15 +25,11 @@ public class BusinessConfigRunner implements ApplicationRunner { public void run(ApplicationArguments args) throws Exception { //初始化 Result> lists = remoteUserService.lists(); - log.info("获取:{}",lists); List data = lists.getData(); for (SysUser datum : data) { if (datum.getFirm()!= null){ SystemUserConfig.index(datum); } } - - HashMap ser = SystemUserConfig.ser(); - log.info("ser:{}",ser); } } diff --git a/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/Select/BreakdownSel.java b/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/Select/BreakdownSel.java new file mode 100644 index 0000000..12acc3c --- /dev/null +++ b/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/Select/BreakdownSel.java @@ -0,0 +1,26 @@ +package com.business.common.Select; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class BreakdownSel { + /** + * 故障类型 + */ + private String faultCode; + /** + * 多 + */ + private Date faultStartTime; + /** + * 少 + */ + private Date faultEndTime; + +} diff --git a/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/domain/Breakdown.java b/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/domain/Breakdown.java new file mode 100644 index 0000000..591b373 --- /dev/null +++ b/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/domain/Breakdown.java @@ -0,0 +1,43 @@ +package com.business.common.domain; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class Breakdown { + /** + * 主键 + */ + private Long id; + /** + * 故障码 + */ + private String faultCode; + /** + * 车辆标识 + */ + private String vin; + /** + * 故障状态 + */ + private Integer faultState; + /** + * 故障产生时间 + */ + private Date faultStartTime; + /** + * 故障解决时间 + */ + private Date faultEndTime; + /** + * 故障级别 + */ + private Integer faultLevel; +} diff --git a/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/domain/FaultCode.java b/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/domain/FaultCode.java new file mode 100644 index 0000000..b778d2c --- /dev/null +++ b/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/domain/FaultCode.java @@ -0,0 +1,33 @@ +package com.business.common.domain; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class FaultCode { + /** + * 主键 + */ + private Long id; + /** + * 故障码 + */ + private String faultCode; + /** + * 故障标签 + */ + private String faultLabel; + /** + * 故障位 + */ + private Long faultBit; + /** + * 故障值 + */ + private Long faultValue; +} diff --git a/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/domain/Sources.java b/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/domain/Sources.java new file mode 100644 index 0000000..5f46881 --- /dev/null +++ b/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/domain/Sources.java @@ -0,0 +1,41 @@ +package com.business.common.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@SuperBuilder +public class Sources { + /** + * 主键 + */ + private Long id; + /** + * 企业id + */ + private Long enterpriseId; + /** + * 名称 + */ + private String name; + /** + * 连接库 + */ + private String url; + /** + * ip + */ + private String ip; + /** + * 用户名 + */ + private String username; + /** + * 密码 + */ + private String password; +} diff --git a/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/psvm/FaultInfo.java b/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/psvm/FaultInfo.java new file mode 100644 index 0000000..7567819 --- /dev/null +++ b/muyu-modules/muyu-business/muyu-business-common/src/main/java/com/business/common/psvm/FaultInfo.java @@ -0,0 +1,36 @@ +package com.business.common.psvm; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; + +/** + * 故障信息 + * @ClassName FaultInfo + * @Author GuanTieLin + * @Date 2024/6/20 16:36 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class FaultInfo { + + /** + * 车辆唯一标识 + */ + private String vin; + + /** + * 故障编码 + */ + private String faultCode; + + /** + * 时间 + */ + private Date time; +} diff --git a/muyu-modules/muyu-business/muyu-business-kafka/pom.xml b/muyu-modules/muyu-business/muyu-business-kafka/pom.xml deleted file mode 100644 index 5d0aa0f..0000000 --- a/muyu-modules/muyu-business/muyu-business-kafka/pom.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 4.0.0 - - com.muyu - muyu - 3.6.3 - ../../../pom.xml - - - muyu-business-kafka - - - 17 - 17 - UTF-8 - - - - - com.muyu - muyu-business-common - 3.6.3 - - - - org.springframework.kafka - spring-kafka - - - - - - - diff --git a/muyu-modules/muyu-business/muyu-business-kafka/src/main/java/muyu/business/kafka/common/KafkaMonitor.java b/muyu-modules/muyu-business/muyu-business-kafka/src/main/java/muyu/business/kafka/common/KafkaMonitor.java deleted file mode 100644 index 0a1934a..0000000 --- a/muyu-modules/muyu-business/muyu-business-kafka/src/main/java/muyu/business/kafka/common/KafkaMonitor.java +++ /dev/null @@ -1,13 +0,0 @@ -package muyu.business.kafka.common; - -import org.springframework.stereotype.Component; -import org.springframework.kafka.annotation.KafkaListener; - -@Component -public class KafkaMonitor { - - @KafkaListener(topics = "${kafka.topic}") - public void receive(String message){ - System.out.println("监听到:" + message); - } -} diff --git a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/client/MqConsumer.java b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/client/MqConsumer.java index 1095f20..bcf2322 100644 --- a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/client/MqConsumer.java +++ b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/client/MqConsumer.java @@ -1,16 +1,20 @@ package com.muyu.goods.client; +import org.springframework.amqp.core.AmqpAdmin; import org.springframework.amqp.core.ExchangeTypes; import org.springframework.amqp.core.FanoutExchange; import org.springframework.amqp.rabbit.annotation.Exchange; import org.springframework.amqp.rabbit.annotation.Queue; import org.springframework.amqp.rabbit.annotation.QueueBinding; import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; @Component public class MqConsumer { + @Autowired + private AmqpAdmin amqpAdmin; // @RabbitListener(queuesToDeclare = {@Queue("vehicle.event")}) @@ -19,6 +23,7 @@ public class MqConsumer { exchange = @Exchange(value = "vehicle.event", type = ExchangeTypes.FANOUT))}) public void handleMessage(String message) { System.out.println("Received message: " + message); + amqpAdmin.deleteQueue("vehicle.event"); // 在这里处理接收到的消息 } } diff --git a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/controller/BreakdownController.java b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/controller/BreakdownController.java new file mode 100644 index 0000000..5e970f7 --- /dev/null +++ b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/controller/BreakdownController.java @@ -0,0 +1,80 @@ +package com.muyu.goods.controller; + +import com.business.common.Select.BreakdownSel; +import com.business.common.domain.Breakdown; +import com.business.common.domain.FaultCode; +import com.business.common.domain.Sources; +import com.business.common.psvm.FaultInfo; +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.core.web.page.TableDataInfo; +import com.muyu.goods.service.IBreakdownService; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +@RestController +@Log4j2 +@RequestMapping("breakdown") +public class BreakdownController extends BaseController { + @Autowired + private IBreakdownService service; + + /** + * 分页 + * @return + */ + @GetMapping("/list") + public Result> list(BreakdownSel breakdownSel) + { + startPage(); + List list = service.selectBreakdownList(breakdownSel); + return getDataTable(list); + } + + /** + * 添加新的故障记录 + * @param faultInfo + * @return + */ + @PostMapping("indexBreakDown") + public Result indexBreakDown(@RequestBody FaultInfo faultInfo) { + return success(service.indexBreakDown(faultInfo)); + } + + /** + * 故障解决记录 + * @param faultInfo + * @return + */ + @PostMapping("updateBreakDown") + public Result updateBreakDown(@RequestBody FaultInfo faultInfo) { + return success(service.updateBreakDown(faultInfo)); + } + + /** + * 全部故障值 + * @return + */ + @PostMapping("listFaultCode") + public Result> listFaultCode() { + return success(service.listFaultCode()); + } + + @PostMapping("selectVinEnterprise") + public Result selectVinEnterprise(@RequestParam String vin) { + return success(service.selectVinEnterprise(vin)); + } + + /** + * 图形化 + * @return + */ + @PostMapping("pies") + public Result>> pies() { + return success(service.pies()); + } +} diff --git a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/controller/MapController.java b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/controller/MapController.java index 1790ccc..df01fe0 100644 --- a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/controller/MapController.java +++ b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/controller/MapController.java @@ -45,19 +45,10 @@ public class MapController extends BaseController { * @return */ @PostMapping("selectFenceGroupsById/{carId}") - public Result> selectFenceGroupsById(@PathVariable Long carId){ + public Result>> selectFenceGroupsById(@PathVariable Long carId){ return success(iMapService.selectFenceGroupsById(carId)); } - /** - * 查看围栏组绑定围栏 - * @param groupsId - * @return - */ - @PostMapping("selectGroupsFenceDevById/{groupsId}") - public Result> selectGroupsFenceDevById(@PathVariable Long groupsId){ - return success(iMapService.selectGroupsFenceDevById(groupsId)); - } /** * 添加新的围栏组 diff --git a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/mapper/BreakdownMapper.java b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/mapper/BreakdownMapper.java new file mode 100644 index 0000000..0e80dda --- /dev/null +++ b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/mapper/BreakdownMapper.java @@ -0,0 +1,25 @@ +package com.muyu.goods.mapper; + +import com.business.common.Select.BreakdownSel; +import com.business.common.domain.Breakdown; +import com.business.common.domain.Car; +import com.business.common.domain.FaultCode; +import com.business.common.psvm.FaultInfo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +public interface BreakdownMapper { + Integer indexBreakDown(FaultInfo faultInfo); + + Integer updateBreakDown(FaultInfo faultInfo); + + List listFaultCode(); + + Car selectVinCar(@Param("vin") String vin); + + List selectBreakdownList(BreakdownSel breakdownSel); + + List> pies(); +} diff --git a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/monitor/mq/breakdownMqConsumer.java b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/monitor/mq/breakdownMqConsumer.java new file mode 100644 index 0000000..7b03e10 --- /dev/null +++ b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/monitor/mq/breakdownMqConsumer.java @@ -0,0 +1,54 @@ +package com.muyu.goods.monitor.mq; + +import com.alibaba.fastjson2.JSONObject; +import com.business.common.psvm.FaultInfo; +import com.muyu.goods.controller.BreakdownController; +import lombok.extern.log4j.Log4j2; +import org.springframework.amqp.core.AmqpAdmin; +import org.springframework.amqp.core.ExchangeTypes; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +@Log4j2 +public class breakdownMqConsumer { + @Autowired + private AmqpAdmin amqpAdmin; + @Autowired + private BreakdownController breakdownController; + + /** + * 处理发生的故障 + * @param message + */ + //监听交换机 Queue(队列名) @Exchange(value = "交换机名称", type = ExchangeTypes.FANOUT) + @RabbitListener(bindings = {@QueueBinding(value = @Queue("fault_start_message"), + exchange = @Exchange(value = "fault.message", type = ExchangeTypes.FANOUT))}) + public void failureOccurrence(String message) { + FaultInfo faultInfo = JSONObject.parseObject(message, FaultInfo.class); + log.info("获取存在:{}",faultInfo); + log.info("获取存在:{}",message); +// breakdownController.indexBreakDown(faultInfo); + amqpAdmin.deleteQueue("fault_start_message"); + // 在这里处理接收到的消息 + } + + /** + * 处理解决的故障 + * @param message + */ + @RabbitListener(bindings = {@QueueBinding(value = @Queue("fault_end_message"), + exchange = @Exchange(value = "fault.message", type = ExchangeTypes.FANOUT))}) + public void failureShooting(String message) { + FaultInfo faultInfo = JSONObject.parseObject(message, FaultInfo.class); + log.info("解决:{}",message); + log.info("解决:{}",faultInfo); +// breakdownController.updateBreakDown(faultInfo); + amqpAdmin.deleteQueue("fault_end_message"); + // 在这里处理接收到的消息 + } +} diff --git a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/IBreakdownService.java b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/IBreakdownService.java new file mode 100644 index 0000000..52bb61e --- /dev/null +++ b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/IBreakdownService.java @@ -0,0 +1,41 @@ +package com.muyu.goods.service; + +import com.business.common.Select.BreakdownSel; +import com.business.common.domain.Breakdown; +import com.business.common.domain.FaultCode; +import com.business.common.domain.Sources; +import com.business.common.psvm.FaultInfo; + +import java.util.List; +import java.util.Map; + +public interface IBreakdownService { + /** + * 故障记录 + * @return + */ + List selectBreakdownList(BreakdownSel breakdownSel); + /** + * 记录故障发生 + * @param faultInfo + * @return + */ + Integer indexBreakDown(FaultInfo faultInfo); + + /** + * 记录故障解决 + * @param faultInfo + * @return + */ + Integer updateBreakDown(FaultInfo faultInfo); + + List listFaultCode(); + + Sources selectVinEnterprise(String vin); + + /** + * 图形化 + * @return + */ + List> pies(); +} diff --git a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/IMapService.java b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/IMapService.java index 44e2d93..6973e16 100644 --- a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/IMapService.java +++ b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/IMapService.java @@ -7,6 +7,7 @@ import com.business.common.middle.GroupFenceDev; import com.business.common.domain.Fence; import com.business.common.domain.FenceGroups; import com.business.common.psvm.Pences; +import org.springframework.web.bind.annotation.PathVariable; import java.util.List; @@ -16,9 +17,8 @@ public interface IMapService { List selectFence(); - List selectFenceGroupsById(Long carId); + List> selectFenceGroupsById(Long carId); - List selectGroupsFenceDevById(Long groupsId); String getSel(Pences list); String deleteFence(Long fenceId); diff --git a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/impl/BreakdownService.java b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/impl/BreakdownService.java new file mode 100644 index 0000000..3386dcc --- /dev/null +++ b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/impl/BreakdownService.java @@ -0,0 +1,84 @@ +package com.muyu.goods.service.impl; + +import com.business.common.Select.BreakdownSel; +import com.business.common.domain.Breakdown; +import com.business.common.domain.Car; +import com.business.common.domain.FaultCode; +import com.business.common.domain.Sources; +import com.business.common.psvm.FaultInfo; +import com.muyu.common.goods.domain.Enterprise; +import com.muyu.common.goods.remote.RemoteSourcesService; +import com.muyu.common.system.domain.SysUser; +import com.muyu.common.system.remote.RemoteUserService; +import com.muyu.goods.mapper.BreakdownMapper; +import com.muyu.goods.service.IBreakdownService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class BreakdownService implements IBreakdownService { + @Autowired + private BreakdownMapper mapper; + @Autowired + private RemoteUserService remoteUserService; + @Autowired + private RemoteSourcesService remoteSourcesService; + + /** + * 故障记录 + * @param breakdownSel + * @return + */ + @Override + public List selectBreakdownList(BreakdownSel breakdownSel) { + return mapper.selectBreakdownList(breakdownSel); + } + + @Override + public Integer indexBreakDown(FaultInfo faultInfo) { + return mapper.indexBreakDown(faultInfo); + } + + @Override + public Integer updateBreakDown(FaultInfo faultInfo) { + return mapper.updateBreakDown(faultInfo); + } + + @Override + public List listFaultCode() { + return mapper.listFaultCode(); + } + + @Override + public Sources selectVinEnterprise(String vin) { + // 查询车辆 + Car car = mapper.selectVinCar(vin); + //根据车辆管理人查询员工 + List userList = remoteUserService.lists().getData(); + SysUser sysUser = userList.stream().filter(firm -> firm.getFirm() == car.getOwnerId()).collect(Collectors.toList()).get(0); + //根据员工查询到企业 + List enterpriseList = remoteSourcesService.lists().getData(); + Enterprise enterprise1 = enterpriseList.stream().filter(enterprise -> enterprise.getId() == sysUser.getFirm()).collect(Collectors.toList()).get(0); + //根据企业查询到企业数据源 + com.muyu.common.goods.domain.Sources sources = remoteSourcesService.listSources().getData().stream().filter(sour -> sour.getEnterpriseId() == enterprise1.getId()).collect(Collectors.toList()).get(0); + Sources sources1 = Sources.builder() + .id(sources.getId()) + .enterpriseId(sources.getEnterpriseId()) + .name(sources.getName()) + .url(sources.getUrl()) + .ip(sources.getIp()) + .username(sources.getUsername()) + .password(sources.getPassword()) + .build(); + return sources1; + } + + @Override + public List> pies() { + return mapper.pies(); + } +} diff --git a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/impl/MapService.java b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/impl/MapService.java index 9257a80..b89acd2 100644 --- a/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/impl/MapService.java +++ b/muyu-modules/muyu-business/muyu-business-server/src/main/java/com/muyu/goods/service/impl/MapService.java @@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -48,17 +49,16 @@ public class MapService implements IMapService { * @return */ @Override - public List selectFenceGroupsById(Long carId) { + public List> selectFenceGroupsById(Long carId) { List carGroupsDevs = selectCarGroups(); List carGroupsDevList = carGroupsDevs.stream().filter(group -> group.getCarId() == carId).collect(Collectors.toList()); - return carGroupsDevList; - } - - @Override - public List selectGroupsFenceDevById(Long groupsId) { + List> listList = new ArrayList<>(); List groupFenceDevs = selectGroupFence(); - List groupFenceDevList = groupFenceDevs.stream().filter(group -> group.getGroupsId() == groupsId).collect(Collectors.toList()); - return groupFenceDevList; + for (CarGroupsDev carGroupsDev : carGroupsDevList) { + List groupFenceDevList = groupFenceDevs.stream().filter(group -> group.getGroupsId() == carGroupsDev.getGroupsId()).collect(Collectors.toList()); + listList.add(groupFenceDevList); + } + return listList; } /** diff --git a/muyu-modules/muyu-business/muyu-business-server/src/main/resources/mapper/rule/BreakdownMapper.xml b/muyu-modules/muyu-business/muyu-business-server/src/main/resources/mapper/rule/BreakdownMapper.xml new file mode 100644 index 0000000..162b700 --- /dev/null +++ b/muyu-modules/muyu-business/muyu-business-server/src/main/resources/mapper/rule/BreakdownMapper.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + select id, fault_code, vin, fault_state, fault_start_time, fault_end_time, fault_level from breakdown + + + select id, fault_code, fault_label, fault_bit, fault_value from fault_code; + + + insert into breakdown + + fault_code, + vin, + fault_state, + fault_start_time, + fault_level, + + + #{faultCode}, + #{vin}, + 0, + #{time}, + 1, + + + + update breakdown + set fault_end_time = #{time}, + fault_state = 1 + where + fault_code = #{faultCode} and + vin = #{vin} and + fault_end_time = null + + + + + + diff --git a/muyu-modules/muyu-business/pom.xml b/muyu-modules/muyu-business/pom.xml index 6d0cee4..974736e 100644 --- a/muyu-modules/muyu-business/pom.xml +++ b/muyu-modules/muyu-business/pom.xml @@ -16,7 +16,6 @@ muyu-business-common muyu-business-server muyu-business-client - muyu-business-kafka